Avatar billede kim Nybegynder
23. oktober 2009 - 11:57 Der er 2 kommentarer og
1 løsning

if member of group

Hej

Jeg kan ikke lige finde ud af hvor jeg skal ligge en "if member of group" then. henne for at det virker





Dim objFSO, WriteText, strText, strNewText, objFile, objConnection, objCommand, objRecordSet, objUser, strUserDN, strResult, arrProxyAddresses, objMemberOf, strFile, StrGrp, strMail

set objFSO = CreateObject("Scripting.FileSystemObject")
strFile = "test.txt"
If objFSO.FileExists("test.txt") Then
objFSO.DeleteFile(strFile)
end if

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection

objCommand.CommandText = _
"SELECT Name, sAMAccountName, mobile, proxyAddresses, homeDirectory, homeDrive, memberOf, scriptPath, distinguishedName FROM 'LDAP://dc=domæne,dc=local' WHERE objectCategory='Person'"
Set objRecordSet = objCommand.Execute

Set WriteText = objFSO.OpenTextFile("test.txt", 8, true)

objRecordSet.MoveFirst

While Not objRecordSet.EOF
    strUserDN = objRecordSet.Fields("distinguishedName")
    set objUser = GetObject("LDAP://" & strUserDN)
        if objUser.AccountDisabled = FALSE Then
            Do Until objRecordSet.EOF
                WriteText.WriteLine("Name" & vbTab & vbTab & ":" & objRecordSet.Fields("Name").Value & vbCr)
                WriteText.WriteLine("Account" & vbTab & vbTab & ":"  & objRecordSet.Fields("sAMAccountName").Value & vbCr)
                WriteText.WriteLine("Mobil" & vbTab & ":" & vbCrLf & vbTab & vbTab & ":" & objRecordSet.Fields("mobile").Value & vbCr)
                                   
                WriteText.WriteLine("Memberships" & vbTab & ":" & vbCr)
                    arrMemberOf = objRecordSet.Fields("memberOf")
                    if isArray(objRecordSet.Fields("memberOf")) Then
                        For Each aMemberOf in arrMemberOf

                            StrGrp = Right(aMemberOf,Len(aMemberOf)-3)
                            StrGrp = Left(StrGrp,InStr(StrGrp,",")-1)
                            WriteText.WriteLine (vbTab & vbTab & ":" & StrGrp & vbCr)
                        Next
                    End if
                  objRecordSet.MoveNext
WriteText.WriteLine
            Loop
        Else
            objRecordSet.MoveNext

        End if
wend
WriteText.Close
Set WriteText = NOTHING
Set objFSO= NOTHING

WScript.Echo "Done"
Avatar billede morten_leth Nybegynder
23. november 2009 - 17:29 #1
Hey

Nu skriver du jo ikke helt hvad det er du gerne vil have, udover du skriver du godt vil have en if sætning der tjekker på et gruppemedlemskab, men du skriver ikke hvad gruppen hedder.

Jeg prøver nu alligevel om jeg ikke kan hjælpe.

Du har denne sætning her og jeg vil mene du skal ligge din sætning herinde i.

For Each aMemberOf in arrMemberOf
If aMemberOf="Gruppenavn" then
  StrGrp = Right(aMemberOf,Len(aMemberOf)-3)
  StrGrp = Left(StrGrp,InStr(StrGrp,",")-1)
  WriteText.WriteLine (vbTab & vbTab & ":" & StrGrp & vbCr)
end if
Next
Avatar billede morten_leth Nybegynder
16. december 2009 - 14:05 #2
Fik du løst dit problem?
Avatar billede kim Nybegynder
18. august 2010 - 13:18 #3
ok
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
Kurser inden for grundlæggende programmering

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