如何检查服务器列表中是否安装了 PowerShell v2.0?服务器列表是 Windows Server 2003 和 Windows Server 2008 的组合。vbscript 或 PS 脚本会很棒。
我知道 PowerShell 默认安装在 Windows Server 2008 中,但我只是想确保没有人破坏服务器。
如何检查服务器列表中是否安装了 PowerShell v2.0?服务器列表是 Windows Server 2003 和 Windows Server 2008 的组合。vbscript 或 PS 脚本会很棒。
我知道 PowerShell 默认安装在 Windows Server 2008 中,但我只是想确保没有人破坏服务器。
我会检查这个密钥 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\powershellversion。
在四处挖掘并找到几个导致在我的环境中无用的地方之后,我找到了这个。这将适用于没有 Powershell 的系统,因此它可用于其他注册表扫描。
编辑:环顾四周后,事实证明,如果远程注册表服务未运行,这将不起作用。我添加了代码来检查远程注册表并在停止时启动。可以根据您的域设置
$cred = Get-Credential "domain\username"
一起删除。-Credential $cred
Edit2:好的,我发现使用 .OpenSubKey() 存在权限问题。我将其切换为 .GetValueKind(),因为我们需要做的就是验证密钥是否存在。希望这对你有用。我没有工作权限,无法为您全面测试。
Edit3:自从我跨过不受信任的域后,我在我的环境中遇到了很多权限问题。我重写了上面的代码以在我的环境中工作。它远程工作,不需要安装 Powershell。如果您遇到任何其他错误,请告诉我。