Windowsのコンピューター名をバッチファイルから変更する方法です。旧版のWMIC依存コードではなく、Windows PowerShellのRename-Computerを呼び出します。対象は管理権限のあるローカルのワークグループPCです。組織の管理PC・ドメイン参加PCは管理者の命名規則と手順に従ってください。
ホスト名変更バッチファイル作成
まずは、ホスト名を変更するバッチファイルを作成します。
メモ帳かテキストエディターを立ち上げて以下のコードをコピペして上書き保存します。保存後にファイルの拡張子をtxtからbatへ変更します。
@echo off
setlocal
powershell.exe -NoProfile -Command "try { $me = [Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent(); if (-not $me.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { throw 'Run as administrator.' }; if ((Get-CimInstance Win32_ComputerSystem -ErrorAction Stop).PartOfDomain) { throw 'Domain computer: contact your administrator.' }; $name = Read-Host 'New computer name'; if ($name -notmatch '^(?=.{1,15}$)(?=.*[A-Za-z])[A-Za-z0-9]+(-[A-Za-z0-9]+)*$') { throw 'Use 1-15 letters, digits or internal hyphens, including a letter.' }; $result = Rename-Computer -NewName $name -PassThru -ErrorAction Stop; if (-not $result.HasSucceeded) { throw 'Rename failed.' }; Write-Host 'Rename accepted. Save your work and restart manually.'; exit 0 } catch { Write-Host $_.Exception.Message; exit 1 }"
if errorlevel 1 (
echo Rename was not completed. Check the error above.
pause
exit /b 1
)
pause
exit /b 0
ホスト名変更バッチファイルの実行
作成したホスト名変更バッチファイルを右クリックして「管理者として実行」を選択します。
「New computer name」と表示されたら、新しい名前を入力します。コードは組織互換性を考慮して英数字・内部ハイフンの1~15文字(英字を含む)に制限しています。重複する名前は避けてください。以下の画像は旧WMIC版の参考画像で、現在のメッセージとは異なります。
変更後のホスト名を入力します。下図の例だと「PC010」と入力しています。
新コードで「Rename accepted」と表示されたら変更が受け付けられています。作業中のファイルを保存し、都合のよい時にWindowsを手動で再起動してください。このバッチは自動再起動しません。エラーが出た場合は完了扱いにせず、権限・名前・管理状態を確認します。下のReturnValue画面は旧版です。再起動後は設定の「システム」→「バージョン情報」でデバイス名を確認してください。
手動でホスト名を変更する場合
手動でホスト名を変更する場合は、以下の記事をご覧ください。
Windowsのコンピューター名(ホスト名)の変更方法を丁寧に解説|全てのOS対応
WMICが見つからない場合・ドメインPCの注意
WMICは非推奨・削除対象のため、存在を前提とした旧バッチを使い続けないでください。PowerShellの実行ポリシーを無制限に変える必要はありません。ドメイン参加PCは、この簡易バッチでは変更せず、変更権限を持つ担当者がRename-ComputerのDomainCredentialなど適切な手順を使用します。パスワードをバッチへ書き込まないでください。
公式資料:Rename-Computer、WMICの扱い。






コメント