web-dev-qa-db-ja.com

MDT 2013でアプリケーションとしてPowerShellスクリプトを実行する

MDTイメージからインストールするときに実行するスクリプトを選択できるように、アプリケーションリストの下でPowerShellスクリプトを実行する方法はありますか?

私はスクリプトをスクリプトとしてうまく実行できますが、スクリプトを試したすべての試みは実行されません。

これは私がやろうとしている方法ですが、実行されません。 (タスクシーケンスの[アプリケーションのインストール]にある[スクリプト]にリンクしています。これまでのところ、マイクロソフトでは、PowerShellスクリプトがこのように動作することを、深刻なハッキングなしに許可していないと結論付けています。

enter image description here

編集:

だから、いくつかの方法を試して研究をした後、これが私が今持っているものです:

私はこれを試しています:

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

作業ディレクトリは:

.\%SCRIPTROOT%

しかし、私はこれを得ています: enter image description here

私は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
5
Jason

MDTについては知りませんが、UNCにあるPowerShellスクリプトをコマンドラインから実行すると、powershell -ExecutionPolicy bypass -file \\path\to\file.ps1
これはcmdから機能します(セキュリティプロンプトなし):

Running UNC-based PowerShell scripts from commandline

4
Nitz

アプリケーションの「quiet install command」で:

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

デフォルトが制限されているため、コマンドとしてps1ファイルを置くだけの主な問題があります。実行ポリシーをremotesignedに変更しても、スクリプトはUNCパスであるため実行されません。

2
Cyprian Wyatt