xxxWotanxxx 10 Geschrieben 5. Dezember 2012 Melden Teilen Geschrieben 5. Dezember 2012 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ückgesendetBei 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 Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 8. Dezember 2012 Melden Teilen Geschrieben 8. Dezember 2012 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 Zitieren Link zu diesem Kommentar
xxxWotanxxx 10 Geschrieben 10. Dezember 2012 Autor Melden Teilen Geschrieben 10. Dezember 2012 Herzlichen Dank olc, hat funktioniert. Gibt es ne Möglichkeit, diese 3 Befehle (Hauptdomain + 2 Subdomains) in einen Befehl zu packen? Ziel sollte sein, dass die Inhalte der 3 Domains in eine CSV Datei kommen die ich dann in Excel importieren kann. Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 10. Dezember 2012 Melden Teilen Geschrieben 10. Dezember 2012 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 Zitieren Link zu diesem Kommentar
xxxWotanxxx 10 Geschrieben 10. Dezember 2012 Autor Melden Teilen Geschrieben 10. Dezember 2012 Hallo olc, Danke für den Tipp. Ich habe vorhin die Powershell 3.0 installiert und morgen werde ich es dann mit dem -Append testen. Zitieren Link zu diesem Kommentar
xxxWotanxxx 10 Geschrieben 11. Dezember 2012 Autor Melden Teilen Geschrieben 11. Dezember 2012 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. Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 11. Dezember 2012 Melden Teilen Geschrieben 11. Dezember 2012 Optimal, danke für Deine Rückmeldung! :) Viele Grüße olc Zitieren Link zu diesem Kommentar
xxxWotanxxx 10 Geschrieben 4. Juni 2013 Autor Melden Teilen Geschrieben 4. Juni 2013 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/ Zitieren Link zu diesem Kommentar
xxxWotanxxx 10 Geschrieben 10. Juni 2013 Autor Melden Teilen Geschrieben 10. Juni 2013 Ich Push das Thema mal, vielleicht erreicht es den ein oder anderen Powershell - Crack :) Zitieren Link zu diesem Kommentar
PSA 0 Geschrieben 11. Juni 2013 Melden Teilen Geschrieben 11. Juni 2013 (bearbeitet) 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 11. Juni 2013 von PSA Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.