fredag 25 november 2011

Egna menyval i ADUC (Active Dirtectory Users and Computers)

Ett sätt att förenkla exekveringen av ps-skript i ett ou(organizationalunit) exempelvis är att använda "DisplaySpecifiers". Jag har jobbat med ett uppdrag där vi byggde en rollbaserad rättighets-struktur. Den rollbaserade strukturen krävde många ou, grupper, och gpo(Group Policy Objects). Vi valde då att skapa menyval när administratörer högerklickar på ett ou i ADUC. ADUC skickar med sökvägen till de aktuell ou:t och jag använder de i skripten nedan.



I exemplet nedan startar jag en powershell promt i aktuellt ou. Detta exempel kräver Powershell 2.0 och möjligheten att använda moduler.


Använd ADSIedit.msc och och öppna

CN=organizationalUnit-Display,CN=409,CN=DisplaySpecifiers,CN=Configuration,DC=Lab,DC=local
Nyckel : adminContextMenu
 * 409 engelska
 * 41d svenska


Lägg till en ny rad med ditt skript.
4,PS i detta OU,PS-Here.cmd

Strängen är uppdelad i tre delar.
  1. Nummer för sorteringen på menyn.
  2. Namnet som kommer synas på menyn.
  3. Namnet på de som kommer exekveras.
CMD-filen ska ligga system32 katalogen. Jag valde att starta en cmd-fil och bifoga den variabeln till ps-skriptet. Cmd filen innehåller endast en rad som som startar powershell och bifogar path-variabeln.


Exempel på cmd-filen: C:\Windows\System32\PS-Here.cmd


@echo off
PowerShell.exe -NoExit -File "C:\Skript\ps-here.ps1" %1


Exempel på ps-filen: C:\Skript\ps-here.ps1

Import-Module ActiveDirectory
$sPath = $args[0]
$sPath = $sPath.Substring($sPath.LastIndexOf("/")+1)
$sPath = "AD:\\" + $sPath
cd $sPath


Domänpartitionen måste synkroniseras och ADUC måste startas om innan menyerna syns.
Detta är endast ett exempel på vad som skulle kunna exekveras. I mitt fall har jag skapat flera olika funktioner kopplade till ou-strukturen. Lycka till.

Inga kommentarer:

Skicka en kommentar