18

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

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

4

5 回答 5

29

有时,老派的方式是最简单的。

net view
于 2013-04-03T20:29:50.400 回答
6

这是您可以做的另一件事(取决于您的工作组名称)。

([adsi]"WinNT://WORKGROUP").Children
于 2013-04-04T07:21:24.840 回答
6

捎带谢伊的回答:

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

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

于 2016-05-19T16:54:00.130 回答
6

并进一步搭载 FoxDeploy 的回答:

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

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

于 2017-12-14T00:15:13.717 回答
0

ADSI 不能在域外工作。如果您只有工作组,则需要使用 NETBIOS 获取已注册机器的列表。“nbtstat”的输出只是字符串,而不是对象。操作不是那么容易,但您会收到注册机器的数量和网络名称。

nbtstat -r
于 2021-08-02T13:09:06.663 回答