public IEnumerable <string> GetVirtAccountIds(string query = null) { _server.LoadServerSettings(); var hasPredicate = !string.IsNullOrWhiteSpace(query); try { var rawResult = hasPredicate ? _server.Query("access.virtAccounts.({0})", query) : _server.Query("access.virtAccounts.All"); var results = rawResult.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); return(results); } catch (COMException ex) { if (ex.Message.ToLowerInvariant().Contains("no match found")) { return(new string[0]); } throw; } }