12

実行ポリシーを変更しようとすると、管理者ではないため、レジストリを変更できないというメッセージが表示されます。

バッチファイルやその他の.exeおよび.comプログラムを実行できるので、これは可能であるように思われます。

4

5 に答える 5

19

ドメイン管理者がそれを禁止していない場合は、次のようにすることができます。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

これにより、マシン上のすべてのユーザーに設定するのではなく、現在のユーザーで実行されるPowerShellセッションのデフォルトの実行ポリシーが変更されます。

代わりに、現在のPowerShellセッションのみの実行ポリシーを変更する場合は、次のコマンドを使用できます。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

ただし、ドメイン管理者が「スクリプトの実行を有効にする」グループポリシーを使用している場合、実行ポリシーを変更することはできません。グループポリシーを設定すると、Set-ExecutionPolicyコマンドレットが無効になります。

于 2012-11-05T06:10:32.617 に答える
17

プロセス自体のポリシーを試して設定することができます。

powershell.exe-ExecutionPolicyバイパス

于 2012-11-03T20:01:49.290 に答える
3

Windowsシェルからスクリプトを実行する簡単な方法が必要な場合、必要なのは次の内容myscript.ps1のバットだけです。Runmyscript.bat

type myscript.ps1 | powershell -

とても単純なので、そもそもなぜps1を実行できないのか疑問に思いますが、そこに行きます。

スクリプトの名前を入力するためのユーザー入力を求める一般的なバージョンは次のようになります。

set /p filename="Type name of script here: "
type %filename% | powershell -

必要に応じて、このhttp://todayguesswhat.blogspot.co.uk/2012/08/windows-7-replacement-forを使用して、ダイアログボックスを使用してPowerShellで任意のファイルを開く一般的なvbscriptスクリプトを作成することもできます。.html

于 2017-10-19T17:39:35.103 に答える
2

どうですか

$script = Get-Content .\test.ps1
Invoke-Expression $script
于 2012-11-04T16:32:52.913 に答える
0

私がインターネットの他の場所で見つけた3番目のテクニックは使用することです

powershell.exe -EncodedCommand XXXXXXX

ここで、XXXXXXXはの結果です

$code = {
     #powershell script goes here.
    }
}

[convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($code))

参照: http ://dmitrysotnikov.wordpress.com/2008/06/27/powershell-script-in-a-bat-file/

于 2012-11-05T14:42:05.310 に答える