2

初期セッション状態またはスクリプトの実行前に、ExecutionPolicy を「RemoteSigned」として構成する必要があります。ポリシーを設定するスクリプトを実行したくありません。これにより、望ましくないクライアント マシンのポリシーが変更されます。

Powershell 5.0 参照アセンブリでは、簡単に実行できます。

var iss = InitialSessionState.CreateDefault();
iss.ExecutionPolicy = ExecutionPolicy.RemoteSigned

しかし、参照アセンブリとしてPowershell 4.0を使用したまま、どうすれば同じことを達成できますか.

スクリプトを実行する C# コード

var iss = InitialSessionState.CreateDefault();
iss.ExecutionPolicy = ExecutionPolicy.RemoteSigned; --> this is OK for Powershell ReferenceAssemblies 5.0 but not 4.0

iss.ImportPSModule(new[] { typeof(Parameter).Assembly.Location });
using (var powerShell = PowerShell.Create(iss))
{
     var psScript = _inlineScript ?? File.ReadAllText(_path);
     powerShell.AddScript(psScript);
}
4

1 に答える 1