新しいVMコマンドを使用してVMware VMを作成し、VM名に従って(Windowsレベルで)VM名を変更します。Invoke-VMScriptコマンドを使用してWindows OSレベルでコンピュータの名前を変更できません。
よう何か: VM名= 100-SVR01-ジャック のWindowsホスト名=ジャック-100
問題:私は、Invoke-VMScriptコマンドを使用してレベルジャック-100ウィンドウで、コンピュータの名前を変更することはできませんよInvokeコマンドにnewcomputernameを渡すことができないようです。誰かが私にこれを助けることができますか?
$ErrorActionPreference = "Stop"
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIserver $vCenterName -user $vCenterUserName -password "Password01" -ErrorAction 'Stop'
$CID = '100'
$CName = "Jack"
$ComputerName1 = $CID + "-SVR01-" + $CName
$NewComputerName1 = "SVR01-" + $CID
$sourcetemplate = "BaseWin2012R2"
$description = "Jack System"
$OSCustomizationspec = "SVR01"
$InfraResourcePool = "Infra-ResourcePool"
Function Create-VM (ComputerName1 , $InfraResourcePool,$description,$sourcetemplate,$OSCustomizationspec){
New-VM -Name $ComputerName1 -ResourcePool $InfraResourcePool -Datastore "datastore1" -Description $description -Template $sourcetemplate -OSCustomizationspec $OSCustomizationspec -DiskStorageFormat Thin
Start-VM -VM $ComputerName1
}
Function Set-Computername($ComputerName , $NewComputerName , $HostCredential , $GuestCredential) {
$RenameComputer = '$hostname = hostname
Rename-Computer -computername $hostname -newname $NewComputerName
RESTART-COMPUTER -force
'
Invoke-VMScript -VM $computername -HostCredential $HostCredential -GuestCredential $GuestCredential -ScriptText $RenameComputer
}
$HostCred = $Host.UI.PromptForCredential("Please enter credentials", "Enter Guest credentials for $computername", "root", "")
$GuestCred = $Host.UI.PromptForCredential("Please enter credentials", "Enter Guest credentials for $computername", "administrator", "")
Create-VM $Computername1 $InfraResourcePool $description $sourcetemplate $OSCustomizationspec;
Set-Computername $Computername1 $NewComputerName1 $HostCred $GuestCred