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

使用System.Management.Automation.PSCredential仍遭PowerShell凭据弹窗

问题原因及解决办法

以下是可能导致PowerShell仍弹出凭据窗口的原因及对应解决方式:

  • 语法错误导致参数未正确传递
    你的代码中-SqlCredential $cred行末尾的反引号后未加空格,直接衔接下一行参数,PowerShell无法正确解析-SqlCredential的赋值,导致$cred未被正常传递给命令。
    修正代码格式,确保每个换行的反引号前有空格,且反引号为该行最后一个字符:

    $server1 = Connect-DbaInstance `
        -SqlInstance '192.168.0.61\TESTE2017' `
        -SqlCredential $cred `
        -TrustServerCertificate
    
  • $cred变量未正确创建
    先验证$cred变量是否有效:

    # 查看用户名
    $cred.UserName
    # 查看密码(仅用于测试)
    $cred.GetNetworkCredential().Password
    

    如果输出的用户名不是sa或密码不是teste,重新执行变量创建命令,确保无执行错误。

  • SQL Server未启用混合身份验证模式
    若目标SQL Server仅开启Windows身份验证,sa账号无法登录,即使提供凭据也会触发重新输入窗口。
    登录SQL Server管理工具,检查并启用SQL Server和Windows身份验证模式,重启SQL Server服务后重试。

  • SQL实例访问异常
    确认目标实例192.168.0.61\TESTE2017拼写正确,服务器可正常访问,SQL Server服务已启动,且对应端口(默认实例1433,命名实例需确认端口)未被防火墙拦截。

  • dbatools版本兼容问题
    旧版本dbatools可能存在参数处理bug,更新到最新版本后重试:

    Update-Module -Name dbatools -Force
    

内容的提问来源于stack exchange,提问作者Astora

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:10:05