Time out does not work
i use following script query service status:-
$timeout = new-timespan -seconds 20
$co = new-object system.management.connectionoptions
$eo = new-object system.management.enumerationoptions
$co.authentication = "default"
$co.timeout = $timeout
$eo.timeout = $timeout
foreach ($server in $servers)
{
$ms = new-object system.management.managementscope("\\$server\root\cimv2" , $co)
$query = new-object system.management.objectquery "select * win32_operatingsystem"
$searcher = new-object system.management.managementobjectsearcher $ms,$query,$eo
try {
$searcher.get()
}
catch {$_}
}
it works fine on pc (win 7), time-out setting not kick in when implement on monitoring server (win 2008 std) . powershell version same on both machines:-
major minor build revision
----- ----- ----- --------
2 0 -1 -1
any idea on why works on win 7, not win 2008 ?
thanks, lan
i don't know happens,but may using job.
foreach ($server in $servers) { $job = start-job -scriptblock {param ($server) get-wmiobject win32_operatingsystem -computername $server} -argumentlist $server wait-job -timeout 20 -job $job | receive-job remove-job $job -force }
Windows Server > Windows PowerShell
Comments
Post a Comment