albertminrich
Goto Top

Powershell. Teil aus AD-User Beschreibung löschen

Hallo,

ich habe einen AD-User, in dessen Beschreibung steht
"Mitarbeiter des Monats ***deak.a.15.12.2024"  
Ich möchte, dass in der Beschreibung nur noch steht "Mitarbeiter des Monats"

Folgendes hab ich mir zusammengebastelt:
$erg = Get-ADUser -Identity testuser -Properties description | Select-Object description | Format-Table -HideTableHeaders
$erg2 = ((Out-String -InputObject $erg).Remove((Out-String -InputObject $erg).LastIndexOf(" ***d"))).Replace("`r`n", '')  
if (Test-Path variable:erg2) {Set-ADUser -Identity testuser -description $erg2}

Das funktioniert zwar, aber ich bin mir sicher, dass geht sehr viel einfacher und eleganter. Am liebsten in einer zeile.
Außerdem bringt es einen Fehler, wenn
" ***d"  
in der Beschreibung gar nicht vorkommt.

Könnt ihr mir helfen
Danke
Martin

Ich hab die Zeilen, in denen "***" vorkommt als Code formatiert, sonst sind Teile des Textes immer fett geschrieben

Content-ID: 671211

Url: https://administrator.de/forum/powershell-teil-aus-ad-user-beschreibung-loeschen-671211.html

Ausgedruckt am: 11.03.2025 um 03:03 Uhr

151434
Lösung 151434 07.02.2025, aktualisiert am 08.02.2025 um 11:22:36 Uhr
Goto Top
Get-ADUser -Identity testuser -Properties description | %{Set-AdUser $_.SamAccountName -Description ($_.Description.split([string[]]' ***',0))[0]}  
Oder auch
Get-ADUser -Identity testuser -Properties description | %{Set-AdUser $_.SamAccountName -Description ($_.Description -replace ' \*{3}.*')}  
Usw.

Such dir was aus ...😋

Gruß goldcap
AlbertMinrich
AlbertMinrich 08.02.2025 aktualisiert um 10:44:26 Uhr
Goto Top
Die erste Lösung funktioniert bei meinem Beispiel, aber wenn noch andere Leerzeichen in der Beschreibung vorkommen, z.B.:
"S - Mitarbeiter des Monats ***deak.a.15.12.2024"
bleibt nur folgendes übrig
"S"
Aber egal, die zweite Lösung funktioniert einwandfrei.

Vielen Dank und ein Schönes Wochenende
Martin
151434
151434 08.02.2025 aktualisiert um 11:23:03 Uhr
Goto Top
Zitat von @AlbertMinrich:

Die erste Lösung funktioniert bei meinem Beispiel, aber wenn noch andere Leerzeichen in der Beschreibung vorkommen, z.B.:
"S - Mitarbeiter des Monats ***deak.a.15.12.2024"
bleibt nur folgendes übrig
"S"
Kleiner Tippfehler ist behoben, sorry.