通常我们在.NET查询一台计算机的站点服务器名称使用的是 ActiveDirectorySite 这个类。
1
|
[System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]
::GetComputerSite().Name
|
但是,有时候我们要查询远程计算机的站点名称,这个ActiveDirectorySite类不允许我们查询。
通常我们都是去远程计算机进入后查询注册表(这单非常麻烦)
(HKLM:\SYSTEM\CurrentControlSet\services\Netlogon\Parameters).
另一种方法是使用NLTEST的命令来进行查询或者命令第一站点的名称
1
2
3
|
PS> nltest /server:server1 /dsgetsite
Default
-First-Site-Name
The command completed successfully
|
如果命令完成我们得到的是默认的域的第一站点名称
最后包含的那个函数我们可以重复使用
1
2
3
4
5
6
7
8
9
|
function
Get-ComputerSite
(
$ComputerName
)
{
$site
= nltest /server:
$ComputerName
/dsgetsite 2>
$null
if
(
$LASTEXITCODE
-eq
0){
$site
[0] }
}
PS>
Get-ComputerSite
server1(服务器或者计算机)
Default
-First-Site-Name
|
这个非常有用,对于部署systemcenter的企业管理员,有效的远程查看相关的信息。
本文转自cantgis 51CTO博客,原文链接:http://blog.51cto.com/cantgis/1225640,如需转载请自行联系原作者