Невозможно преобразовать System.Object [] в тип System.String - PullRequest
1 голос
/ 30 мая 2019

Когда я запускаю следующий код, я получаю сообщение

"Set-Item: невозможно преобразовать 'System.Object []' в тип 'System.String' требуется для параметра. Указанный метод не поддерживается».

Я пытаюсь установить соединение с удаленным сервером, который не находится в доменной среде. При запуске только Set-Item на консоли Powershell без сценария он по какой-то причине работает на сценарии, который не работает.

$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

Будем благодарны за любую помощь

1 Ответ

3 голосов
/ 30 мая 2019

Когда вы передаете входные данные здесь, это должно быть строковое значение и один объект, если есть запятая или что-то еще, то $server больше не остается в виде строки.Чтобы выполнить принудительное преобразование, вы можете явно преобразовать $server в тип String путем приведения типа:

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

Далее,

Я бы хотел, чтобы вы жестко закодировали имя сервера в Set-Item и посмотрите, если вы получаете ошибку.Вы не получите это в основном.

Set-Item wsman:\localhost\client\TrustedHosts -Value 'YourServerHostname' -Force

Итак, подтвердите, принимая данные о том, какой тип ввода вы получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...