Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS - Auslesen ob User member in einen bestimmten AD Gruppe ist

Frage Entwicklung VB for Applications

(Level 1)

07.02.2007, aktualisiert 08.02.2007, 8597 Aufrufe, 2 Kommentare

Hallo Leute,

ich habe ein Script geschriben welches ich gerne auf AD Gruppen beschränken würde. Das bedeutet wenn der Benutzer der das Script ausführt in einer bestimmten Gruppe im AD member ist kann er das Script starten. Wenn nicht schließt sich das Script mit einer Fehlermeldung MSGBOX automatisch.


'Globale Dim
Dim Netpath, Personalnummer, UserID, Information, TitelScript, intAnswere
Dim Username, DeleteFile, DeleteFolder, OpenTextFile

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set g_onw = WScript.CreateObject("Wscript.Network")
Set Logdatei = oFSO.OpenTextFile ("\\r-nas-wi-701\logs$\Cleaner.log",8,True)
Set oshell = CreateObject("Shell.Application")

Netpath = "\\r-sbc-wi-701\sbcprofile$\"
Information = "Profile Cleaner V1.0" & VbCrLf & " " & VbCrLf & " " & VbCrLf & " " & VbCrLf & " " & VbCrLf & "Bitte geben Sie die Personalnummer des Users an:"
TitelScript = "Profile Cleaner V1.0"

Do While 1
' Abfrage der Personalnummer
UserID = InputBox (Information,TitelScript,"",vbQuestion)
If UserID = "" Then
MsgBox "Das Programm wird geschlossen", vbInformation, "Profile Cleaner V1.0"
Wscript.Quit
End If

' Output wenn kein CTX Profil mit dem Usernamen existiert.
If Not (oFSO.FolderExists(Netpath & USERID)) Then
MsgBox "Der Benutzer > " & UserID & " < besitzt kein Citrix Profil oder die Personalnummer ist falsch!", vbInformation, "Profile Cleaner V1.0"
' WScript.Quit
End If

' Output wenn CTX Profil mit dem Usernamen existiert dann Abfrage ob wirklich gelöscht werden soll.
If (oFSO.FolderExists(Netpath & USERID)) Then
intAnswer = _
MsgBox ("Wollen Sie wirklich das Citrix Profil des benutzers > " & UserID & " < zurücksetzen?", vbQuestion + vbYesNo, "Profile Cleaner V1.0")
If intAnswer = vbYes Then
' Files und Folder im Citrix Profil löschen
oFSO.DeleteFile (Netpath & UserID & "\*.*"), True
oFSO.DeleteFolder (Netpath & UserID & "\*.*"), True
' Ab hier wird ins log geschrieben
log_eintrag = Now & " Der Benutzer: " & g_oNw.UserName & " hat das Citrix Profil des benutzers " & UserID & " erfolgreich zurückgesetzt."
logdatei.WriteLine(log_eintrag)
logdatei.Close
' MSG Erfolgreich
MsgBox "Das Citrix Profil des benutzers > " & UserID & " < wurde erfolgreich zurückgesetzt" , vbInformation, "Profile Cleaner V1.0"
Else
' MSG Abgebrochen
MsgBox "Das zurücksetzen des profils wurde durch den Benutzer abgebrochen!" , vbInformation, "Profile Cleaner V1.0"
End If
End If
Loop


Ich habe schon viel im WWW gesucht aber nichts passendes gefunden das ich einbauen könnte. Leider habe ich auch noch nicht viel Erfahrung mir Scripting was das AD betrifft.

Villeicht könnt Ihr mir hier weiterhelfen.
Mitglied: bastla
07.02.2007 um 15:29 Uhr
Hallo NeoGate1604 und willkommen im Forum!

Jede Menge Beispielscripts gibt es von MS zB für AD, oder konkret für Gruppenmitgliedschaften etwa hier ...

HTH
bastla
Bitte warten ..
Mitglied: bastla
07.02.2007 um 19:25 Uhr
Hallo NeoGate1604!

ich habe ein Script geschriben
Ich habe schon viel im WWW gesucht aber nichts passendes gefunden
Ich dachte, Du bräuchtest nur etwas Info ...

Na gut, etwas Kurzes - der folgende Codeteil geht alle einer bestimmten Gruppe (OU der Gruppe ist anzugeben) zugeordneten Benutzer mit ihren Anmeldenamen durch und überprüft die Übereinstimmung mit dem Inhalt der Variablen "UserID" (zur besseren Vergleichbarkeit in Kleinbuchstaben - schadet auch nicht, wenn die "UserID" rein numerisch sein sollte):
01.
bIsMember = False 
02.
Set objGroup = GetObject("LDAP://CN=GesuchteGruppe,OU=OUderGruppe,DC=firma,DC=local") 
03.
For Each sUser in objGroup.Member 
04.
    Set objUser =  GetObject("LDAP://" & sUser) 
05.
    If LCase(objUser.sAMAccountName) = LCase(UserID) Then 
06.
        bIsMember = True 
07.
        Exit For 
08.
    End If 
09.
Next 
10.
If bIsMember Then MsgBox UserID & " ist Miglied der überprüften Gruppe."
Wenn Du's von der anderen Seite her angehen willst (alle Gruppenmitgliedschaften des angemeldeten Users auflisten), siehe hier.

HTH
bastla
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst AD-User einer AD-Gruppe auslesen und in ein File schreiben (15)

Frage von Estefania zum Thema Windows Server ...

Windows Userverwaltung
gelöst Gruppenmitgliedschaft einer AD Gruppe per cmd auslesen (2)

Frage von RamboJay zum Thema Windows Userverwaltung ...

Batch & Shell
gelöst User und AD Gruppe finden - wie das Pferd aufzäumen (5)

Frage von H41mSh1C0R zum Thema Batch & Shell ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
DNS ins mehreren Subnetzen (13)

Frage von joerg zum Thema Windows Netzwerk ...