Skrypt na zmianę nazwy komputera

Witam.
Potrzebuje zrobić skrypt, który wyciągnie serial number z biosa i ponadto na początku wiersza doda 3 znaki, np: 00-sn.
Udało mi się zrobić bata, ale jest jakiś problem z poleceniem “WMIC ComputerSystem where Name itd”… nie akceptuje myślnika w nowej nazwie.
Myślałem jeszcze o zmianach w rejestrze poprzez reg add, ale… chyba to nie będzie dobre rozwiązanie.
Został PowerShell, na którym się kompletnie nie znam… ;/ i chyba ta opcja będzie najlepsza

Pozdrawiam.

W cudzysłów ją weź może:

WMIC ComputerSystem where Name="%computername%" call Rename Name="New-Name"

Skleić z swoim skryptem już dasz radę?

1 polubienie

chyba chodziło o cudzysłów, bo tym razem działa, ale mam inny problem.
Tworzę sn takim kodem:

echo 07->c:\sn.txt"
wmic bios get serialnumber | find /I /V “SerialNumber” >> “c:\sn.txt”
FOR /F “Usebackq Tokens=* delims=” %%# IN (“c:\sn.txt”) DO (
echo|set /p=%%#^^
)>>c:\temp.file
set /p str=<c:\temp.file"
move /y “c:\temp.file” “c:\sn.txt”

ale na końcu wyniku mam 7 spacji przez co polecenie wmic wyświetla błąd “87 - Invalid parameter” . Spróbowałem wrzucić samą komendę zmiany nazwy komputera w cmd uprzednio kasując spacje i wykonywał go pomyślnie.
Co dodać do w/w kodu by likwidował wszelkie spacje w wyjściowym pliku?

Może czas na powershell?

$sn = Get-WmiObject win32_bios | select -expand serialnumber
$nowa = “07-” + $sn
Rename-Computer -NewName $nowa -Force

1 polubienie
for /F "tokens=2 delims==" %%s in ('wmic bios get serialnumber /value') do set serial=%%s
echo 07-%serial%
WMIC ComputerSystem where Name="%computername%" call Rename Name="07-%serial%"

Wersja batch + WMIC praktycznie maksymalnie uproszczona.
Echo zostało dla podglądu.

1 polubienie