はじめに
Credentialを作成するには「Get-Credential」コマンドレットやユーザー名とパスワードを使用しCredentialオブジェクトを作成します。
環境
OS:Windows10
.Net Framework:4.7
PowerShellのバージョン:5.1.17763.1007
Get-Credentialを使用した資格情報の作成
#資格情報の要求画面を表示する
$secure = Get-Credential -Credential "ホスト名\アカウント名"("ドメイン名\アカウント名"も可)
#credentialオブジェクトを作成する
$credential = New-Object System.Management.Automation.PSCredential($secure.UserName,$secure.Password)
暗号化したパスワードファイルを使用した資格情報の作成
パスワードを暗号化してファイルに保存
#クリアテキストをSecureStringオブジェクトに変換する
$secure = ConvertTo-SecureString -string "password" -AsPlainText -Force
#SecureStringオブジェクトを暗号化された標準文字列に変換する
$encrypt = ConvertFrom-SecureString -SecureString $secure
#暗号化された標準文字列をテキストファイルに書き出す
$encrypt > c:\temp\encrypted.txt
パスワードを復号化して資格情報を作成
#暗号化された標準文字列を取得する
$encrypt = Get-Content c:\temp\encrypted.txt
#暗号化された標準文字列をSecureStringオブジェクトに変換する
$secure = ConvertTo-SecureString $encrypt
#Credentialオブジェクトを作成する
$credential = New-Object System.Management.Automation.PSCredential("ホスト名/アカウント名",$secure)
使用例
Credentialは、ワークグループのサーバなど専用アカウントで認証させる場合に使用します。
ワークグループのサーバを再起動する
PS C:\> Restart-Computer windows2016 -Credential $Credential
ワークグループのサーバでサービス一覧を取得する
#セッションの取得
$PSSession = New-PSSession windows2019 -Credential $credential
#コマンドの投入
Invoke-Command -Session $PSSession -ScriptBlock {get-service}