PowerShell获取网络计算机的列表

PowerShell获取网络计算机的列表,powershell,Powershell,我想写一个PS脚本,它将遍历它在本地网络上可以找到的所有机器,查看“SomeDirectory”,如果存在一个文件,用UNC路径的新版本覆盖它 第一个问题是获取可以在Windows->Network中找到的PC列表 所以有时候,老派的方法是最简单的 net view 这里还有一件事你可以做(取决于你的工作组名) 小猪背着谢伊的答案: ([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children 这将获取您的

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

第一个问题是获取可以在Windows->Network中找到的PC列表

所以有时候,老派的方法是最简单的

net view

这里还有一件事你可以做(取决于你的工作组名)


小猪背着谢伊的答案:

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

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

并且进一步利用FoxDeploy的答案:

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

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

要解析,请检查
switch-regex(NET.EXE视图){“^\\\\(?\S+\S+”{$matches.Name}}
如何将其输出格式化为list或csv?@bitshift将其固定到末尾:“
\124%”{$\路径}
(([adsi]"WinNT://$((Get-WMIObject Win32_ComputerSystem).Domain)").Children).Where({$_.schemaclassname -eq 'computer'})