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

PowerShell 5.1中创建PSCredential对象的新版实现方法

PowerShell 5.1 环境下 PSCredential 对象的新版实现方式

PowerShell 5.0及以上版本中,官方推荐使用类型原生构造方法替代传统New-Object的对象实例化写法,PSCredential的新版创建逻辑如下:

核心实现规则

  • 所有.NET类型都可以直接通过[类型全名]::new(构造参数)的方式实例化,不需要依赖New-Object cmdlet,该写法执行效率更高,参数类型校验更严格,是当前官方推荐的标准写法,New-Object属于为兼容PowerShell 2.0等老旧版本保留的遗留语法。
  • PSCredential构造函数要求第二个传入参数必须是SecureString类型,禁止直接传入明文字符串,无论新旧写法都要遵守这个类型约束。

对应实现代码

如果你的配置项$_config.DBPassword本身已经是SecureString类型,可以直接一行完成实例化:

$Credential = [PSCredential]::new($_config.DBUserID, $_config.DBPassword)

如果$_config.DBPassword存储的是明文字符串,需要先将明文转换为安全字符串再传入构造函数,完整代码如下:

# 明文密码转SecureString
$securePassword = ConvertTo-SecureString -String $_config.DBPassword -AsPlainText -Force
# 实例化PSCredential对象
$Credential = [PSCredential]::new($_config.DBUserID, $securePassword)

注意:如果直接将明文字符串作为第二个参数传入构造方法,无论使用新版写法还是传统New-Object写法,都会触发参数类型不匹配的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 21:57:26