
Я знаю, что команда PowerShell для переименования ПК —
Rename-Computer -NewName "LAPTOP-*******" -Force
Мне нужен скрипт, который заменит «DESKTOP» на «LAPTOP» и оставит следующие 8 символов в имени ПК.
Какие-либо предложения?
РЕДАКТИРОВАТЬ:
Хорошо, я думаю, что я приближаюсь к решению:
$cmdOutput = $env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String
Rename-Computer -NewName "$cmdOutput" -Force
Но я получаю эту ошибку о недопустимых символах (это неправда):
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
ПЕРЕИЗДАНИЕ:
Я думаю, что ошибка в новой строке после нового имени. Я пробовал добавить -NoNewLine
в конце первой строки, но ответ Powershell:
A parameter cannot be found that matches parameter name 'NoNewLine'.
решение1
Вам просто нужно "обрезать" пробелы. Вот код.
$cmdOutput = ($env:COMPUTERNAME -replace "DESKTOP", "LAPTOP" | Out-String).Trim()