使用Test-Connection
cmdlet 验证远程系统是否可访问。
cls
$server = Get-Content srvtime_list.txt
Foreach ($item in $server)
{
if (test-connection $item) {
net time \\$item | find /I "Local time" >> srvtime_result.txt
} else {
"$item not reachable" | out-file errors.txt -append
}
}
但是您可以在纯 Powershell 中执行此操作,而无需net time
使用 WMI。这是未经测试的,因为我目前没有方便的 Windows,但它至少有 90% 在那里。
cls
$server = Get-Content srvtime_list.txt
$ServerTimes = @();
Foreach ($item in $server)
{
if (test-connection $item) {
$ServerTimes += Get-WMIObject -computername $name win32_operatingsystem|select systemname,localdatetime
} else {
"$item not reachable" | out-file errors.txt -append
}
}
$ServerTimes |Out-File srvtime_result.txt