PowerShell 2.0有一些超级时髦的远程处理功能。但是,我不清楚它们是否可以在 Windows XP 机器之间工作,或者你是否需要 Windows Vista 或 Windows 7。
这是我所拥有的:
一对安装了 SP3 和.NET 3.5 的 Windows XP MCE 机器。
两者都安装了 PowerShell 2.0 CTP3。
两者都安装了 WS-Management v1.1(因为 2.0 似乎不适用于 Windows XP?)
有了所有这些,“Enable-PSRemoting”仍然给我带来了这个错误:
Enable-PSSessionConfiguration :此计算机上未启用或不支持 Windows PowerShell 远程处理功能。这可能是因为您没有安装正确版本的 WS-Management,或者此版本的 Windows 当前不支持远程处理。
通常,我此时的反应是“好吧,我想是时候下载 Windows 7 RC”了,但我已经看到了很多关于人们远程进出 Windows XP 的模糊评论,这让我认为这是可能的.
我怎样才能让它工作?
现在您不能在 Windows XP 上使用 PowerShell 远程处理功能,因为它依赖于不可用的 WinRM 2.0 CTP3。在最终构建 PowerShell V2(和 WinRM 2.0)之后,将提供对 Windows XP 上的远程处理的支持。
我知道这并不完全是您正在寻找的东西,但一个可能的替代方案(几乎可以肯定在 XP 到 Vista 之间工作)是通过以下任一方式远程运行您的 Powershell 脚本:
psexec - Microsoft(由 Mark Russinovich 制作,说得够多了!)
rctrlx(我的工具) - 在某些情况下比 psexec 更强大
Remcom - 开源
这样你就不需要在任何一台机器上安装任何东西,除了 Powershell
我无法让 PowerShell 在 Vista 和 XP 或 XP 和 XP 之间工作。在这一点上,它看起来像是一个 Vista 和更高版本的程序。
我已经为此投入了 10 或 15 个小时......所以也许其他人成功了......但我还没有能够在这个方面实现所需。
您可以使用 WinRS 的一些技巧来欺骗它以使其与 V1 一起使用。
-encodedScript 是 V1 中 PowerShell.exe 的未记录开关。它只是告诉 PowerShell 将 base64 编码的字符串作为命令。如果您的脚本块变得长而丑陋,它会使解析等工作变得更容易一些。
它尚未正式发布,但您现在可以通过Microsoft 的 Connect 站点获得 Powershell V2 和 WinRM V2 for Server 2003 和 Windows XP 版本。这应该允许您在 Windows XP 之间使用 PowerShell 的远程处理功能。