私はPowerShellとスクリプティングを初めて使い、奇妙な状況に陥っています。リモートVM上のサービスを削除しようとしたときの例外
実行中のサービスを削除し、新しいサービスをインストールするスクリプトを作成しようとしています(ファイルやその他もコピーしています)。
問題は、スクリプトとは別にコマンドを実行したときにサービスを削除するコマンドです。このコマンドは機能します。 私は、スクリプトの一部として、私のコマンドを実行すると、私は例外を取得:
:例外は「0」引数(複数可)で「削除」を呼び出す:「リモート プロシージャコールに失敗し、実行されませんでした( HRESULTからの例外: 0x800706BF)」
これは私が個別に実行された:
Connect-VIServer -Server "IP" -Protocol https -User "User" -Password "Password"
$password = "Password" | ConvertTo-SecureString -asPlainText -Force
$username = "User"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
(gwmi win32_service -ComputerName "IP" -Credential $credential -filter "name='Service Name'").delete()
スクリプト、それが失敗したときに、私が実行します。
Connect-VIServer -Server IP -Protocol https -User "User" -Password "Password"
$Template = Get-Template -Name "Template Name"
Set-Template $Template -ToVM
$VM = Get-VM -Name "Template Name"
Start-VM $VM
Start-Sleep -s 100
#Creating PScredentials
$password = "Password" | ConvertTo-SecureString -asPlainText -Force
$username = "User"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
#Creating a New folder on vm
$Create_New_Folder =
{
New-Item -Path "Host Path" -ItemType directory
}
Invoke-Command -ComputerName "PC IP" -Credential $credential -ScriptBlock $Create_New_Folder
#Copy File From Localhost To vm
Get-Item "Host Folder" | Copy-VMGuestFile -Destination "VM LOcal Path" -VM "Template Name" -LocalToGuest -GuestUser "User" -GuestPassword "Password" -Force -Verbose
#Deleting a service on remote vm
(gwmi win32_service -ComputerName "IP" -Credential $credential -filter "name='Service Name'").delete()
#Retart VM so the service will be removed
Restart-VM "Template Name" -Confirm:$false
ComputerName "PC IP"とComputerName "IP"に違いはありますか? – Nikolaus
これは、ここにアップロードするために変更した名前です...スクリプト内では同じipです。 – Udi
あなたは新しいフォルダを作成するようなスクリプトブロックに入れようとしましたか? – Nikolaus