Get-Credential
ユーザー名とパスワードに基づいて資格情報オブジェクトを取得します。
構文
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[-Message <String>]
[[-UserName] <String>]
[-Title <String>]
[<CommonParameters>]
説明
Get-Credential
コマンドレットは、指定したユーザー名とパスワードの資格情報オブジェクトを作成します。 セキュリティ操作で資格情報オブジェクトを使用できます。
Get-Credential
コマンドレットは、ユーザーにパスワードまたはユーザー名とパスワードの入力を求めます。
Message パラメーターを使用して、プロンプトのカスタマイズされたメッセージを指定できます。
Windows PowerShell 5.1 以前では、ユーザー名とパスワードの入力を求めるダイアログ ボックスが表示されます。 PowerShell 6.0 以降では、すべてのプラットフォームのコンソールにプロンプトが表示されます。
例
例 1
$c = Get-Credential
このコマンドは資格情報オブジェクトを取得し、$c
変数に保存します。
コマンドを入力すると、ユーザー名とパスワードの入力を求められます。 要求された情報を入力すると、ユーザーの資格情報を表す PSCredential オブジェクトが作成され、$c
変数に保存されます。
このオブジェクトは、Credential パラメーターを持つコマンドレットなど、ユーザー認証を要求するコマンドレットへの入力として使用できます。 ただし、PowerShell でインストールされているプロバイダーの中には、Credential パラメーターがサポートされていないものもあります。
例 2
$c = Get-Credential -credential User01
$c.Username
User01
この例では、ドメイン名のないユーザー名を含む資格情報を作成します。
最初のコマンドは、User01 というユーザー名の資格情報を取得し、$c
変数に格納します。
2 番目のコマンドは、結果の資格情報オブジェクトの Username プロパティの値を表示します。
例 3
$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
このコマンドは、PromptForCredential メソッドを使用して、ユーザーにユーザー名とパスワードの入力を求めます。 このコマンドは、結果の資格情報を $Credential
変数に保存します。
PromptForCredential メソッドは、Get-Credential
コマンドレットを使用する代わりに使用できます。 PromptForCredential
詳細については、SDK の PromptForCredential ドキュメントを参照してください。
例 4
この例では、ユーザーに確認を求めずに返 Get-Credential
オブジェクトと同じ資格情報オブジェクトを作成する方法を示します。 この方法にはプレーン テキスト パスワードが必要です。これは、一部の企業のセキュリティ標準に違反する可能性があります。
$User = "Domain01\User01"
$PWord = ConvertTo-SecureString -String "P@sSwOrd" -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
最初のコマンドは、ユーザー アカウント名を $User
パラメーターに保存します。 値には、"Domain\User" または "ComputerName\User" 形式が必要です。
2 番目のコマンドでは、ConvertTo-SecureString
コマンドレットを使用して、プレーン テキスト パスワードからセキュリティで保護された文字列を作成します。 このコマンドでは、AsPlainText パラメーターを使用して、文字列がプレーン テキストであることを示し、Force パラメーターを使用して、プレーン テキストを使用するリスクを理解していることを確認します。
3 番目のコマンドでは、New-Object
コマンドレットを使用して、$User
変数と $PWord
変数の値から PSCredential オブジェクトを作成します。
例 5
Get-Credential -Message "Credential are required for access to the \\Server1\Scripts file share." -User Server01\PowerUser
PowerShell Credential Request
Credential are required for access to the \\Server1\Scripts file share.
Password for user Server01\PowerUser:
このコマンドでは、
例 6
Invoke-Command -ComputerName Server01 {Get-Credential Domain01\User02}
PowerShell Credential Request : PowerShell Credential Request
Warning: This credential is being requested by a script or application on the SERVER01 remote computer.
Enter your credentials only if you trust the remote computer and the application or script requesting it.
Enter your credentials.
Password for user Domain01\User02: ***************
PSComputerName : Server01
RunspaceId : 422bdf52-9886-4ada-ab2f-130497c6777f
PSShowComputerName : True
UserName : Domain01\User01
Password : System.Security.SecureString
このコマンドは、Server01 リモート コンピューターから資格情報を取得します。 このコマンドでは、Invoke-Command
コマンドレットを使用して、リモート コンピューターで Get-Credential
コマンドを実行します。 出力には、認証プロンプトに含まれるリモート セキュリティ メッセージ Get-Credential
表示されます。
パラメーター
-Credential
User01 や Domain01\User01など、資格情報のユーザー名を指定します。 パラメーター名 (-Credential
) は省略可能です。
コマンドを送信し、ユーザー名を指定すると、パスワードの入力を求められます。 このパラメーターを省略すると、ユーザー名とパスワードの入力を求められます。
PowerShell 3.0 以降では、ドメインのないユーザー名を入力した場合、Get-Credential
名前の前に円記号が挿入されなくなります。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。
手記
SecureString データ保護
型: | PSCredential |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Message
認証プロンプトに表示されるメッセージを指定します。 このパラメーターは、関数またはスクリプトで使用するように設計されています。 このメッセージを使用して、資格情報を要求する理由とその使用方法をユーザーに説明できます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Title
コンソールの認証プロンプトのタイトル行のテキストを設定します。
このパラメーターは、PowerShell 6.0 で導入されました。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UserName
ユーザー名を指定します。 認証プロンプトは、ユーザー名のパスワードを要求します。 既定では、ユーザー名は空白で、認証プロンプトはユーザー名とパスワードの両方を要求します。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
配置: | 1 |
規定値: | None (blank) |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、資格情報オブジェクトを返します。
メモ
Credential パラメーターを使用するなど、ユーザー認証を要求するコマンドレットで作成 Get-Credential
PSCredential オブジェクトを使用できます。
Credential パラメーターは、PowerShell でインストールされているすべてのプロバイダーでサポートされているわけではありません。
PowerShell 3.0 以降では、Get-Content
コマンドレットや New-PSDrive
コマンドレットなど、選択したコマンドレットでサポートされています。