#PowerShell 的 Get-Credential 命令
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[[-UserName] <String>]
[-Message <String>]
[-Title <String>]
[<CommonParameters>]
功能
提示用户输入用户名和密码,并返回一个 PSCredential 对象。
类型
Cmdlet,属于 Microsoft.PowerShell.Security。
参数
[[-Credential] <PSCredential>]- 预先指定的凭据对象;位置 0-UserName <String>- 预先填写用户名,运行时只需输入密码-Message <String>- 在凭据提示中显示的说明文字-Title <String>- 凭据提示窗口的标题
密码以
SecureString形式保存在PSCredential对象中,不应将其转换为明文日志或配置文件。
#示例
提示输入凭据
> $cred = Get-Credential
- 运行后会在控制台提示输入用户名和密码,结果保存在
$cred变量中。
预先指定用户名
> $cred = Get-Credential -UserName 'DOMAIN\alice'
- 只需输入密码,用户名会自动填入。
自定义提示信息
> $cred = Get-Credential -Message '请输入部署账户的凭据' -Title '部署登录'
-Message和-Title用于说明凭据用途,便于用户确认。
将凭据用于网络请求
> $cred = Get-Credential
> Invoke-WebRequest -Uri 'https://api.example.com/data' -Credential $cred
- 许多支持身份验证的 cmdlet 都接受
-Credential参数。
从凭据中读取用户名
> $cred = Get-Credential
> $cred.UserName
DOMAIN\alice
PSCredential对象公开UserName属性;密码需要通过GetNetworkCredential()等方法获取,且应谨慎处理。