Jump to content

AD: E-Mail-Typ auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen!

 

Bezüglich LDAP-Abfragen und Scripting bin ich absoluter Laie. Daher richte ich meine Frage an Euch.

 

Wir setzen neben Ex2k3 einen Fax-Server ein.

Dieser ordnet den Usern eine Faxnummer zu, die im AD als Mail-Adresse hinterlegt wird.

So hat der User neben einer oder mehreren SMTP-Adressen auch eine Adresse vom Typ "FAX" mit der dazugehörigen Fax-Nummer.

 

Nun hat man natürlich bei der Vergabe der Faxnummern und der Faxzugänge überhaupt nicht immer richtig dokumentiert.

 

Ich möchte alle User in unserem ADS auflisten, die eine Mail-Adresse vom Typ "FAX" besitzen. Die Fax-Nummer sollte nach Möglichkeit mit ausgegeben werden.

 

Danke vorab für jede Hilfe und beste Grüße

Axel

Geschrieben

wenn du das ad user and computer aufrufst, kannst du unter dem punkt gespeicherte abfragen suchoptionen festlegen, so könntest du dir auch alle user mit fax oder was auch immer anzeigen lassen. ansonsten könnte es auch über die befehlzeile mit dsquery klappen, aber über die gespeicherte abfrage ist einfacher und bequemer:cool:

Geschrieben

Hallo,

 

Du kannst die meisten Attribute mit beliebigen LDAP-Abfragen ausgeben. Mir ist im Moment nicht ganz klar, was Du mit "Typ Fax" meinst. Ist es eine eigene Klasse oder ein eigenes Attribut? Eher letzteres oder?

 

Kleines Beispiel mit dsquery, sollte es ein Attribut sein:

dsquery * -filter "(&objectcategory=user)(objectclass=user))" -attr sAMAccountName fax

 

Du kannst jedoch auch *zig andere Tools / Programme dafür verwenden.

 

Viele Grüße

olc

Geschrieben

hallo,

genau so dachte ich das auch, genau diese abfrage macht ja auch die gespeicherte abfrage. also ich hab gestern abend das noch mal bei mir gemacht und bekomm ohne weiters die user mit fax nummer. das kannst du auch mit anderen attributen machen, sogar ne bestimmte wert so weit ich meine. und die abfrage mit dsquery kannst du dann in einer zeile übergeben an andere befehle wie dsmove und dann in bestimmte ou's verschieben etc.

Geschrieben

Nein Fax ist kein eigenes Attribut, sondern ein Wert im mehrwertigen Attribut "Proxy Addresses". Wenn ich das mit dsquery auslese, bekomme ich auch die diversen SMTP Adressen, die x.400 Adresse usw. Man kann es aber per Script mit "getex" auslesen und dann das Array nach dem richtigen durchsuchen.

Geschrieben

Ja klar geht das, aber dann hast du alle Adresstypen durcheinander...

 

Edit:

 

Man kann das natürlich auch dann mit einem Makro bereinigen, aber eleganter wäre gleich in vbs. Ich poste nachher das Skript, dann wirds klarer.

Geschrieben
Ja klar geht das, aber dann hast du alle Adresstypen durcheinander...

 

Edit:

 

Man kann das natürlich auch dann mit einem Makro bereinigen, aber eleganter wäre gleich in vbs. Ich poste nachher das Skript, dann wirds klarer.

 

das wäre prima, würde mich sehr interessieren, zumal ich bezüglich scripts noch voll der bauer bin:rolleyes:

Geschrieben
Nein Fax ist kein eigenes Attribut, sondern ein Wert im mehrwertigen Attribut "Proxy Addresses". Wenn ich das mit dsquery auslese, bekomme ich auch die diversen SMTP Adressen, die x.400 Adresse usw. Man kann es aber per Script mit "getex" auslesen und dann das Array nach dem richtigen durchsuchen.

 

Ah, ok. Jetzt verstehe ich das Problem.

 

Könnte man z.B. so in der PowerShell erledigen:

 

$category = "(&(objectclass=user)(objectcategory=user)(proxyaddresses=fax*))"
$AD = [ADSI]"LDAP://DC=testdom,DC=intern"
$properties = "samaccountname", "proxyaddresses"

$search = New-Object System.DirectoryServices.DirectorySearcher($AD,$category)
$search.PageSize = 1000

foreach ($value in $properties) {
$search.PropertiesToLoad.Add($value)
}


$result = $search.Findall()


foreach ($val1 in $result) {
write-host
write-host
write-host $val1.properties.samaccountname
write-host =======================

foreach ($val2 in $val1.properties.proxyaddresses) {
	if ($val2 -like "fax*") {	
		write-host $val2
	}
}

}

 

Viele Grüße

olc

Geschrieben

als Freund von Einzeilern :D

 

get-qaduser | format-table name,fax -autosize | out-file C:\Temp\UsersAndFax.txt

 

oder wie gewünscht nur User mit nichtleeren Faxnummern

 

get-qaduser | ?{$_.fax -match "."} |format-table name,fax,phonenumber,pager -autosize | out-file C:\Temp\UsersAndNumbers.txt

 

Allerdings müssen die kostenlosen cmdlets von quest installiert sein: PowerShell Commands for Active Directory Quest Software Die sind für die ADVerwaltung mit der Powershell fast schon Pflicht

 

cu

blub

Geschrieben

Hallo zusammen!

 

Um meine Fragestellung einmal auf den Punkt zu bringen, anbei ein Auszug aus den Einstellungen meines Benutzerkontos inkl. der Fax-Adresse.

 

Danke für Eure bisherige Hilfe. Die Ein- und Mehrzeiler werde ich nachher einmal testen.

 

Schönen Gruß und ein schönes langes Wochenende!

 

Axel

post-47876-13567389552228_thumb.jpg

  • 2 Monate später...
Geschrieben

Hallo zusammen,

 

ich stehe vor dem gleichen Problem wie Hamspirit.

 

Der Code von olc hat in meiner Testumgebung funktioniert.

Der coole Einzeiler :) hat leider nicht den gewünschten Erfolg gebracht. Die txt Datei war leer (obwohl User mit Faxnr existieren)

 

Dies nur als Feedback

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...