Windows

在 MDT 2013 中將 PowerShell 腳本作為應用程序執行

  • May 22, 2019

有沒有辦法讓 powershell 腳本在應用程序列表下執行,這樣當您從 MDT 映像安裝時,您可以選擇要執行的腳本?

我可以將腳本作為腳本正常執行,但我嘗試過的每次嘗試都不會執行腳本。

這就是我試圖這樣做的方式,但他們沒有執行。(我連結到任務序列下的安裝應用程序下的腳本。到目前為止,我得出的結論是,微軟不允許 PowerShell 腳本以這種方式工作而沒有一些嚴重的黑客攻擊。

在此處輸入圖像描述

編輯:

因此,在嘗試了幾種方法並進行了研究之後,這就是我現在所擁有的:

我正在嘗試這個:

powershell -noexit "& "'\\SERVER.com\ImageDeploymentShare$\Scripts\script_tes_2t.ps1'

工作目錄是:

.\%SCRIPTROOT%

但我得到了這個: 在此處輸入圖像描述

我在technet上看到過類似的東西,但這肯定是極端的嗎?

Filename RunPowerShell.cmd
Powershell -Command Set-ExecutionPolicy Unrestricted
Powershell.exe -file "%~dp0%1"
Powershell -Command Set-ExecutionPolicy AllSigned

Filename App1.ps1
Dir

Execute this with
[fulle_Path_if_needed\]RunPowerShell.cmd App1.ps1

我不了解 MDT,但從命令行執行位於 UNC 的 PowerShell 腳本類似於powershell -ExecutionPolicy bypass -file \\path\to\file.ps1.

它從 cmd 工作(沒有任何安全提示):

從命令行執行基於 UNC 的 PowerShell 腳本

在應用程序的“安靜安裝命令”中:

powershell.exe -executionpolicy bypass -noprofile -noninteractive -file ".\[yourscriptfile].ps1"

僅將 ps1 文件作為命令存在的主要問題是執行策略,因為預設值受到限制。即使將執行策略更改為遠端簽名腳本也不會執行,因為它是 UNC 路徑。

引用自:https://serverfault.com/questions/610710