Jump to content

Telefonliste AD Forest CSV-Export


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

Empfohlene Beiträge

Hallo,

 

ich bin momentan dabei eine Telefonliste aus dem AD zu erstellen über einen CSV-Export via Powershell AD Modul

 

Soweit sogut, funktioniert für die Domäne ganz gut.

 

In der Domäne gibt es aber 2 Subdomains. Die User aus der Subdomain werden nicht ausgelesen.

 

Ich will hier nicht die namen der Domänen nennen deswegen zum Verständnis folgende Bezeichnungen:

 

Hauptdomain = firma.local

subdomains = aussentelle-standort.firma.local

 

Ich hoffe ich hab keine Tippfehler jetzt beim übernehmen gemacht ;)

 

Hat hier jemand ne Idee wie das ganze klappen könnte?

 

Mit Google komm ich momentan nicht weiter und unter der Fehlermeldung kann ich mir auch nicht wirklich was vorstellen.:confused:

 

Extra ein Script basteln möchte ich nicht weil ich mit dem coden an sich total auf Kriegsfuß stehe. Außerdem muss es ja mit dem Powershell AD Modul Befehl auch klappen, die "normalen AD" User macht er ja auch.

 

1. Code -ohne Searchbase- liefert den Inhalt der "Hauptdomain"

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}-property title,l,telephoneNumber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone |Export-CSV xxx.csv -NoTypeInformation -encoding "unicode"

 

2. Code -mit Searchbase- liefert den Inhalt der "Hauptdomain"

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}-Searchbase "DC=firma ,DC=local" -property title,l,telephoneNumber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone |Export-CSV xxx.csv -NoTypeInformation -encoding "unicode"

 

3. Code mit Searchbase Subdomain bringt Fehlermeldung

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}-Searchbase "DC=aussenstelle-standort,DC=firma,DC=local" -property title,l,telephoneNumber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone |Export-CSV xxx.csv -NoTypeInformation -encoding "unicode"

 

Fehlermeldung:

Get-ADUser : Eine Referenzauswertung wurde vom Server zurückgesendet

Bei Zeile:1 Zeichen:11

+ Get-ADUser <<<< -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}

-Searchbase "DC=aussenstelle-standort,DC=firma,DC=local" -property title,l,telephoneN

umber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone

+ CategoryInfo : ResourceUnavailable: ( : ) [Get-ADUser], ADReferra

lException

+ FullyQualifiedErrorId : Eine Referenzauswertung wurde vom Server zurückg

esendet,Microsoft.ActiveDirectory.Management.Commands.GetADUser

Link zu diesem Kommentar

Hi,

 

häng noch den Parameter "-Server" an mit Angabe eines DCs der Child-Domäne, dann sollte es klappen:

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}-Searchbase "DC=aussenstelle-standort,DC=firma,DC=local" -server SubDomainDCName.sub.domain.tld -property title,l,telephoneNumber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone |Export-CSV xxx.csv -NoTypeInformation -encoding "unicode"

Viele Grüße

olc

Link zu diesem Kommentar

Hi,

 

Du kannst

 

a) den Global Catalog befragen (servername:3268 = Server + Port), jedoch ist mobilePhone meiner Erinnerung standardmäßig nicht Teil des GC. Das könntest Du aber noch einmal gegenprüfen.

 

b) einfach die Befehle jeweils hintereinander gegen die Domains ausführen und ab dem zweiten Durchlauf hinter das "Export-CSV" ein "-Append" anhängen. ;)

 

http://technet.microsoft.com/en-us/library/hh849932.aspx

 

Das wäre aus meiner Sicht die schnellsten Lösungen.

 

Wenn Du "cool" sein möchtest (und es richtig gut machen möchtest), baust Du Dir ein eigenes PowerShell Objekt, in das Du alle Ergebnisse übergibst und erst danach den Export-CSV Befehl gegen das Objekt ausführst. Das ist nicht schwer, aber vermutlich möchtest Du diese Baustelle gerade nicht auch noch aufmachen oder...? :)

 

Viele Grüße

olc

Link zu diesem Kommentar

Hat alles super funktioniert. Hab jetzt eine .ps1 Datei erzeugt mit den 3 Befehlen und einen Cronjob angelegt. Dadurch ist dann immer eine aktuelle .csv Datei am Server und somit muss man dann nur im Excel auf eine Schaltfläche klicken, die Datei auswählen und den Rest übernimmt ein aufgezeichnetes Makro.

 

Da ich mit proggen/scripten etc. eh auf Kriegsfuß stehe möchte ich in dem Fall nicht cool sein :D Mir recht es wenn es funktioniert :D

Ich bin schon mehr als Stolz, dass ich die Befehle für die Powershell gefunden habe :D

 

Aber danke für den Tipp, wenn ich mal viel Zeit habe, werd ich mir das mit den Objekten in der Powershell mal anschauen.

Link zu diesem Kommentar
  • 5 Monate später...

Hallo Leute,

 

über sehr lange Zeit hat mir die Lösung gereicht und es lief alles tip top.

 

Jetzt scheitere ich an der nächsten Anpassung. Ich möchte von der Telefonnummer, nur die letzten 3 Stellen haben, quasi die Durchwahl.

 

Nachdem ich ein wenig rumgegoogelt habe, habe ich rausgefunden, dass es mit Substrings gehen kann. Ich hab mal ein bisschen was rauskopiert.

 

$string = “MyString”

$string.Substring($string.Length – 3, 3)

Die Frage die sich jetzt stellt, wie kann ich das mit meinem bisherigen Befehl verheiraten?

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"}-Searchbase "DC=aussenstelle-standort,DC=firma,DC=local" -server SubDomainDCName.sub.domain.tld -property title,l,telephoneNumber,MobilePhone| Select Name,title,l,telephoneNumber,MobilePhone |Export-CSV xxx.csv -NoTypeInformation -encoding "unicode"

 

Die Sache zum Thema Substring habe ich hier gefunden http://www.mywinkb.com/get-the-right-of-a-string-in-powershell/

Link zu diesem Kommentar

Hallo xxxWotanxxx,

 

ich habe deinen Code etwas erweitert, somit erhaltest du für das Attribut "telephoneNumber" nur die letzten drei Zeichen.

 

$telephoneNumber = @{n="telephoneNumber";e={($_.telephoneNumber).Substring(($_.telephoneNumber).Length - 3, 3)}}

 

Get-ADUser -Filter {telephoneNumber -Like"*" -or MobilePhone -Like "*"} -Searchbase "DC=aussenstelle-standort,DC=firma,DC=local" -Server SubDomainDCName.sub.domain.tld -Property title,l,telephoneNumber,MobilePhone | 
Select Name,title,l,$telephoneNumber,MobilePhone | 
Export-CSV xxx.csv -NoTypeInformation -Encoding "unicode"

 

 

Vorab wird die entsprechende "Berechnung" des Wertes für "telephoneNumber" gespeichert und anschließend im Select-Teil ersetzt.

Ich hoffe das hilft dir weiter.

 

Gruß 

bearbeitet von PSA
Link zu diesem Kommentar
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...