Avatar billede nopper Praktikant
15. september 2005 - 09:44 Der er 5 kommentarer og
2 løsninger

Active Directory eksort til csv fil

Er der nogen dr kan hjælpe med at få lavet en csv fil over hele Active directory i et domæene?
Avatar billede holmus Nybegynder
15. september 2005 - 09:49 #1
Link: http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx

Jeg har en masse scripting derhjemme, som jeg evt. kan sende dig i aften - hvis du ikke selv kan gennemskue disse...
Avatar billede nopper Praktikant
15. september 2005 - 09:57 #2
Ja,det vil jeg meget gerne have, da jeg ikke kan overskue, hvilket af dem jeg skal bruge.
Avatar billede holmus Nybegynder
15. september 2005 - 09:58 #3
Der er ikke et enkelt herinde du skal bruge... der er flere, men jeg kigger lige på det i aften, når jeg kommer hjem engang! ;-) - medmindre andre kommer med noget, inden da... :-)
Avatar billede nopper Praktikant
15. september 2005 - 13:02 #4
Det lyder godt. På forhånd tak. Du får point, når jeg se om jeg kan bruge de.
Avatar billede holmus Nybegynder
15. september 2005 - 23:22 #5
Script der laver filen writefile.csv:

On Error Resume Next

Dim objFileSystem, objOutputFile
Dim strOutputFile

Const OPEN_FILE_FOR_APPENDING = 8

strOutputFile = "c:\writefile.csv"
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objOutputFile = objFileSystem.OpenTextFile(strOutputFile, OPEN_FILE_FOR_APPENDING)

Set colItems = GetObject _
    ("LDAP://ou=managed users,dc=nwtraders,dc=msft")
colItems.Filter = Array("User")

For Each objItem in colItems
Wscript.Echo objItem.cn
strUserPrincipalName = objItem.Get("userPrincipalName")
strSAMAccountName = objItem.Get("sAMAccountName")
strUserWorkstations = objItem.Get("userWorkstations")
strDisplay = objItem.Get("displayName")
strName = objItem.Get("name")
strGname = objItem.Get("givenName")
strIni = objItem.Get("initials")
strSn = objItem.Get("sn")

objOutputFile.WriteLine strUserPrincipalName _
        & "," & strSAMAccountName _
        & "," & strDisplay _
        & "," & strName _
        & "," & strGname _
        & "," & strSn _
        & "," & strIni
next
objOutputFile.Close

Set objFileSystem = Nothing

WScript.Quit(0)
Avatar billede holmus Nybegynder
15. september 2005 - 23:23 #6
Og script der læser selvsamme fil, og eks. opdaterer dit AD...

' Sample Usage --

'TestString = "Phyisical, Data, Network, Transport, Application, Session, Presentation"
'FYI - First data field is id=0
Dim objFileSystem, objInputFile
Dim strInputFile, inputData, strData

Const OPEN_FILE_FOR_READING = 1

' generate a filename base on the script name, here readfile.in
strOutputFile = "c:\Writefile2.csv"

Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set TestString = objFileSystem.OpenTextFile(strOutputFile, OPEN_FILE_FOR_READING)

'------


Private Function CSV_Results(csvstring, fieldID)

    i = 0
    Comma = Array(i)
    result = Array(i)

    Comma(i) = InStr(1, csvstring, ",")

    result(i) = Left(csvstring, Comma(i)-1)
        If InStr(1, result(i), CHR(34)) <> 0 Then
            Qpos1 = InStr(1, csvstring, CHR(34))
            Qpos2 = InStr(Qpos1 +1 , csvstring, CHR(34))
            Comma(i) = InStr(Qpos2 +1, csvstring, ",")
            result(i) = Mid(csvstring, Qpos1+1, Qpos2-Qpos1-1)
        End If


    Do While Comma(i) <> 0
   
        i = i + 1
        ReDim Preserve Comma(i)
        ReDim Preserve result(i)

        Comma(i) = InStr(Comma(i-1)+1, csvstring, ",")
        If Comma(i) <> 0 Then
            result(i) = Mid(csvstring, Comma(i-1)+1, Comma(i) - Comma(i-1) -1 )
            If InStr(1, result(i), CHR(34)) <> 0 Then
                Qpos1 = InStr(Comma(i-1), csvstring, CHR(34))
                Qpos2 = InStr(Qpos1 +1 , csvstring, CHR(34))
                Comma(i) = InStr(Qpos2 +1, csvstring, ",")
                result(i) = Mid(csvstring, Qpos1+1, Qpos2-Qpos1-1)
            End If
       
        End If

    Loop

    strLength = Len(csvstring)
    result(i) = Right(csvstring, strLength - Comma(i-1))
    If InStr(1, result(i), CHR(34)) <> 0 Then
        result(i) = Replace(result(i), CHR(34), "")
    End If

    CSV_Results = result(FieldID)

End Function
Avatar billede nopper Praktikant
16. september 2005 - 15:27 #7
Tak for det.
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