Pull to refresh

Как найти включенные компьютеры в сети с AD средствами PowerShell v2

Всем привет


Недавно передо мной стал вопрос, о поиске в сети офиса, компьютеров работающих после окончания рабочего дня(что крайне не приветствуется руководством). Решать этот вопрос я решил средствами powershell(так как давно хотел разобраться с этим инструментом), как оказалось в этом нет ничего трудного, достаточно провести немного времени за изучением статей и форумов. В итоге у меня получился вот такой скрипт:



clear
import-Module ActiveDirectory
Get-ADComputer -filter * -SearchBase «OU=ваша OU»|ft name -AutoSize > C:\comp.txt
$comps = get-content C:\comp.txt
$file = New-Item -itemtype file «C:\ON.txt» -Force
foreach ($comp in $comps)
{$ON = Get-WmiObject Win32_PingStatus -filter «Address=»"$comp"""
if ($ON.StatusCode -eq 0) {Add-Content $file "$comp в сети"}
}

Данный скриптик достает из AD, из нужной нам OU список компов, записывает их в файл, затем берет из этого файла и проверяет доступность поочередно, и если комп в сети то записывает в другой файлик.(вместо файла ля хранения списка компов можно использовать переменную но мне было проще сделать так(иногда бывает нужен список компов)). А дальше достаточно поотправлять всем включенным компьютерам сигнал выключения, позже добавлю как это сделать. Надеюсь моя небольшая заметка кому нибудь пригодиться.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.