Kapcsolódás tartományvezérlőkhöz

A Quest AD snapin lehetővé teszi, hogy explicit módon kapcsolódjunk egy tartományvezérlőhöz:

PS C:\> $cred = Get-Credential r2\st

PS C:\> Connect-QADService -Service dc.r2.dom -Credential $cred

 

DefaultNamingContext                               Type

--------------------                               ----

DC=r2,DC=dom                                       ActiveDirectory

 

 

PS C:\> Set-QADUser -Identity "ács bence" -Company Valami

 

Name                           Type            DN

----                           ----            --

Ács Bence                      user            CN=Ács Bence,OU=Észak,DC=r2,...

 

 

PS C:\> Set-QADUser -Identity "ács béla" -Company Valami

Set-QADUser : Access is denied.

At line:1 char:12

+ Set-QADUser <<<<  -Identity "ács béla" -Company Valami

    + CategoryInfo          : NotSpecified: (:) [Set-QADUser], UnauthorizedAc

   cessException

    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Quest.Active

   Roles.ArsPowerShellSnapIn.Powershell.Cmdlets.SetUserCmdlet

A fenti példában látható, hogy külön be lehet kérni a hitelesítési információkat és a kapcsolódást akár ennek birtokában is le lehet játszani. Az ’R2\st’ felhasználónak van jogosultsága ’Ács Bence’ módosításához, de nincs ’Ács Béla’ megváltoztatásához. Látszik, hogy tényleg ezen kapcsolat alapján történik a műveletek végrehajtása, hiszen maga a PowerShell a mindenütt teljes jogosultsággal bíró ’R2\Administrator’ kontextusában fut.

Nem véletlenül van visszatérési értéke a Connect-QADService cmdletnek, hiszen így azt el is lehet tárolni változóban, akár több kapcsolatot is definiálni tudok és az egyes cmdleteknél egyedileg is lehet hivatkozni ezekre, azaz az egyik paranccsal az egyik tartományvezérlőhöz csatlakozom, az egyik felhasználói fiók nevében, a másik cmdlet végrehajtása során meg egy másik tartományvezérlőhöz csatlakozom, egy másik fiókkal:

PS C:\> $stconn = Connect-QADService -Service dc.r2.dom -Credential $cred

PS C:\> $cred = Get-Credential r2\administrator

PS C:\> $adminconn = Connect-QADService -Service dc.r2.dom -Credential $cred

PS C:\> Set-QADUser -Identity "ács béla" -Company Valami -Connection $stconn

Set-QADUser : Access is denied.

At line:1 char:12

+ Set-QADUser <<<<  -Identity "ács béla" -Company Valami -Connection $stconn

    + CategoryInfo          : NotSpecified: (:) [Set-QADUser], UnauthorizedAc

   cessException

    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Quest.Active

   Roles.ArsPowerShellSnapIn.Powershell.Cmdlets.SetUserCmdlet

 

PS C:\> Set-QADUser -Identity "ács béla" -Company Valami -Connection $adminconn

 

 

Name                           Type            DN

----                           ----            --

Ács Béla                       user            CN=Ács Béla,OU=Dél,DC=r2,DC=dom

A fenti példában két különböző felhasználó nevében hoztam létre kapcsolati objektumot és ugyanazt a műveletet akartam végrehajtani ’Ács Béla’ felhasználón. Az első esetben – mint ahogy korábban sem – nem sikerült, míg az Administrator nevében definiált $adminconn kapcsolati objektummal, másodjára ez sikerült.

A kapcsolat megszakítása, a Disconnect-QADService nem azt jelenti,  hogy nem tudunk a címtárhoz hozzáférni, hanem azt, hogy utána újból annak a felhasználónak a nevében próbálja az AD műveleteket végrehajtani, akinek a nevében a PowerShell fut:

PS C:\> Disconnect-QADService

PS C:\> get-qaduser st

 

Name                           Type            DN

----                           ----            --

Soós Tibor                     user            CN=Soós Tibor,OU=Dél,DC=r2,D...



Word To HTML Converter