Powershell безопасное преобразование строк

Привет я пытаюсь сделать это

Import-Csv C:\sl.csv |$pass = convertto-securestring "abc123"-asplaintext -force | ForEach-Object {New-Item $(Encode-Sqlname $_.Name) -ItemType Registration -Value ("server=$($_.Name);integrated security=true") -Credential (New-Object System.Management.Automation.PSCredential("sa", $pass)) }

но получаю ошибку вот так

Expressions are only allowed as the first element of a pipeline.
At line:1 char:29
+ Import-Csv C:\sl.csv |$pass  <<<< = convertto-securestring "abc123"-asplaintext -fo
rce | ForEach-Object {New-Item $(Encode-Sqlname $_.Name) -ItemType Registration -Value ("server=$($_.Name);integrated security=true") -Credential (New-Object System.Management.Automation.PSCredential("sa", $pass)) }
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline

Я в основном хочу иметь возможность добавить имя пользователя и пароль (использовать проверку подлинности sql) и пытаться преобразовать мой пароль в securestring и не могу сделать хорошую работу из-за этого. Просьба помочь tks Я пошел по этой ссылке, и код там был полезен, но проблема была, когда я щелкаю правой кнопкой мыши на своих зарегистрированных серверах и вижу свойства, которые я вижу, что это в режиме проверки подлинности Windows, а не в режиме проверки подлинности SQL

1 ответ

Попробуйте присвоить значение на $pass перед конвейером:

$pass = convertto-securestring "abc123"-asplaintext -force 
Import-Csv C:\sl.csv | ForEach-Object {New-Item $(Encode-Sqlname $_.Name) -ItemType Registration -Value ("server=$($_.Name);integrated security=true") -Credential (New-Object System.Management.Automation.PSCredential("sa", $pass)) }
Другие вопросы по тегам