Get-Credential
获取基于用户名和密码的凭据对象。
语法
Get-Credential [-Credential] <PSCredential> [<CommonParameters>]
说明
Get-Credential cmdlet 为指定的用户名和密码创建凭据对象。您可以在安全操作中使用凭据对象。
该 cmdlet 将提示用户输入密码或者提示用户名和密码均需要输入。用户会在对话框或命令行中收到提示,具体取决于系统注册表设置。
参数
-Credential <PSCredential>
指定凭据的用户名,例如“User01”或“Domain01\User01”。参数名(“Credential”)为可选项。
提交该命令后,系统将提示您输入密码。
如果您输入不带域的用户名,Get-Credential 会在名称前插入一个反斜杠。
如果省略此参数,则将提示您输入用户名和密码。
是否为必需? |
true |
位置? |
1 |
默认值 |
无 |
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
无 不能通过管道将输入传递给此 cmdlet。 |
输出 |
System.Management.Automation.PSCredential Get-Credential 返回凭据对象。 |
说明
可以在请求用户身份验证的 cmdlet 中使用 Get-Credential 创建的 PSCredential 对象,例如那些具有 Credential 参数的 cmdlet。
随 Windows PowerShell 安装的提供程序不支持 Credential 参数。但可以对 Get-WmiObject 使用 Credential 参数,因为该命令会直接调用 Microsoft .NET Framework。
示例 1
C:\PS>$c = Get-Credential
说明
-----------
此命令获取凭据对象并将其保存在 $c 变量中。
在输入该命令后,将显示一个对话框,要求输入用户名和密码。在输入要求的信息后,cmdlet 将创建表示用户凭据的 PSCredential 对象并将其保存在 $c 变量中。
可以将该对象用作请求用户身份验证的 cmdlet 的输入,例如那些具有 Credential 参数的 cmdlet。但是,随 Windows PowerShell 一起安装的提供程序不支持 Credential 参数。
示例 2
C:\PS>$c = Get-Credential
C:\PS>Get-WmiObject Win32_DiskDrive -ComputerName Server01 -Credential $c
说明
-----------
这些命令使用 Get-Credential 生成的凭据对象对远程计算机上的用户进行身份验证,以便于这些用户使用 Windows Management Instrumentation (WMI) 来管理计算机。
第一个命令获取凭据对象并将其保存在 $c 变量中。第二个命令在 Get-WmiObject 命令中使用该凭据对象。此命令获取 Server01 计算机中的磁盘驱动器的有关信息。
示例 3
C:\PS>C:\PS>Get-WmiObject Win32_BIOS -ComputerName Server01 '
-Credential (get-credential Domain01\User01)
说明
-----------
此命令显示如何在 Get-WmiObject 命令中包括 Get-Credential 命令。
此命令使用 Get-WmiObject cmdlet 来获取 Server01 计算机中的 BIOS 的有关信息。它使用 Credential 参数对用户 (Domain01\User01) 进行身份验证,并将 Get-Credential 命令作为 Credential 参数的值。
示例 4
C:\PS>$c = Get-Credential -credential User01
C:\PS>$c.Username
\User01
说明
-----------
此示例将创建包含用户名(不带域名)的凭据。它证实了 Get-Credential 会在用户名前插入一个反斜杠。
第一个命令会获取带用户名 User01 的凭据,并将其存储到 $c 变量中。
第二个命令会显示所生成的凭据对象的 Username 属性值。
示例 5
C:\PS>$credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
说明
-----------
此命令使用 PromptForCredential 方法提示用户输入用户名和密码。此命令将生成的凭据保存在 $credential 变量中。
PromptForCredential 是 Get-Credential 的替代方法。使用 PromptForCredential 时,可以指定显示在消息框中的标题、消息和用户名。
示例 6
C:\PS>Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds' ConsolePrompting $true
说明
-----------
需要用户名和密码时,默认情况下会出现一个对话框,提示用户输入这些信息。要在命令行显示提示,请以管理员身份在 Windows PowerShell 中运行此命令,以修改注册表。
使用具有“ConsolePrompting $false”设置的同一命令将在对话框中显示提示。