PowerShell用户认证Function实例代码
在最近工作中遇到对用户验证,需要根据用户名和密码验证用户是否合法。在外文网站找到的这段代码,在这里分享给大家,如果你也需要用户验证的话,那么可以直接copy使用,现在没地方用,也可以收藏备用。
FunctionTest-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-ClassWin32_ComputerSystem if($Domain){ if(0,2-contains$system.DomainRole){ throw'Thiscomputerisnotamemberofadomain.' }else{ $principalContext=New-Object-TypeNameSystem.DirectoryServices.AccountManagement.PrincipalContext'Domain',$system.Domain } }else{ $principalContext=New-Object-TypeNameSystem.DirectoryServices.AccountManagement.PrincipalContext'Machine',$env:COMPUTERNAME } return$principalContext.ValidateCredentials($Username,$Password) } catch{ throw'Failedtotestusercredentials.Theerrorwas:"{0}".'-f$_ } } }
使用很简单方便:Test-UserCredential “用户名”“密码”“用户域”,第三个参数“用户域”为可选参数,返回为布尔类型。
以上就是对PowerShell用户认证Function的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!