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, 22403 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).

Mit freundlichen Grüßen
n4426
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows Server
Active Directory User löschen inkl Profilordner (23)

Frage von aif-get zum Thema Windows Server ...

Windows 8
gelöst Active Directory Default User.v2 Profile - Windows 8.1 Apps Error (4)

Frage von adm2015 zum Thema Windows 8 ...

Windows Server
gelöst Active Directory Domain Default User Profile (for Windows 8.1) (4)

Frage von adm2015 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...