English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В последнее время в моей работе arose задача проверки подлинности пользователей, необходимо было проверять легитимность пользователей по имени и паролю. Код, найденный на иностранных веб-сайтах, я хочу здесь поделиться с вами, если вам也需要 проверку подлинности пользователей, вы можете напрямую скопировать и использовать его, если сейчас его не нужно, вы также можете сохранить его на будущее.
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.' } $principalContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext 'Domain', $system.Domain } } $principalContext = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext 'Machine', $env:COMPUTERNAME } return $principalContext.ValidateCredentials($Username, $Password) } catch { throw 'Не удалось проверить учетные данные пользователя. Ошибка: "{0}".' -f $_ } } }
Использование очень просто и удобно: Test-UserCredential “имя пользователя” “пароль” “домен пользователя”, третий параметр “домен пользователя” является опциональным, результат возвращает тип bool.
Вот так мы собрали информацию о функции аутентификации пользователей PowerShell. В будущем мы продолжим добавлять соответствующие материалы, спасибо за поддержку нашего сайта!
Заявление: Контент этой статьи был взят из Интернета, авторские права принадлежат соответствующему автору, контент был предоставлен пользователями Интернета в порядке самодеятельности, сайт не обладает правами собственности, не был отредактирован вручную и не несет ответственности за связанные с этим юридические вопросы. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @) для сообщения о нарушении и предоставьте соответствующие доказательства. При обнаружении фактов нарушения, сайт незамедлительно удаляет涉嫌侵权的内容。