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

PowerShell用户认证Function实例代码

   在最近工作中遇到对用户验证,需要根据用户名和密码验证用户是否合法。在外文网站找到的这段代码,在这里分享给大家,如果你也需要用户验证的话,那么可以直接copy使用,现在没地方用,也可以收藏备用。

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) {
           throw 'This computer is not a member of a domain.'
         } 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 'Failed to test user credentials. The error was: "{0}".' -f $_
     }
   }
}

使用很简单方便:Test-UserCredential  “用户名” “密码” “用户域”,第三个参数“用户域”为可选参数,返回为布尔类型。

以上就是对PowerShell 用户认证 Function的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#oldtoolbag.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。