1

对于我的工作,我需要从某些服务器中检索操作系统信息并将该信息存储在某个服务器上。我想用 powershell 来做这个并使用 wmi 来获取信息。
所有服务器都安装了 powershell,并且两者之间可以建立 SSH 连接。

最简单的方法可能是执行远程 powershell 命令,但是我需要在每台服务器上激活远程服务,我想避免这种情况。另一种方法是使用 PS 中的命令:“Invoke-Expression”,同时使用 plink 进行连接。
我想使用这种方法。我找到了很多关于它的信息,并发现了如何使用它来执行远程 shell 命令甚至远程 powershell 命令(同时在命令之前放置“powershell”)。

这有效:

$output = Invoke-Expression 'echo y | & "C:\Program Files\PuTTY\plink.exe" -ssh  $username@$hostname -pw $password "powershell gwmi Win32_OperatingSystem"'

但它没有提供我需要的信息。而不是使用“ gwmi Win32_OperatingSystem”我想使用“ gwmi Win32_OperatingSystem | select-object caption”,这应该给我我需要的信息。但是,我坚持使用引号,无论我尝试了什么,我都无法使其正常工作,我总是在选择对象部分出现错误。我试图为此查看互联网,但我没有找到任何东西。有谁知道如何解决这个问题?

问候,

马蒂亚斯

4

0 回答 0