PowerShell获取网络计算机列表

Mar*_*rty 13 powershell

我想写一个PS脚本,它将遍历它可以在本地网络上找到的所有机器,查看"SomeDirectory",如果存在文件,则用新版本的UNC路径覆盖它.

第一个问题是获取可在Windows中找到的PC列表 - >网络 在此输入图像描述

mjo*_*nor 26

Soemtimes旧学校的方式是最简单的.

net view
Run Code Online (Sandbox Code Playgroud)


Sha*_*evy 6

这是你可以做的另一件事(取决于你的worgroup名称).

([adsi]"WinNT://WORKGROUP").Children
Run Code Online (Sandbox Code Playgroud)


Fox*_*loy 6

Shay回答的小猪支持:

([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children
Run Code Online (Sandbox Code Playgroud)

这将获取您的域名或工作组名称并使用它.


Kev*_*ell 6

并进一步支持 FoxDeploy 的回答:

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

这将只抓取域中的计算机,而不是所有 AD 对象(例如用户、组织组等)。