当我运行以下代码时,我收到消息
我正在尝试建立与不在域环境上的远程服务器的连接。
在不带脚本的情况下在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
因此,请在输入时验证您正在获得哪种输入。