1

インストーラーを配布しています。PowerShell スクリプトを開いて実行します。インストーラーは、Windows XP 以降を使用しているユーザーが使用します。

このスクリプトがこれらすべてのバージョンの Windows で実行されることは保証されていますか? バッチ ファイルが提供するクロス Windows プラットフォームの相互運用性と同様のものを探しています。

「このシステムではスクリプトの実行が無効になっているため、ファイルを読み込めません」というエラーについて聞いたことがあります。このシナリオで何ができますか? ユーザーがスクリプトを無効にしている場合、別の言語 (おそらくバッチのみ) を使用する必要があるということですか?

4

4 に答える 4

2

この環境を管理する場合は、スクリプトをデプロイする前に、XP ワークステーションに PowerShell がインストールされていることを確認してください。スクリプトの実行と許可するスクリプトの種類を有効にするために、powershell のグループ ポリシーを構成するオプションもありますが、それはこの質問の範囲外です。

グループ ポリシー ルートに行かず、代わりにスクリプトを直接実行したい場合は、インストーラーでpowershell.exe直接呼び出して、次のパラメーターを渡します。

powershell.exe -executionpolicy bypass -file \\path\to\script

スクリプト パスは、ローカルの場合は UNC パスである必要はありません。これは単なる例です。

于 2013-05-01T12:32:59.933 に答える
2

引用しているエラーは、インストール時の PowerShell の既定の実行ポリシーによるものです。このメッセージは、PowerShellインストールされていることを示していますが、既定では、セキュリティ上の目的で実行できるスクリプトが非常に制限されています。

この件について詳しくは、この記事を参照してください。

インストーラーで PowerShell を使用する場合は、それをソフトウェアのシステム要件の一部にします。アプリケーションで PowerShell を再配布できると明確に述べているものは見つかりませんが、Microsoft に問い合わせる価値はあります。

PowerShell は、Win7 より古いデスクトップ OS で動作することが "保証" されていませんが、Microsoft Update を介して配布されており、ユーザーがインストールしない理由はありません。

于 2013-05-01T11:23:38.263 に答える