【问题标题】:Powershell secure string conversionPowershell 安全字符串转换
【发布时间】:2012-02-15 09:31:24
【问题描述】:

嗨,我正在尝试这样做

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 身份验证)并尝试将我的密码转换为安全字符串,并且从这个外观上做得不好。请协助tks 我去了这个链接,那里的代码很有帮助,但问题是当我右键单击我注册的服务器并看到属性时,我看到它处于 Windows 身份验证模式而不是 sql 身份验证模式

【问题讨论】:

    标签: sql-server powershell ssms


    【解决方案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)) }
    

    【讨论】:

    • 但奇怪的是,当我尝试连接时,默认连接设置为 Windows 身份验证而不是 SQL 身份验证,所以我将集成安全性更改为 false,现在我可以看到选择了 SQL 身份验证但用户名和密码是空白的,所以我的 sa 和密码也在哪里?我做错了什么?
    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多