You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Invoke-Sqlcmd传入简单安全字符串密码时返回Msg 40632异常?

问题现象

当使用Invoke-Sqlcmd时,若-Query参数中包含通过Read-Host -AsSecureString获取的复杂度不足的密码,操作会失败但不会返回异常;而若-Query参数中包含通过不带-AsSecureString的Read-Host获取的复杂度不足的密码,则会正常返回如下异常:

Password validation failed. The password does not meet policy requirements because it is not complex enough.
Msg 40632, Level 16, State 1, Procedure , Line 1.

正常返回异常的代码示例

输入密码01234567时会返回Msg 40632异常,输入012345A!则执行成功:

$local:password = Read-Host ("Enter the new password for {0} on {1}" -f $local:login, $local:serverDomain)
$local:updatePasswordQuery = ("ALTER LOGIN {0} WITH PASSWORD = '{1}'" -f $local:login, $local:password)
Invoke-Sqlcmd `
    -ServerInstance ("{0}.database.windows.net" -f $local:server.name) `
    -Database "master" `
    -AccessToken $local:access_token `
    -ErrorAction Stop `
    -Query "$local:updatePasswordQuery"

静默失败的代码示例

输入密码01234567时操作静默失败,输入012345A!则执行成功:

$local:securePassword = Read-Host ("Enter the new password for {0} on {1}" -f $local:login, $local:serverDomain) `
                       -AsSecureString
$local:updatePasswordQuery = ("ALTER LOGIN {0} WITH PASSWORD = '{1}'" -f $local:login, $local:securePassword)
Invoke-Sqlcmd `
    -ServerInstance ("{0}.database.windows.net" -f $local:server.name) `
    -Database "master" `
    -AccessToken $local:access_token `
    -ErrorAction Stop `
    -Query "$local:updatePasswordQuery"

疑问

如何让Invoke-Sqlcmd在传入复杂度不足的安全字符串密码时返回异常?或是因安全字符串特性无法实现?

环境信息

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.3.0
PSEdition                      Core
GitCommitId                    7.3.0
OS                             Microsoft Windows 10.0.22000
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Imported Modules:

Az.Accounts                    2.10.3                
SqlServer                      21.1.18256            

内容的提问来源于stack exchange,提问作者Frank van Eykelen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 15:15:59