Иногда, работая в Powershell, требуется по-быстрому "пройтись" по компьютерам в домене и выполнить какой-нибудь удаленный код.
Связка с фирменной утилитой psexec здесь прекрасно работает, если недоступно удаленное управление машинами через Powershell, к тому же через psexec выполнение команд происходит намного быстрее, ввиду совершенно другой технологии подключения к удаленному компьютеру.
Например, для очистки DNS-кэша удаленных компьютеров я использую такой код.
cls
$comps = Get-ADComputer -Filter {name -like '*-W*'} | sort name
$comps | % {
$cn = $_.dnshostname
$count = 1
$timeout = 1000
$filter = 'Address="{0}" and Timeout={1}' -f $cn, $timeout
if (Get-WmiObject -Class Win32_PingStatus -Filter $filter) {
Write-Host $cn -ForegroundColor Magenta
cmd /c "psexec -s -d \\$cn ipconfig /flushdns" | out-null
}
}
Для обновления групповых политик соответственно меняем строчку на
cmd /c "psexec -s -d \\$cn gpupdate /force" | out-null
и так далее, возможны любые команды.
Обратите внимание, что перед выполнением команды сначала проверяется доступность компьютера с помощью WMI пинг-запроса.
Связка с фирменной утилитой psexec здесь прекрасно работает, если недоступно удаленное управление машинами через Powershell, к тому же через psexec выполнение команд происходит намного быстрее, ввиду совершенно другой технологии подключения к удаленному компьютеру.
Например, для очистки DNS-кэша удаленных компьютеров я использую такой код.
cls
$comps = Get-ADComputer -Filter {name -like '*-W*'} | sort name
$comps | % {
$cn = $_.dnshostname
$count = 1
$timeout = 1000
$filter = 'Address="{0}" and Timeout={1}' -f $cn, $timeout
if (Get-WmiObject -Class Win32_PingStatus -Filter $filter) {
Write-Host $cn -ForegroundColor Magenta
cmd /c "psexec -s -d \\$cn ipconfig /flushdns" | out-null
}
}
Для обновления групповых политик соответственно меняем строчку на
cmd /c "psexec -s -d \\$cn gpupdate /force" | out-null
и так далее, возможны любые команды.
Обратите внимание, что перед выполнением команды сначала проверяется доступность компьютера с помощью WMI пинг-запроса.
Комментариев нет:
Отправить комментарий