プログラムで C# コードから SharePoint 管理シェルを起動しようとしていますが、[スタート] メニューから選択したときとは異なる動作をしています。私は同じ結果でこれを2つの異なる方法で実行しようとしました:
試み #1:
var startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.FileName = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\PowerShell.exe";
startInfo.Arguments = "-NoExit \" & 'C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\14\\CONFIG\\POWERSHELL\\Registration\\sharepoint.ps1' \"";
Process.Start(startInfo);
試み #2:
var startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.FileName = "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft SharePoint 2010 Products\\SharePoint 2010 Management Shell.lnk";
Process.Start(startInfo);
これらの方法はどちらも PowerShell ウィンドウを起動し、次のエラー メッセージを表示します。
このシステムではスクリプトの実行が無効になっているため、ファイル C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CO NFIG\POWERSHELL\Registration\SharePoint.ps1 を読み込めません。詳細については、「get-help about_signing」を参照してください。At line:1 文字:3 + & <<<< ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensio ns\14\CONFIG\POWERSHELL\Registration\sharepoint.ps1 ' + CategoryInfo : NotSpecified: (: ) []、PSSecurityException + FullyQualifiedErrorId : RuntimeException
スタートメニューから起動すると、問題なく動作します。なぜこれが異なる動作をするのかについてのアイデアはありますか? 試行 #1 では、リンクと同じ実行可能ファイルと引数を実行しています。試行 #2 では、リンク自体を実行しようとしています。
ありがとう!