На работе возникла необходимость перевода пользователей из одного домена в другой (из старого домена под управлением WindowsNT в новый под Windows Server 2003), долгое время домены жили рядом на доверии и как следствие никто уже и не знает какие пользователи в каком домена…
Ходить по компам и смотреть никому не захотелось, поэтому родился маленький скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 | $i = 20 $ar = '192.168.0.' $d = 'NEVA' while ($i -le 255) { $comp = $ar + $i if (test-connection -computername $comp -quiet) { $temp = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $comp if ( $temp.UserName | select-string -pattern $d) { $temp.Name + ' - ' + $temp.UserName } } $i += 1} |
где: $i – начальный адрес сканируемого диапазона, $ar – сам диапазон вида «192.168.0.» (последняя точка обязательна) и $d – имя домена который нужно искать.
Скрипт сканирует диапазон адресов и выводить на экран «Имя компа – Имя пользователя», в том случае если пользователь из старого домена.