English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PowerShellユーザーアカウント認証Functionの実例コード

   最近の仕事でユーザー認証が必要になり、ユーザー名とパスワードに基づいてユーザーが合法かどうかを確認する必要がありました。外国のウェブサイトで見つけたこのコードをここで皆さんに共有します。ユーザー認証が必要な場合は、直接コピーして使用することができます。今は使わない場所でも、後で使えるように保存しておくこともできます。

Function Test-UserCredential {
   [CmdletBinding()] [OutputType([System.Boolean])]
   param(
     [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()]
     [System.String] $Username,
     [Parameter(Mandatory=$true)] [ValidateNotNullOrEmpty()]
     [System.String] $Password,
     [Parameter()]
     [Switch] $Domain
   )
   Begin {
     $assembly = [system.reflection.assembly]::LoadWithPartialName('System.DirectoryServices.AccountManagement')
   }
   Process {
     try {
       $system = Get-WmiObject -Class Win32_ComputerSystem
       if ($Domain) {
         if (0, 2 -contains $system.DomainRole) {
           このコンピュータはドメインのメンバーではありません。
         } else {
           $principalContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext 'Domain', $system.Domain
         }
       } else {
         $principalContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext 'Machine', $env:COMPUTERNAME
       }
       return $principalContext.ValidateCredentials($Username, $Password)
     }
     catch {
       throw 'ユーザー認証テストに失敗しました。エラーは: "{0}" です。' -f $_
     }
   }
}

使い方は非常に簡単で便利です:Test-UserCredential 「ユーザー名」「パスワード」「ユーザー領域」,第3引数「ユーザー領域」はオプションです。返り値はボルン型です。

以上が PowerShell ユーザー認証 Function の情報整理です。今後も関連する情報を追加していく予定です。皆様の本サイトへのサポートに感謝します。

声明:本文の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、本サイトは所有権を持ちません。また、人工的な編集処理は行われていません。著作権侵害を疑う内容があれば、メールを notice#w までお送りください。3codebox.com(メールを送信する際には、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認が取れたら、本サイトは即座に侵害を疑われるコンテンツを削除します。)

おすすめ