
Azure ロール インスタンスの初期化シーケンスの一般的な「システム」ログに表示される内容は次のとおりです (これは Windows Server 2008 R2 の場合で、他のバージョンは確認していません)。
- VMがオンになっている
- VMコンピュータ名が変更されます
- VMが再起動される
これは、最初に指定されたコンピュータ名が動的に構成されたネットワークに適さないため、適切な名前が生成され、その名前が VM に割り当てられるためです。電源がオンになっているマシンの名前を変更するには通常、再起動が必要なので、その後 VM が再起動されます。
問題は、これには 35 秒余分にかかるため、この時間が実質的に無駄になってしまうことです。
つまり、電源がオンになっている Hyper-V VM があり、その「コンピューター名」を変更する必要があります。
VM をオンにせずにこれを実行するにはどうすればよいですか?
答え1
マシンの電源がオフになっている間は、仮想マシンであろうとなかろうと、Windows ホスト名を変更することはできません。ホスト名の変更を有効にするには、変更後に再起動も必要です。
答え2
再起動せずにコンピューター名を変更することは可能です。次の PowerShell スクリプトを使用して、Windows 7 (仮想) マシンで成功しました。
$ComputerName = "New Name"
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" - name "Hostname"
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname"
New-PSDrive -name HKU -PSProvider "Registry" -Root "HKEY_USERS"
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\Computername" -name "Computername" - value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\ActiveComputername" -name "Computername" -value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "Hostname" -value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname" -value $ComputerName
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" - name "AltDefaultDomainName" -value $ComputerName
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -name "DefaultDomainName" -value $ComputerName
#Set-ItemProperty -path "HKU:\.Default\Software\Microsoft\Windows Media\WMSDK\General" - name "Computername" -value $ComputerName
Source: http://timnew.github.io/blog/2012/04/13/powershell-script-to-rename-computer-without-reboot/
確認して、自分に合っているかどうかを確認する必要があります。