English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
最近の仕事でユーザー認証が必要になり、ユーザー名とパスワードに基づいてユーザーが合法かどうかを確認する必要がありました。外国のウェブサイトで見つけたこのコードをここで皆さんに共有します。ユーザー認証が必要な場合は、直接コピーして使用することができます。今は使わない場所でも、後で使えるように保存しておくこともできます。
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(メールを送信する際には、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認が取れたら、本サイトは即座に侵害を疑われるコンテンツを削除します。)