Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Доменная авторизация на запуск операции в сценарии (http://forum.oszone.net/showthread.php?t=286776)

rudimko 20-08-2014 12:46 2391682

Доменная авторизация на запуск операции в сценарии
 
Коллеги, реально ли реализовать процедуру доменной авторизации в скрипте и что бы без модуля AD Powershell? Если да, то как?

Kazun 20-08-2014 12:58 2391691

PowerShell - Using ADSI with alternate Credentials - http://www.lazywinadmin.com/2013/10/...alternate.html

rudimko 20-08-2014 13:44 2391721

На этом примере работает, но не понял как его адаптировать в свой скрипт... Можете помочь?

к примеру есть допотопное условие аля 1 пароль для всех:
читать дальше »
Код:

$pass = "111"
$passReplay = Read-Host -assecurestring "Введите пароль"
$passReplay = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($passReplay))
if ($pass -eq $passReplay){"Доступ разрешен"}
else {"Отказано"}



Как вместо этого условия использовать доменную авторизацию (и было бы неплохо сразу привязаться к определенной группе безопасности)...

Kazun 20-08-2014 14:11 2391740

http://poshcode.org/1393 - Test-ADCredentials by Mike Pfeiffer

Код:

Function Test-ADCredentials {
        Param($username, $password, $domain)
        Add-Type -AssemblyName System.DirectoryServices.AccountManagement
        $ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain
        $pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, $domain)
        New-Object PSObject -Property @{
                UserName = $username;
                IsValid = $pc.ValidateCredentials($username, $password).ToString()
        }
}

Код:

PS > Test-ADCredentials TestUser 'P@$$w0rd1' 'contoso.ru'

IsValid UserName
------- --------
True    TestUser

Или опишите задачу подробней, т.к. не очень понятно, что требуется в конечном итоге.

rudimko 20-08-2014 15:11 2391759

Вот это интересная ф-ция, попробую ее адаптировать. Спасибо.

Нужно чтобы при запуске скрипта был запрос на доменную авторизацию, если авторизация проходит, то идет запуск дальнейших инструкций, если не проходит, тогда "до свидания".

rudimko 20-08-2014 15:39 2391775

Возник вопрос, как безопасно передать пароль из System.Security.SecureString в вышеприведенную ф-цию?

например
Код:

$domainName = [Environment]::UserDomainName
$userName = [Environment]::UserName
$cred = Get-Credential -Message "введите имя пользователя и пароль" -User $domainName\$userName

$cred.Password как System.Security.SecureString, а как ее правильно, и главное безопасно передать в ф-цию? > Аля... Test-ADCredentials $userName $cred.Password $domainName

Kazun 20-08-2014 15:48 2391783

$cred.GetNetworkCredential().Password

rudimko 20-08-2014 15:54 2391787

Спасибо.


Время: 13:12.

Время: 13:12.
© OSzone.net 2001-