2016-04-27 73 views
1

我需要使用DSC資源運行file.bat。我能夠成功執行file.bat的唯一方法是使用Package資源。不過,我收到以下錯誤:如何使用PowerShell DSC運行批處理文件?

PowerShell DSC resource MSFT_PackageResource failed to execute Set-TargetResource functionality with error message: Package from Directory\To\MyFile\file.bat was installed, but the specified ProductId and/or Name does not match package details

我知道錯誤的意思,我以前解決它。但是,沒有productId也沒有批處理文件的名稱。

我該如何使用DSC運行批處理文件?

+1

嵌入批處理文件成腳本資源? – beatcracker

+0

它不起作用。你試過了嗎? –

+1

不,但我不明白爲什麼它不應該。如果這個批處理文件在目標機器上不存在,請使用here-string('$ batch = @'..code ..'@')將其存儲在變量中,然後將其轉儲到文件('$ batch | Out-File -Encoding ascii -Force -FilePath'X:\ path \ to \ mybatch.cmd'')並使用'&。\ mybatch.cmd'運行。如果這不適合你,那麼發佈有關錯誤的更多細節。 – beatcracker

回答

1

我想將問題計爲已回答。謝謝@beatcracker提供答案。

使用Script resource並在SetScript腳本塊使用

& your\batch\file\directory.yourBatchFile.bat optionalArguments

如果還是不行,請嘗試

Invoke-Command -ScriptBlock {& your\batch\file\directory.yourBatchFile.bat optionalArguments}

:d

+1

你知道你甚至可以接受你自己的答案嗎? – aschipfl

+0

在一天中,系統說大聲笑 –