我有以下代码查看操作系统系统并根据构建类型返回它们指向的 NTP 服务器。
但是,它在匹配 7601 (Windows Server 2008 R2) 时运行良好 - 但是,对于 Windows Server 2003 服务器,我总是会收到错误消息。对于 Windows Server 2003 服务器,您需要读取注册表项。
如果我在服务器上本地对注册表项进行相同的查询,它可以正常工作...尽管它会报告其他内容以及注册表项..
这是错误:
NTPSource Server
--------- ------
The following error occurred: The procedure number is ou... SERV1
这是代码:
$servers = @('SERV1','SERV2')
$version = Get-WmiObject Win32_OperatingSystem -computer $servers | select buildnumber
foreach ($server in $servers){
if ($version -match '7601')
{
$ntps = w32tm /query /computer:$server /source
new-object psobject -property @{
Server = $Server
NTPSource = $ntps
}
}
elseif($version -match '3790')
{
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Parameters' -Name Type
}
}