Tento PowerShell skript automaticky určí, zda se jedná o notebook nebo stolní počítač, načte sériové číslo z BIOSu a podle těchto informací sestaví a aplikuje jednotný název počítače.
Skript je určen ke spuštění v PowerShellu se zvýšenými oprávněními.
Změna názvu počítače se projeví až po restartu systému.
Princip fungování
- Načte sériové číslo zařízení z BIOS/UEFI.
- Podle typu šasi rozliší notebook vs. desktop.
- Sestaví nový název ve formátu
NTB-SerialNumberneboPC-SerialNumber. - Porovná aktuální a cílový název a provede přejmenování pouze v případě rozdílu.
Rozlišení typu zařízení (šasi)
Rozpoznání notebooku vychází z hodnot ChassisTypes dle dokumentace Microsoftu.
Níže uvedené typy odpovídají přenosným zařízením (notebook, laptop, portable).
Detekce je závislá na korektních datech výrobce v BIOSu. U nestandardních zařízení
může být výsledek nepřesný.
PowerShell skript
Automatické pojmenování PC / NTB
PowerShell
# Zjištění sériového čísla
$serial = (Get-CimInstance Win32_BIOS).SerialNumber.Trim()
# Zjištění typu zařízení podle šasi
$chassisTypes = (Get-CimInstance Win32_SystemEnclosure).ChassisTypes
# Typy šasi dle Microsoft dokumentace
# 8,9,10,11,12,14,18,21 = notebook / portable
$notebookTypes = @(8,9,10,11,12,14,18,21)
if ($chassisTypes | Where-Object { $notebookTypes -contains $_ }) {
$type = "NTB"
} else {
$type = "PC"
}
# Sestavení nového názvu počítače
$newName = "$type-$serial"
# Aktuální název
$currentName = $env:COMPUTERNAME
Write-Host "Aktuální název: $currentName"
Write-Host "Nový název: $newName"
# Přejmenování pouze pokud je název jiný
if ($currentName -ne $newName) {
Rename-Computer -NewName $newName -Force
Write-Host "Počítač byl přejmenován. Projeví se po restartu."
} else {
Write-Host "Název již odpovídá požadovanému stavu."
}
Výsledek
Po úspěšném spuštění skriptu bude počítač pojmenován jednotným způsobem, například:
NTB-ABC1234567pro notebookyPC-XYZ9876543pro stolní počítače
Změna názvu se projeví po restartu operačního systému.