Finding 'Servers' in Active Directory
Hyena uses the Windows Browser system to list the ‘Servers’ node for a domain. If an error occurs when trying to view the ‘Servers’ node for a domain, or if the list is incomplete, then the problem is due to a non-functioning browser system. For an overview of how the browser system works, see here:
(Hyena uses the Windows API ‘NetServerEnum’ to get a list of the ‘servers’ for the Servers node under a domain)
Over the years, Microsoft has made changes in Windows that can cause the browser service to no longer function. These changes include eliminating Netbios when possible and disabling the browser service. It might be possible to temporarily fix this problem by ensuring the browser service is running on all domain controllers and servers and the local workstation. However, due to the complexity of the way the browser protocol works, it is advisable to find another method to get a list of the ‘Servers’. Future versions of Hyena will use this same method, as an option, to get around this issue.
SystemTools gets numerous support requests asking why we can’t ‘fix’ this issue. The problem is that there isn’t any method to ask Windows or the network for a list of ‘servers’. The first problem is defining what a server is. Is a domain controller a server ? Is a print server a server ? Is a workstation offering a shared copy of a file a server ?
Hyena does not use any agents or services installed on any computers in order to perform any functions; Hyena is dependent entirely on functions built into Windows and Active Directory for its operation. When a new server is brought online for the first time, there is not a way Hyena or any Windows application can ask “What is the name of the new server and what o/s is it running ?”.
If a list of ‘servers’ is desired, and assuming the Windows browse list is not functional, the only place to get a list of any network object in Windows is from Active Directory. There are essentially two ways to get this list in Hyena using Active Directory (AD):
Place the servers into their own OU structure.
By default, AD will place all new computers, including servers, into the ‘Computers’ container. Any computer can be moved into another AD organizational unit (OU). By creating your own OU structure, even with multiple sub-OUs under a main ‘Servers’ OU, you can simply query the contents of the OU and get an instant list of the objects that it contains.
If this approach is taken, a custom query should be created to show the relevant attributes related to computers, such as the operating system, service pack, and other computer-related attributes. For more information on creating your own AD query, watch this video:
- Create the query for the ‘Container/OU Contents’ query type. Then, right click on any OU containing a server object, select Query Active Directory and execute the custom Server query.
- If using multiple sub-OUs under a main Servers OU, to list all servers in all sub-OUs when the main Servers OU is selected, enable the ‘Search Entire Directory’ option on the bottom of the query Properties. This will force Hyena to query the selected container and all sub-containers.
Create a filtered query to find the servers in AD.
AD can be searched and filtered for any combination of attributes. The downside of this approach is that there may be a performance penalty for such a search. If using Hyena v11.7 or later, the AD query for finding and filtering for servers is already created. To enable it, follow these steps:
- Select File > Manage Active Directory Queries
- Change the ‘Existing Queries For’ dropdown (upper right) to be “Container/OU Contents’.
- Click the ‘Query Library’ button (top right)
- Click the query named ‘Servers’ in the left query list, and click the ‘Import’ button.
- Click OK.
In Hyena, to run this query, first click on any OU in the left or right window. Multiple OUs can be selected and searched in the right window. To search the entire domain (ie all OUs), click on the main ‘Containers/OUs’ node in the left window under the domain. Right click, select Query Active Directory, then select the name of the query to find the ‘Servers’, by default named ‘Servers’.
If using Hyena versions prior to v11.7, simply create a new query (File > Manage Object View > AD Queries, change the Query Type to ‘Container/OU Contents’, then click the ‘New Query’ button). Enter a query name such as ‘Servers’ and check the box to ‘Include subcontainers and sub-OUs in Search’, then paste this line into the LDAP Search Filter:
Add attributes into the query as desired. Execute the query as discussed earlier.
Improved List Window Keyboard Search
Prior to Hyena v12.0, any automatic keyboard searches in Hyena's right window would only use the first column's data in the search. This was due to the standard behavior in Window's list control only using the control's values in the first column when performing any matching.
A new advanced setting, 'AllowExtendedListWindowKeySearch', can now be activated which will use the current sort column when performing any search using the keyboard on the list (right window) results.