如何连接到没有凭据的远程计算机?

时间:2016-04-06 09:41:03

标签: powershell credentials remoting powershell-remoting

我已经完成了编写Powershell脚本以从域中的其他计算机获取一些信息。 它看起来有些奇怪,但是可以在远程机器上运行此脚本test.ps1而无需输入(Credential) 因为这似乎是不合逻辑的:

enable-psremoting -Force

在每台机器上,然后:

Invoke-Command -FilePath C:\path\test.ps1 -ComputerName computername -Credential domain\usrname

我期待你的回答

1 个答案:

答案 0 :(得分:0)

我认为没有办法解决这个问题。

您的管理员应使用全局策略为您公司中所有需要的计算机启用远程处理。

您可以使用sysinternals psexec远程运行powershell:

 psexec \\remote-computer powershell -File <....> 
 psexec \\remote-computer powershell -Command <....> 

要使-File变体工作文件必须在远程服务器上可用或可通过SMB共享访问。

请注意,这需要您在远程计算机上管理,因为它使用您的Windows凭据。您可以指定远程用户和密码。

你也可以

 psexec \\remote-computer powershell -Command "enable-psremoting -Force"

为了不通过例如代理函数将Invoke-Command自动化,通过向它添加一个参数来实现{... 1},然后你可以调用它,例如:

EnableRemoting

在代理中,您可以将此参数默认设置为true,在这种情况下您不需要它。除代理外,您还可以使用此功能。

在执行此操作之前,如果您首先测试它是否已启用,您将加快速度:

Invoke-Command -FilePath C:\path\test.ps1 -ComputerName computername -EnableRemoting