TomekP dnia 2005-05-12 12:58:
> Witam.
> Dodaje konta do AD za pomocą skryptu, modyfikując przy okazji ustawienia,
> problem mam tylko z dodaniem danego użytkownika jako członka grupy (np. chcę
> by był członkiem pięciu grup już stworzonych).
> Jak to zmodyfikować, czy lepiej zrobić modyfikacje tej grupy dodając do niej
> użytkowników (<-jeśli tak to co dopisać do skryptu)
no to tu zacytuje fragment skryptu:
...
Grupa1="tu nazwa grupy 1"
Grupa2="tu nazwa grupy 2"
Jednostka="nazwa jednostki organizacyjnej lub kontenera"
UzytkownikImie="Imie"
UzytkownikNazwisko="Nazwisko"
ImieNazwisko=UzytkownikImie & " " & UzytkownikNazwisko
UzytkownikImieNazwisko=ImieNazwisko
JednostkaORG="ou=" & Jednostka
Uzytkownik="cn=" & ImieNazwisko
SufixLDAP=",dc=xxx,dc=yyy,dc=pl"
UzytkownikDomena="@xxx.yyy.pl"
DrzewoLDAP="LDAP://" & JednostkaORG & SufixLDAP
UzytkownikORG="LDAP://" & Uzytkownik & "," & JednostkaORG & SufixLDAP
GR1ORG="LDAP://cn=" & Grupa1 & ","& JednostkaORG & SufixLDAP
GR2ORG="LDAP://cn=" & Grupa2 & ","& JednostkaORG & SufixLDAP
' tu tworzenie uzytkownika, parametry konta, uslug terminalowych,
' skryptu logowania itp itp itd
' Utworz nowego uzytkownika (ale nie wlaczaj)
Set objOU = GetObject(DrzewoLDAP)
Set objUser = objOU.Create("User", Uzytkownik)
objUser.Put "sAMAccountName", UzytkownikLogin
objUser.SetInfo
' dane o koncie - login itp
Set objUser = GetObject (UzytkownikORG)
objUser.Put "userPrincipalName", UzytkownikLogin & UzytkownikDomena
objUser.Put "sAMAccountName", UzytkownikLogin
objUser.SetInfo
' wlacz konto uzytkownikowi
Set objUser = GetObject (UzytkownikORG)
objUser.AccountDisabled = FALSE
objUser.SetInfo
' Ustaw atrybuty konta uzytkownika
ADS_PROPERTY_UPDATE = 2
Set objUser = GetObject (UzytkownikORG)
objUser.Put "givenName", UzytkownikImie
'objUser.Put "initials", UzytkownikInicjal
objUser.Put "sn", UzytkownikNazwisko
objUser.Put "displayName", UzytkownikImieNazwisko
objUser.Put "physicalDeliveryOfficeName", UzytkownikPokoj
objUser.Put "telephoneNumber", UzytkownikTelefon
if UzytkownikEmail<>"" then objUser.Put "mail", UzytkownikEmail
'objUser.Put "wWWHomePage", "http://www.xxx.yyy.pl"
if UzytkownikOpis<>"" then objUser.PutEx _
ADS_PROPERTY_UPDATE, "description", Array(UzytkownikOpis)
objUser.SetInfo
' ustaw nowe hsalo uzytkownikowi
Set objUser = GetObject (UzytkownikORG)
objUser.SetPassword UzytkownikHaslo
' wymus zmiane hasla przez uzytkownika po zalogowaniu
Set objUser = GetObject (UzytkownikORG)
objUser.Put "pwdLastSet", 0
objUser.SetInfo
' ustaw dane o organizacji
Set objUser = GetObject (UzytkownikORG)
objUser.Put "title", UzytkownikTytul
objUser.Put "department", UzytkownikWydzial
objUser.Put "company", UzytkownikFirma
objUser.SetInfo
' konfiguruje dane informacji o uzytkowniku
Set objUser = GetObject (UzytkownikORG)
objUser.Put "streetAddress", UzytkownikBudynek _
& vbCrLf & UzytkownikUlica
objUser.Put "l", UzytkownikMiasto
objUser.Put "st", UzytkownikWojewodztwo
objUser.Put "postalCode", UzytkownikKod
objUser.Put "c", UzytkownikKraj
objUser.SetInfo
' ustaw parametry uslug terminalowych uzytkownikowi
Set objUser = GetObject(UzytkownikORG)
'**********************************************************************
'* Terminal Services Profile tab
'**********************************************************************
objUser.AllowLogon = LogowanieDoTerminali
objUser.TerminalServicesHomeDirectory = ""
objUser.TerminalServicesHomeDrive = ""
objUser.TerminalServicesProfilePath = ""
'**********************************************************************
'* Remote control tab
'**********************************************************************
objUser.EnableRemoteControl = 2 ' EnableRemoteControl Values:
' Disable = 0
' EnableInputNotify = 1
' EnableInputNoNotify = 2
' EnableNoInputNotify = 3
' EnableNoInputNoNotify = 4
'**********************************************************************
'* Sessions tab
'**********************************************************************
objUser.BrokenConnectionAction = 1 ' Disconnect = 0, End Session = 1
objUser.MaxConnectionTime = 0 ' Time in minutes
objUser.MaxDisconnectionTime = 1 ' Time in minutes
objUser.MaxIdleTime = 60 ' Time in minutes
objUser.ReconnectionAction = 1 ' Any Client = 0, Originating
client = 1
'**********************************************************************
'* Environment tab
'**********************************************************************
objUser.ConnectClientDrivesAtLogon = 1 ' Disabled = 0, Enabled = 1
objUser.ConnectClientPrintersAtLogon = 0 ' Disabled = 0, Enabled = 1
objUser.DefaultToMainPrinter = 0 ' Disabled = 0, Enabled = 1
if TerminalStartProgram<>"" then objUser.TerminalServicesInitialProgram
= TerminalStartProgram
if TerminalWorkDir<>"" then objUser.TerminalServicesWorkDirectory =
TerminalWorkDir
objUser.SetInfo
' ustaw uzytkownikowi parametry profile
Set objUser = GetObject (UzytkownikORG)
if SciezkaProfiles<>"" then objUser.Put "profilePath", SciezkaProfiles
if LogonScript<>"" then objUser.Put "scriptPath", LogonScript
if SciezkaHomes<>"" then objUser.Put "homeDirectory", SciezkaHomes
if DyskHomes<>"" then objUser.Put "homeDrive", DyskHomes
objUser.SetInfo
' Dodaj uzytkownika do dwoch grup zabezpieczen
ADS_PROPERTY_APPEND = 3
Set objGroup = GetObject (GR1ORG)
objGroup.PutEx ADS_PROPERTY_APPEND, "member", _
Array(Uzytkownik & "," & JednostkaORG & SufixLDAP)
objGroup.SetInfo
Set objGroup = GetObject (GR2ORG)
objGroup.PutEx ADS_PROPERTY_APPEND, "member", _
Array(Uzytkownik & "," & JednostkaORG & SufixLDAP)
objGroup.SetInfo
...
-- .---------- -------- ------ ---- ---- --- - -- - | Bartek `saphire` Siebab http://bartek.siebab.netReceived on Thu May 12 20:15:18 2005
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Thu 12 May 2005 - 20:42:02 MET DST