当我运行以下代码时,我收到消息



我正在尝试建立与不在域环境上的远程服务器的连接。
在不带脚本的情况下在Powershell控制台上单独运行Set-Item时,由于某种原因,它在不起作用的脚本上起作用。

$passwd = convertto-securestring -String <Password> -AsPlainText -Force
$cred = New-Object -Typename System.Management.Automation.PSCredential -ArgumentList "developer", $passwd
$server = Read-Host -Prompt 'Input your server IP'

Set-Item wsman:\localhost\client\TrustedHosts -Value $server -Force

$session = new-pssession -computername $server -credential $cred

每一个帮助将不胜感激

最佳答案

当您在此处传递输入时,它应该是一个字符串值和一个对象,如果有逗号或其他内容,则$server不再保留为字符串。
要进行强制转换,可以通过强制类型转换将$server显式转换为String类型:

[String]$server = Read-Host -Prompt 'Input your server IP'

进一步,

我希望您在Set-Item中对服务器名称进行硬编码,然后查看是否出现错误。您大部分不会得到它。
Set-Item wsman:\localhost\client\TrustedHosts -Value 'YourServerHostname' -Force

因此,请在输入时验证您正在获得哪种输入。

10-08 09:21
查看更多