我正在尝试使用Active Directory连接到远程计算机,并查看是否安装了单个程序 . 我尝试过在互联网上找到的几个教程,但没有成功:
我不能让他们正常工作,他们并不是我想要的 .
我想做的一个例子:说我的网络上有3台电脑:
123-abc
123-bcd
123-cde
我想看看是否存在可执行文件 C:\Program Files (x86)\Mozilla Firefox\Firefox.exe
. 有人可以解释我如何在PowerShell中解决这个问题吗?
我正在尝试使用Active Directory连接到远程计算机,并查看是否安装了单个程序 . 我尝试过在互联网上找到的几个教程,但没有成功:
我不能让他们正常工作,他们并不是我想要的 .
我想做的一个例子:说我的网络上有3台电脑:
123-abc
123-bcd
123-cde
我想看看是否存在可执行文件 C:\Program Files (x86)\Mozilla Firefox\Firefox.exe
. 有人可以解释我如何在PowerShell中解决这个问题吗?
3 回答
最简单的方法是,如果您在目标计算机上启用并可访问域管理员权限和管理共享,则:
有几种方法可以检查已安装的软件 . 有些比其他更适合 . 但是,如果您确定每台计算机上的文件路径,那么Test-Path CmdLet可能是一种简单的方法 .
你可以把它扔进一个带有自定义对象的循环中,这样你也可以使用它 .
例如,您的代码可能如下所示 .
在远程计算机上运行powershell命令有多种方法 .
许多命令支持
string[]
参数-ComputerName
,您可以将多个计算机名称传递给它们您可以使用
Enter-PSSession
cmdlet在远程计算机上输入类似Telnet的会话最后,您可以使用
Invoke-Command
cmdlet对多个远程主机运行脚本块 .