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
GELÖST

VBScript, Active Directory User Properties auslesen

Frage Entwicklung VB for Applications

Mitglied: tschini

tschini (Level 1) - Jetzt verbinden

31.03.2008, aktualisiert 28.04.2008, 22637 Aufrufe, 5 Kommentare

Ich muss mit VBS einige Optionen von Benutzern auslesen. Die einzelnen Attribute (z.B. AccountDisabled, givenname etc.) such ich mir mit dem ADSI Edit Raus.

Die meisten Attribute funktionieren. Mit dem Attribut proxyAddresses bekommt man die E-Mail Adresse sowie deren Aliases zurück. Jedoch haben eineige Account's kein E-Mail Adresse was zu einem Error führt. Deshalb will die zuerst mit einer "IF" Abfrage abfragen, ob überhaupt etwas vorhanden ist. Wenn nichts gesetzt ist, steht im ADSI Edit "<Not Set>". Wie kann ich abfragen ob dem so ist, hab schon null, emptyornull, "" etc. versucht, jedoch kommt bei diesen immer "Type mismatch". Kann mit jemand dabei Helfen?
Mitglied: TuXHunt3R
01.04.2008 um 13:06 Uhr
Poste doch mal deinen Code, dann sehen wir weiter.
Bitte warten ..
Mitglied: tschini
02.04.2008 um 10:09 Uhr
01.
 
02.
OPTION EXPLICIT 
03.
 
04.
Dim objDSE 
05.
Dim strAdPfad 
06.
Dim objWF 
07.
Dim objFile 
08.
Dim objLdapConnection 
09.
Dim objAdObject 
10.
Dim strsollname 
11.
Dim intgesamt 
12.
Dim intneu 
13.
Dim strAdresses 
14.
Dim strPEMail 
15.
Dim strNewName 
16.
 
17.
intgesamt = 0 
18.
intneu = 0 
19.
 
20.
Set objDSE = GetObject("LDAP://rootDSE") 
21.
Set objWF = CreateObject("Scripting.FileSystemObject") 
22.
 
23.
Set objFile = objWF.CreateTextFile("C:/Documents and Settings/User/Desktop/Change Display Name/Test.txt", True) 
24.
 
25.
strAdPfad = "ou=Users," & objDSE.Get("defaultNamingContext") 
26.
 
27.
Set objLdapConnection = GetObject("LDAP://" & strAdPfad) 
28.
 
29.
For Each objAdObject In objLdapConnection 
30.
	Select Case objAdObject.Class 
31.
	Case "user" 
32.
		If objAdObject.AccountDisabled = FALSE Then 
33.
			strPEMail = "" 
34.
			On error Resume Next 
35.
			For Each strAdresses In objAdObject.proxyAddresses 
36.
				If instr(1,strAdresses,"SMTP") Then 
37.
					strPEMail = Replace(strAdresses,"SMTP:","") 
38.
				End If 
39.
			Next 
40.
			strsollname = objAdObject.sn & " " & objAdObject.givenname & " (" & strPEMail & ")"  
41.
			intgesamt = intgesamt + 1 
42.
			If objAdObject.displayname = strsollname Then 
43.
				WScript.echo objAdObject.samaccountname & " in Ordnung" 
44.
			Else 
45.
				WScript.echo objAdObject.samaccountname & " geändert" 
46.
				If strPEMail = "" Then 
47.
					strNewName = objAdObject.sn & " " & objAdObject.givenname 
48.
				Else 
49.
					strNewName = objAdObject.sn & " " & objAdObject.givenname & " (" & strPEMail & ") " 
50.
				End If 
51.
				objFile.WriteLine objAdObject.samaccountname & vbTab & objAdObject.displayname & vbTab & strNewName 
52.
				objAdObject.displayname = strNewName 
53.
				objAdObject.setinfo 
54.
				intneu = intneu + 1 
55.
			End If 
56.
		End If 
57.
	End Select 
58.
Next 
59.
objFile.Close 
60.
Set objWF = Nothing 
61.
WScript.echo "Neu geschrieben: " & intneu & " Gesamt: " & intgesamt 
62.
 
Ich umgehe das Problem jetzt mit "On error Resume Next", jedoch ignoriert dies einfach den Error. Funkioniert, ist jedoch nicht ganz sauber. Deshalb wüsst ich gerne den return Typ von "objAdObject.proxyAddresses" damit ich mit einer IF Abfrage abfragen kann, ob diese nichts enthält.
Bitte warten ..
Mitglied: TuXHunt3R
02.04.2008 um 20:39 Uhr
Fass den Code in Codeformatierungsblöcke.

Hier steht wies geht:
http://www.administrator.de/index.php?faq=20#toc26

Mit "Editieren" kannst du einen Beitrag nachträglich ändern
Bitte warten ..
Mitglied: lifeadmin
28.04.2008 um 10:52 Uhr
Versuchs mal den Fehler mit folgendem abzufangen:

try {

}

catch (ex as exception) {

console.writline (ex.tostring)

}
Bitte warten ..
Mitglied: n4426
22.06.2011 um 22:28 Uhr
Hi tschini,

da die Frage ja als gelöst makiert ist, wollte ich mal fragen, wie du das Problem jetzt gelöst hast? Hab das gleiche Problem (nur mit einem andern Attributt).

mfg
n4426
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...