
Sé que el comando de PowerShell para cambiar el nombre de una PC es
Rename-Computer -NewName "LAPTOP-*******" -Force
Necesito un script que reemplace "ESCRITORIO" con "LAPTOP" y deje los siguientes 8 caracteres en el nombre de la PC.
¿Alguna sugerencia?
EDITAR:
Ok, creo que me estoy acercando a una solución:
$cmdOutput = $env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String
Rename-Computer -NewName "$cmdOutput" -Force
Pero recibo este error sobre caracteres no permitidos (no es cierto):
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
REEDITAR:
Creo que el error es una nueva línea después del nuevo nombre. Intenté agregar -NoNewLine
al final de la primera línea, pero Powershell respondió:
A parameter cannot be found that matches parameter name 'NoNewLine'.
Respuesta1
Sólo necesitas "Recortar" los espacios en blanco. Aquí está el código.
$cmdOutput = ($env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String).Trim()