PowerShell を使用して資格情報を安全に保存する方法

PowerShell でパスワードを認証して保存する必要がある PowerShell スクリプトがあります。場合によっては、資格情報を入力してスクリプトを実行するための資格情報プロンプトが表示されることがあります。また、タスクを自動化し、パスワードを暗号化形式で安全に保存したい場合があります。この記事では、PowerShell を使用して資格情報を安全に保存する方法を学習します。

インタラクティブと非インタラクティブ

  • 相互の作用この方法では、ユーザー名とパスワードの入力を求めるなど、ユーザーの操作が必要です。必要な情報が与えられると、さらに進みます。
  • 非対話型このメソッドはスクリプトの実行中にユーザー入力を必要とせず、通常は事前構成された設定、自動化されたプロセス、または事前に提供されたデータに依存します。

重要:パスワードは常に安全に入力し、決してプレーンテキストで入力しないでください。

以下も参照してください。認証情報の有無にかかわらず、iPad から Meraki Management を削除する方法

スクリプトでユーザー名とパスワードの入力を求める場合は、以下のいずれかの方法の手順に従います。

方法 1. 資格情報の取得

  1. を実行します。資格情報の取得資格情報を安全に保存するためのコマンドレット$クレッズ変数
$Creds = Get-Credential
  1. Windows PowerShell 資格情報要求が表示されます。ここに入力する必要があります。資格
  1. を実行します。$クレッズPowerShell の変数
$Creds
  1. 出力には、ユーザー名そしてパスワード安全な文字列として表示されます
UserName                       Password
--------                       --------
myusername System.Security.SecureString

方法 2.PSCredential

  1. 以下のコマンドを実行して、資格情報を安全に保存します。$クレッズ変数
$Creds = [System.Management.Automation.PSCredential]::new((Read-Host -Prompt "Enter username"), (Read-Host -Prompt "Enter password" -AsSecureString))
  1. を入力してくださいユーザー名そしてパスワード
Enter username: myusername
Enter password: ****************
  1. を実行します。$クレッズPowerShell の変数
$Creds
  1. 出力には、ユーザー名そしてパスワード安全な文字列として表示されます
UserName                       Password
--------                       --------
myusername System.Security.SecureString

これは、対話的に実行するスクリプトがあり、毎回資格情報を入力できる場合に優れています。しかし、コンピューターを使用していなくて、スケジュールされたタスクを使用してスクリプトを自動化したい場合はどうすればよいでしょうか?その場合は、別の方法を使用する必要があります。

自動化のために資格情報を PowerShell に保存する (非対話型)

PowerShell スクリプトを実行するたびに資格情報が読み込まれるようにシステムに資格情報を保存するには、次の手順に従う必要があります。

  1. を実行します。資格情報の取得資格情報を安全に保存するためのコマンドレット$クレッズ変数
$Creds = Get-Credential
  1. 資格情報を入力してください
  2. 認証情報を暗号化された XML ファイルにエクスポートします。
$Creds | Export-CliXml -Path "C:credscredential.xml"

注記:エクスポート-Clixmlコマンドレットは、Windows Data Protection API を使用して資格情報オブジェクトを暗号化します。暗号化により、ユーザー アカウントだけが資格情報オブジェクトの内容を復号化できるようになります。エクスポートされた CLIXML ファイルを別のコンピュータまたは別のユーザーで使用することはできません。

  1. パスに移動し、XML ファイルを確認します。
  1. XML ファイルを開いて、パスワードが暗号化されていることを確認します。
  1. PowerShell スクリプトで、インポート-Clixmlコマンドレットを実行し、XML ファイルが存在するパスを指定して、ユーザー名と暗号化されたパスワードをロードします。
$Creds = Import-CliXml -Path "C:credscredential.xml"

それでおしまい!

結論

PowerShell を使用して資格情報を安全に保存する方法を学習しました。 PowerShell で資格情報を保存するには、さまざまな方法があります。対話型スクリプトか非対話型スクリプトかを確認し、正しい方法を適用してください。パスワードは平文ではなく安全に入力してください。

この記事は気に入りましたか? 「Microsoft Graph PowerShell に接続する方法」もお勧めします。ぜひフォローしてこの記事をシェアしてください。

Related Posts