
Ich weiß, dass der PowerShell-Befehl zum Umbenennen eines PCs lautet
Rename-Computer -NewName "LAPTOP-*******" -Force
Ich brauche ein Skript, das „DESKTOP“ durch „LAPTOP“ ersetzt und die nächsten 8 Zeichen im PC-Namen belässt.
Irgendwelche Vorschläge?
BEARBEITEN:
Ok, ich glaube, ich komme einer Lösung näher:
$cmdOutput = $env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String
Rename-Computer -NewName "$cmdOutput" -Force
Aber ich erhalte diese Fehlermeldung bezüglich nicht zulässiger Zeichen (das stimmt nicht):
Rename-Computer : Il computer 'DESKTOP-RJL7RM8' con il nuovo nome 'LAPTOP-RJL7RM8
' verrà ignorato perché il nuovo nome non è valido. Il formato del nuovo nome di computer immesso non è corretto. I
nomi standard possono contenere lettere (a-z, A-Z), numeri (0-9) e segni meno (-), ma non sono consentiti spazi o
punti (.). Il nome non può essere costituito esclusivamente da cifre e la lunghezza non può essere maggiore di 63
caratteri.
In D:\RenamePC\RenamePC.ps1:2 car:1
+ Rename-Computer -NewName "$cmdOutput" -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (LAPTOP-RJL7RM8
:String) [Rename-Computer], InvalidOperationException
+ FullyQualifiedErrorId : InvalidNewName,Microsoft.PowerShell.Commands.RenameComputerCommand
NEU BEARBEITEN:
-NoNewLine
Ich denke, der Fehler liegt in einer neuen Zeile nach dem neuen Namen. Ich habe versucht , sie am Ende der ersten Zeile hinzuzufügen , aber Powershell antwortet:
A parameter cannot be found that matches parameter name 'NoNewLine'.
Antwort1
Sie müssen nur die Leerzeichen „trimmen“. Hier ist der Code.
$cmdOutput = ($env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String).Trim()