Avatar billede devlen Nybegynder
11. januar 2005 - 18:20 Der er 15 kommentarer

VBScript som kan oprette en bruger i en gruppe

Jeg har en sub som modtager to parametre. Sub’en tilføjer en bruger til gruppe i mit AD. Dette virker fint. Problemet er bare at brugeren skal ligge i en bestemt OU. Er det ikke muligt at gøre dette mere dynamisk. Er det muligt at søge igennem mit domæne for at finde brugeren f.eks. LAP og derefter add denne bruger til en min gruppe.

Mit nu værende script i VBScript

Sub AddMember(strDomainGroup, strMember)
Set objGroup = GetObject("LDAP://CN="& strDomainGroup & ", OU=niv3, 
OU=niv2, OU=niv1, DC=domaene, DC=int")

Set objUser = GetObject("LDAP://cn="& strMember & ", OU=niv3, OU=niv2, OU=niv1, dc=domaene, dc=int")

objGroup.Add objUser.AdsPath
End Sub

Nogen der har et løsningsforslag eller et forslag hvordan jeg skal gribe det an?
Avatar billede lap Nybegynder
11. januar 2005 - 19:35 #1
hvis du nu søger efter NT-account (samaccountname) med set objUser=(WinNT://"NetbiosDomain"/ & strMember,User)
Avatar billede devlen Nybegynder
12. januar 2005 - 08:05 #2
NetBiosDomain... Er ikke den vilde netværkshaj endnu ;)

Men hvordan finder jeg mit mit "NetbiosDomain"??? Håber på et hurtigt svar.
Avatar billede lap Nybegynder
12. januar 2005 - 08:24 #3
det er formentlig "domaene" jævnfør ovenstående.

Når du logger på med en PC (som er med i domænet), så er det navnet, som står i 3. felt (brugernavn, password og domæne).
Avatar billede devlen Nybegynder
12. januar 2005 - 09:13 #4
Sådan, har prøvet med begge og begge fejler???
set objUser = (WinNT://domaene.int/" & strMember,User)
set objUser = (WinNT://domaene.int/" & strMember & ",User)

For den fejler med: compilation error: expected ')'

any ideas?
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:14 #5
se scriptcenter.itms.dk

her er der er en masse vbs scripts fra ms scriptcenter, her er der flere måder og oprette bruger på via vbs
Avatar billede devlen Nybegynder
12. januar 2005 - 09:27 #6
set objUser = GetObject("WinNT://DOMD/" & strMember)
objGroup.Add objUser.AdsPath

Fandt lige selv en fejl... God morgen til mig *G*

Nu crasher den bare i næste linie... Burde den ikke kunne finde stien????
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:28 #7
prøv lige og poste hele scriptet
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:29 #8
Const ADS_PROPERTY_APPEND = 3

Set objGroup = GetObject _
  ("LDAP://cn=Sea-Users,cn=Users,dc=NA,dc=fabrikam,dc=com")

objGroup.PutEx ADS_PROPERTY_APPEND, "member", _
    Array("cn=Scientists,ou=R&D,dc=NA,dc=fabrikam,dc=com", _
      "cn=Executives,ou=Management,dc=NA,dc=fabrikam,dc=com", _
      "cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")

objGroup.SetInfo
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:30 #9
dette script opretter myerken og gør ham medlem af to grupper
Avatar billede devlen Nybegynder
12. januar 2005 - 09:35 #10
Problemet er at mine bruger ligger i mange forskellige grupper, så skal have søgt AD gennem dynamisk på en eller anden måde...

Sub FindUser(strMember)
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
   
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = ";" & "(&(objectCategory=User)(objectClass=User)(name= " & strMember & "));" & "AdsPath,Name;subtree"
   
    Set objRecordSet = objCommand.Execute
    strMember = objRecordset.Fields("AdsPath")
    objConnection.Close
End Sub


Men her fejler CommandText, nogen som kan se fejlen?
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:40 #11
kan du skrive den nøjagtige fejl ?
Avatar billede devlen Nybegynder
12. januar 2005 - 09:50 #12
Fejlbesked:"Provider: One or more errors"

Er et 100 % at den er galt med

";" & "(&(objectCategory=User)(objectClass=User)(name= " & strMember & "));" & "AdsPath,Name;subtree"

Nogen som kan se fejlen???
Avatar billede drukkenbolden Nybegynder
12. januar 2005 - 09:57 #13
prøv og printe denne streng ud og fortæl os hvad den skriver

";" & "(&(objectCategory=User)(objectClass=User)(name= " & strMember & "));" & "AdsPath,Name;subtree"
Avatar billede devlen Nybegynder
12. januar 2005 - 10:22 #14
Fandt selv løsningen.... Til andres som skulle ind i det samme problem...


strMember = "TESTUSER"
strDomainGroup = "TESTGROUP"


Call FindUser(strMember)
Call AddMember(strDomainGroup, strMember)


Sub AddMember(strDomainGroup, strMember)
    Set objGroup = GetObject("LDAP://hvor din gruppe ligger")
    objGroup.Add strMember
End Sub


Sub FindUser(strMember)
    ' Get the configuration naming context.
    Set objRootDSE = GetObject("LDAP://RootDSE")
    varDomainNC = objRootDSE.Get("defaultNamingContext")

    ' Build the query to find the user (User1) based on the alias.
    strQuery = "<LDAP://" & varDomainNC & ">;(mailNickName=" & strMember &    ");distinguishedname,ADsPath;subtree"
   
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
   
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.CommandText = strQuery
   
    Set objRecordSet = objCommand.Execute
    strMember = objRecordset.Fields("AdsPath")
    WScript.Echo strMember
    objConnection.Close
End Sub
Avatar billede devlen Nybegynder
12. januar 2005 - 10:23 #15
Ups.. Andres=Andre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester