1
別のスクリプトを起動してパラメータを渡すPowerShellスクリプトがあります。 私は2番目のスクリプトが終了するまで待ちたくないと私はStart-Job
でこれを行う:変数の開始ジョブスクリプトブロックの受け渡し
のScripta:
start-job -name EnableAutoUnlock -scriptblock {Invoke-Command -script { C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "\\Path\To\Script\EnableAutoUnlock.ps1" $VolumeDriveLetter }}
ScriptB:
[CmdletBinding()]
Param (
[Parameter(Position=0)]
[string]$drive
)
<do stuff with $drive here>
$VolumeDriveLetter
だけです処理されるドライブレター、つまり「C:」
残念ながら、$VolumeDriveLetter
には期待値がありますが、正しく入力されても、変数によるパラメータの受け渡しは機能しません。
作品:
start-job -name EnableAutoUnlock -scriptblock {Invoke-Command -script { C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "\\Path\To\Script\EnableAutoUnlock.ps1" C: }}
が
$VolumeDriveLetter = "C:"
start-job -name EnableAutoUnlock -scriptblock {Invoke-Command -script { C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "\\Path\To\Script\EnableAutoUnlock.ps1" $VolumeDriveLetter }}
EDIT動作しません。空の
としてScriptB出力渡された変数を、私は、変数の受け渡しを取得するために何をしないのです働く?
おかげでなく、私はちょうどそれを試み、残念ながらそれは動作しません(前と同じ、scriptBが受け取ったパラメータは空です) –
ありがとう、私は編集された答えを使用し、それは完全に働いた –