PowerShell получит список сетевых машин

Я хочу написать PS script, который будет проходить через все машины, которые он может найти в локальной сети, взгляните на "SomeDirectory", и если файл существует, перезапишите его новой версией для UNC путь..

Первая проблема - получить список ПК, который вы можете найти в Windows → Сеть enter image description here

Ответ 1

Таким образом, старая школьная дорога является самой легкой.

net view

Ответ 2

Вот еще одна вещь, которую вы можете сделать (в зависимости от вашего названия ворггруппы).

([adsi]"WinNT://WORKGROUP").Children

Ответ 3

Подвижность на Shay отвечает:

([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children

Это позволит захватить имя домена или рабочей группы и использовать его для вас.

Ответ 4

И чтобы ответить на вопрос FoxDeploy еще дальше:

(([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children).Where({$_.schemaclassname -eq 'computer'})

Это позволит захватить только компьютеры в домене, а не все объекты AD (например, пользователи, организационные группы и т.д.).