1

我正在尝试在我拥有的 vmware 映像上运行 powershell 调用命令:invoke-command -computer [vmware host] -scriptBlock { commands }

这不起作用,因为我运行命令的客户端位于域上,而 vm 映像位于工作组(混合域)中

经过一番研究,我已将 vmware 主机添加到受信任的主机(Set-Item -Path WSMan:\localhost\Client\TrustedHosts -Value [vmware host]),如果我提供凭据(管理员/密码),则该命令有效。

我的问题是:有没有办法让它在不显式提供凭据的情况下工作,例如打开 vmware 主机以进行各种访问,或者然后以某种方式将凭据永久保存在我的客户端计算机上,这样我就不需要提供它们在使用“invoke-command -credential 参数”的调用中。我没有添加“-credential”参数的灵活性,因为此代码由其他团队维护。

我知道我可以在域之间添加信任(以使用 kerberos),但我无法使用该选项。

4

2 回答 2

0

这就是你能做的所有事情。使用 PSDefaultParameters。

http://technet.microsoft.com/en-us/library/hh847819.aspx

$PSDefaultParameterValues = @{ 
  "Enter-PSSession:Credential" = $cred  
  "Invoke-Command:Credential" = $cred
}
于 2014-08-07T19:24:15.347 回答
0

这可以使用基于证书的身份验证。您将使用映射到帐户的客户端证书进行身份验证。

我承认我还没有解决这个问题。我很想这样做,但我们在 DMZ 中只有大约 9 个 Windows 服务器,而且现在对我来说不值得付出努力。

这些链接看起来很有希望:

如果您确实设法使这项工作正常进行,我非常想听听您的经验。

于 2014-08-07T22:06:32.397 回答