2017-06-06 5 views
0

現在、特定のWindows共有をホストシステムのドライブ文字付きネットワークドライブとして接続できるスクリプトを開発中です。 Windowsの共有は動的なので(ほとんどの場合、スクリプトが呼び出される時間が変わる可能性があります)、これをVM上で実行されているスクリプトのパラメータとして渡す必要があります。Invoke-VMScript PowerCLI 6.5パラメータを使用した呼び出しスクリプト

私が現在持っているもの。

私のスクリプトで私のマシンに保存されているスクリプトを呼び出しています。

MainScript.ps1が含まれます。

$MyVMName = "somevmname" 
$Script = "C:\path\to\script\somescript.ps1 -Path \\some\shared\folder" 
Invoke-VMScript -VM $MyVMName -ScriptText $Script -ScriptType PowerShell -GuestCredential $MyGuestCredential 

somescript.ps1が含まれる。

Param(
     [Parameter(Mandatory=$true)] 
     $Path, 
     [Parameter(Mandatory=$true)] 
     $Credentials 
) 

New-PSDrive -Name "H" -PSProvider FileSystem -Root $Path -Credential $Credentials 

たびInvoke-VMScriptコマンドが実行されているとき、私はそれが最も可能性が高いでしょうフリーズ私のMainScript.ps1を実行しています。パラメータをスクリプトに渡す別の方法はありますか?

https://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.powercli.cmdletref.doc/Invoke-VMScript.html

下に

ドキュメントが呼び出されたスクリプトのパラメータを使用してあまり明らかにしません。

答えて

1

あなたがスクリプトを実行している新しいPowerShellを作成しようとすることができます:

$MyVMName = "somevmname" 
Invoke-VMScript -VM $MyVMName -ScriptText "powershell.exe -file C:\path\to\script\somescript.ps1 -Path \\some\shared\folder" -ScriptType PowerShell -GuestCredential $MyGuestCredential 
0

これは私が使用するものです

Invoke-VMScript -vm $vm -ScriptText {Start-Process "C:\Temp\Install.exe" -Verb runas "-q" -wait } 
関連する問題