3

私は最近、PowerShell スクリプトの実行がデフォルトで無効になっていることを発見しました。USB デバイスを Windows から安全に取り外すためにこれに頼るつもりでしたが、デフォルトで有効になっていない場合は、最初に有効にする必要があります。そのようなことをすることは一般的に受け入れられますか?

代替ソリューションも歓迎します。

この質問は次のとおりです: https://superuser.com/questions/637854/safely-remove-a-usb-drive-using-bat-file/637878

4

2 に答える 2

3

アプリがスクリプトを使用したいという理由だけで、マシン上でグローバルにスクリプトの実行を有効にすることはありません。これは IT/セキュリティ ポリシーの決定であり、ソフトウェアを使用するだけで決定を受け入れるように強制されるべきではありません。.NET アプリ内から PowerShell 実行空間を呼び出す場合、別の .ps1 スクリプトを呼び出さずにコマンドを実行できるため、実行ポリシーについて心配する必要はありません。powershell.exe を呼び出してスクリプト ファイルを渡す必要がある場合は、 を参照して-ExecutionPolicy Bypassください。About_Executionpoliciesは、バイパスについて次のように述べています。

        - Nothing is blocked and there are no warnings or
          prompts.
        - This execution policy is designed for configurations
          in which a Windows PowerShell script is built in to a
          a larger application or for configurations in which
          Windows PowerShell is the foundation for a program
          that has its own security model.
于 2013-08-30T16:17:39.010 に答える
2

MS は、「すぐに悪用できる」システムを提供していました。彼らはそれについてより賢くなり、セキュリティをより真剣に考えています。そのため、デフォルトで多くの機能が無効になっています。

PowerShell に関しては、デフォルトの「実行ポリシー」では、スクリプトの実行が許可されていませんでした。ただし、コマンド ラインでは、権限がある限り、実行ポリシーをすべて (つまり、変更せずに) バイパスすることができます。

PowerShell -ExecutionPolicy Bypass -file yourfile.ps1

あなたがマシンの管理者であれば、それを有効にして使用しても問題ありません。あなたが単なるアプリの所有者である場合は、おそらく管理者に相談してポリシーを変更する必要がありますが、上記のように、その必要がない場合もあります。

于 2013-08-30T15:25:55.280 に答える