со службой запущенной от Имени, работал хорошо когда-то, вчера когда я запустил его на большее кол-во элементов, просто вешал VsCode и консоль, я его переделал, сделал катч ошибок, проверку пингов, но он все равно вешается, как починить?)
Общее кол-во эл-ов около 1400 (часть не в сети, часть без доступа winRM):
cls
$ErrorActionPreference = 'Stop'
$OUS="OU=Servers,DC=domain,DC=ru","OU=BigServers,DC=domain,DC=ru"
$Servers = $OUS| foreach {(Get-ADComputer -SearchBase $_ -Filter *).name}
$ServiceName = @{ Name = 'ServiceName'; Expression = {$_.Name}}
$ServiceDisplayname = @{ Name = 'Service DisplayName'; Expression = {$_.Caption}}
foreach ($comp in $Servers){
if (Test-Connection $comp -Count 1 -Quiet){
try {
Invoke-Command $comp -ScriptBlock {
Get-CimInstance -Class Win32_Service -filter "StartName LIKE '%My_service'" } -ErrorAction Stop |
Select-Object SystemName, $ServiceName, $ServiceDisplayname, StartMode, StartName, State | Export-Csv c:\Scripts\logonAS.csv -Append
}
catch{
$Error[0].Exception.Message
}
}
else{
write-host $comp no ping
}
}
В первый раз после 99 элементов завис, последний раз на другом сервере запустил, 93 и завис!
Как именно вешается? На какой строке?
на разных, в первый раз на 99, второй на 93, другой раз я вообще в консоль просто выводил, просто курсор мигает и все)
В скрипте у вас явно меньше 90 строк. Я спрашиваю на какой строке скрипта зависание происходит
у меня цикл форич, выше весь код есть))
ок, разбирайтесь сами
Обсуждают сегодня