在没有 Powershell 的机器上执行远程 Powershell?

在没有 Powershell 的机器上执行远程 Powershell?

我的计算机是 Windows 7,并且正在运行 Powershell,我想执行命令来从一堆没有安装 Powershell 的其他计算机(Windows XP)中拉回信息(特别是 netstat)。使用 Powershell 可以做到这一点吗?还是我需要寻找其他解决方案?

答案1

为了远程执行 Powershell,您需要在远程计算机上安装 Powershell。您需要使用类似 PsExec 的命令:http://technet.microsoft.com/en-us/sysinternals/bb897553

答案2

PowerShell 远程处理确实不适用。但您仍然可以通过 WMI 收集大量信息。我过去使用过的另一种技术是远程安排其他计算机上的任务以“本地”运行脚本来获取所需的信息。这对于 netstat 之类的东西非常有用。

答案3

您可以通过多种方式执行此操作,但您所能获得的信息量将因您使用的技术而有很大差异。

我建议你看一下 @Get-WmiObject -computerName。这将使用 WMI 的本机远程处理与 XP 和 Windows 2000(或任何较新的操作系统)进行通信。您将无法使用完整的 PowerShell 执行所有操作,但您将能够使用 Windows XP 上的 WMI 执行所有操作,并且您将能够通过单个框上的 PowerShell 远程管理它。

EventLog 也以类似的机制远程打开。使用 Get-EventLog -ComputerName 从 XP 或 2000 获取远程事件日志条目。

希望这可以帮助

答案4

您可以使用带有 -ComputerName 参数的 Get-WMIObject cmdlet,您需要在远程计算机上拥有管理员权限:

Get-WMIObject Win32_BIOS -ComputerName Contoso-Client -Credential Get-Credential

如果您在本地计算机上使用没有远程计算机权限的其他帐户,请使用 -Credential,您将需要在远程计算机上具有管理员访问权限的帐户的凭据。

相关内容