Hallo,
fange gerade an ein bisschen Powershell zu lernen, doch momentan stehe ich vor einem Rätsel.
Es soll ein zu ersetzender String von der Tastatur eingelesen werden, was auch klappt. Dann wird der zu ersetzende String eingelesen, klappt auch.
Wenn ich aber die Strings tauschen möchte, klappt das irgendwie nicht.
Import-Module ActiveDirectory $i = 0 $ScriptPath = $PSScriptRoot $SearchString = Read-Host 'Suche nach' Write-Host 'Gruppen einlesen und speichern.....' -NoNewline Get-ADGroup -Filter {Name -like $SearchString} | Export-Csv -Path $ScriptPath\export.csv -NoTypeInformation Write-Output 'Ok' $Array = Import-Csv -Path $ScriptPath\export.csv $ReplaceString = Read-Host 'Ersetze durch' foreach ($object in $Array) { try { #Write-Host = $ReplaceString $Name = (($object).Name).Replace($SearchString,$ReplaceString) Write-Host "[+] $($object.Name) wird in $Name umbenannt." $i = $i+1 } catch { Write-Host "[ERR] $($object.Name) wurde nicht umbenannt. ´n$_" } } $Input = Read-Host 'Änderungen übernehmen ? (J)a (N)ein' if ($Input -like "j") { foreach ($object in $Array) { try { $Name = (($object).Name).Replace($SearchString,$ReplaceString) Set-ADGroup -Identity $object.DistinguishedName -SamAccountName $Name Rename-ADObject -Identity $object.DistinguishedName -NewName $Name Write-Host "[+] $($object.Name) wurde erfolgreich in $Name umbenannt." -ForegroundColor Green } catch { Write-Host "[ERR] $($object.Name) wurde nicht umbenannt. ´n$_" -ForegroundColor Red } } } else { break }