Powershell String selektieren....
Hi,
Ich wollte Euch mal fragen wie Ihr das machen würdet...ich habe eine Liste von AD Usern mit Telefonnummer und will dort die letzten 4 Zeichen auslesen. Blöd ist nur das diese in einem sehr komischen Format sind..
Hier mal ein Beispiel:
Name: Telefonnummer
testuser +49 8558 678 1983
Ich brauche jetzt quasi die letzten Zahlen nach dem dritten Leezeichen.
Leider kann ich nicht die letzten vier Ziffern nehmen weil manche User auch ne Durchwahl mit 3,2 bzw. 1 Ziffer haben.
Das heißt ich müsste Powershell sagen das er die letzten Zahlen hinter dem dritten Leerzeichen nehmen soll.
Hoffe jemand kann helfen...
Gruß
Matze
Ich wollte Euch mal fragen wie Ihr das machen würdet...ich habe eine Liste von AD Usern mit Telefonnummer und will dort die letzten 4 Zeichen auslesen. Blöd ist nur das diese in einem sehr komischen Format sind..
Hier mal ein Beispiel:
Name: Telefonnummer
testuser +49 8558 678 1983
Ich brauche jetzt quasi die letzten Zahlen nach dem dritten Leezeichen.
Leider kann ich nicht die letzten vier Ziffern nehmen weil manche User auch ne Durchwahl mit 3,2 bzw. 1 Ziffer haben.
Das heißt ich müsste Powershell sagen das er die letzten Zahlen hinter dem dritten Leerzeichen nehmen soll.
Hoffe jemand kann helfen...
Gruß
Matze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226662
Url: https://administrator.de/forum/powershell-string-selektieren-226662.html
Ausgedruckt am: 21.12.2024 um 06:12 Uhr
4 Kommentare
Neuester Kommentar
Hello again Matze,
machst du ganz einfach so;
oder für Advanced User mit Regular Expressions und noch mehr Möglichkeiten bei speziellen Fällen:
Grüße Uwe
machst du ganz einfach so;
$tel = "+49 8558 678 1983"
$tel.Split(" ")[3].Substring(0,4)
# Hilfsfunktion für RegEx GroupMatching (braucht dich erst mal nicht zu interessieren)
Function Get-Matches($Pattern,$groupNumber = 0) {begin { $regex = New-Object Regex($pattern) };process { foreach ($match in ($regex.Matches($_))) { ([Object[]]$match.Groups)[$groupNumber].Value }}}
# Beispiel Telefonnummer
$tel = "+49 8558 678 1983"
#Extrahiere den Part mit der obigen Funktion und einem passenden RegEx Pattern
$tel | Get-Matches "\+?[\d]+ \d+ \d+ (\d{4})" 1
$Users = get-aduser -Filter * -properties * | where {$_.telephonenumber -ne $NULL} | Select-Object SamAccountname,@{Name="Durchwahl";expression{$_.telephonenumber.Split(" ")[3].Substring(0,4)}}
http://technet.microsoft.com/en-us/library/ff730948.aspx
Um die Sachen in ein vorhandenes XML zu speichern brauche ich aber mehr Infos zum Aufbau der XML-Datei.
Poste diese mal hier, dann melde ich mich dazu wieder
Grüße Uwe
p.s. lass uns bei Zeiten mal ein Teamviewer Meeting halten dann zeige ich dir ein paar Tipps und Tricks dazu...