Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

existierende user im ad abfragen

Empfohlene Antworten

Veröffentlicht

hi leute ich brauch hilfe bei folgendem script:

es soll auslesen ob user die auf mehrere textdateien verteilt sind bereits im ad existieren, wenn sie nicht existieren soll eine entsprechende meldung ausgegeben werden. wenn das mit den mehreren textdateien zu kompliziert ist, auch gerne dann nur aus einer file, den rest bekomm ich dann selbst hin :)

also den zugriff aufs ad regel ich mittlerweile mit:

Shell("cmd /C dsquery user -o samid -limit 10000 > C:/benutzer.txt")

das ganze liest dir alle benutzer im ad aus (außer du hast mehr als 10000 drin :P ) und schreibt diese dann in eine textdatei die ich dann wieder auslese.

gib einfach mal im cmd-fenster die befehle:

- dsadd user /?

- dsmod user /?

- dsquery user /?

ein

lg

jasso

die befehle kenn ich schon aber danke, mir gings ja darum die user die in der textfile stehen auf existenz zu überprüfen und nicht alle user in ne textfile zu schreiben

wie wird die textfile dann ausgelesen?

wenn du einen benutzer auf existenz prüfen willst müsste der befehl

Shell("cmd /C dsquery user -samid [benutzername] > C:/benutzer.txt")
lauten in benutzer.txt steht dann entweder was drin, oder die datei ist leer. auslesen tu ich die textdatei so:
        Dim f As FileInfo

            f = New FileInfo("C:/benutzer.txt")

            If f.Exists Then

                 ' --- Datei öffnen

                Dim fs As FileStream = New FileStream( _

                "C:/benutzer.txt", FileMode.Open, 

                FileAccess.Read)

                ' --- Stream öffnen

                Dim r As StreamReader = New StreamReader(fs)

                ' --- Zeiger auf den Anfang

                r.BaseStream.Seek(0, SeekOrigin.Begin)

                ' --- Alle Zeilen lesen und an Console ausgeben

                While r.Peek() > -1

                    ' --- über "r.ReadLine" irgendwas mit der zeile machen

                 End While

                r.Close()

                fs.Close()

                f.Delete()

                ' --- Reader und Stream schließen

            End If

die textdatei wird hier auch gleich nach dem lesen gelöscht

edit:

ah ja evtl. sollt ich noch dazusagen dass ich das ganze in VB.NET mache. und du? :floet:

im editor :rolleyes:

Shell("cmd /C dsquery user -samid [benutzername] > C:/benutzer.txt")

wie sag ich ihm dann noch, dass wenn er existiert z.B. die Meldung Existiert oder wenn nicht Existiert nicht ausgibt?

im editor :rolleyes:
weiß ich nicht obs mit vb-script funktioniert.

wie sag ich ihm dann noch, dass wenn er existiert z.B. die Meldung Existiert oder wenn nicht Existiert nicht ausgibt?
ich hoffe doch du kriegst eine ausgabe hin :rolleyes:

ansonsten fragst du halt einfach ab ob die erste zeile (bzw. die ganze textdatei) der textdatei leer ist oder nicht.

ich nehme an das auslesen der textdatei wirst mit vb-script eh anders machen müssen als mit VB.NET (hab noch nie vb-script gemacht ;) )

ich steh jetzt grad voll aufm schlauch, ich bekomms echt net gebacken...

kann mir jmd ein konkretes beispiel geben in dem einfach ein user (am besten einer der zuvor mit einer variablen eingegeben wurde) mit vb-script im ad gesucht wird und wenn dieser vorhanden, bzw. nicht vorhanden ist eine entsprechende ausgabe am bildschirm erscheint? das mit dem datei auslesen bekomm ich dann selber hin denk ich mal

versuch eine der beiden syntaxangaben, WinNT:// funktioniert meines wissens nur auf NT 4 domaincontrollern.

Sub QueryForUser(strUserName)

    Set objDomain = GetObject("WinNT://FABRIKAM")

    objDomain.Filter = Array("user")

    For Each User In objDomain

        If lcase(User.Name) = lcase(strUserName) Then

            WScript.Echo User.Name & " already exists."

            WScript.Quit

        End If    

    Next

End Sub
oUser = GetObject("LDAP://cn=username,ou=userOU,dc=mycompany,dc=com")

wcript.echo oUser.DisplayName

s'Amstel

danke aber ich bin wohl zu doof für vb *lol*

für ein anderes problem hatte ich es so gelöst:

dialin.vbs:

dim param

param = WScript.arguments.item(0)

param = replace(param,"\", "/")


set usr= GetObject ("WinNT://domainname/" & param)


usr.dialinprivilege = true

usr.SetInfo

mit einer bat file hab ich das dann gestartet:

for /f "eol=; tokens=1" %%i in (..\script\user\01_users.txt) do cscript ..\script\dialin.vbs %%i

und die hat aus der textfile dann die user ausgelesen. es stehen aber nur die usernamen drin nicht die komplette CN und DC sachen, und das soll bzw muss so bleiben

kannst du mir das similar hierzu nochmal erklären *liebguck* :bimei

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.