トップ回答者
SharePoint2013に関するpowershellをC#で実行したい

質問
-
sharepointに関する.ps1を作成し
以下の手順で実行するとスナップインがないとのエラーとなってしまいます。
.ps1の中には追加するコードを書いており、個別で実行させるとエラーなく正常終了します。
呼び出し側のC#の中でなにか記述が必要でしょうか?
どなたかご教授のほどお願いいたします。
File.GetAttributes("Start.ps1"); string strCmdText = Path.Combine(Directory.GetCurrentDirectory(), "Start.ps1"); var process = new Process(); process.StartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.FileName = @"C:\windows\system32\windowspowershell\v1.0\powershell.exe"; process.StartInfo.Arguments = "\"&'"+strCmdText+"'\""; process.Start(); string s = process.StandardOutput.ReadToEnd(); process.WaitForExit();
回答
-
こんにちは。
PowerShell.exeがx86(32bit)で動作しているのではないでしょうか。
SharePointはx64(64bit)で動作させる必要がありますので、PowerShellもx64を呼ぶ必要があります。具体的には
"C:\windows\system32\windowspowershell\v1.0\powershell.exe"
の部分を
"C:\Windows\SysNative\windowspowershell\v1.0\powershell.exe"
に変えてみてはどうでしょうか。
- 回答としてマーク nnn0410 2017年1月17日 1:15
すべての返信
-
こんにちは。
PowerShell.exeがx86(32bit)で動作しているのではないでしょうか。
SharePointはx64(64bit)で動作させる必要がありますので、PowerShellもx64を呼ぶ必要があります。具体的には
"C:\windows\system32\windowspowershell\v1.0\powershell.exe"
の部分を
"C:\Windows\SysNative\windowspowershell\v1.0\powershell.exe"
に変えてみてはどうでしょうか。
- 回答としてマーク nnn0410 2017年1月17日 1:15
-
kny0410 さん、こんにちは。
フォーラム オペレーターの立花楓 です。はじめのご質問内容について解決されたようでなによりです。
追加のご質問についてですが、新しくスレッドを作成いただいた方が、初めてスレッドにこられた方にもご質問がわかりやすくなるため、より情報が集まりやすくなります。
ほかの閲覧者が同一の問題を抱えている際にも大変助けになると思いますので、ぜひご検討いただければと思います。また、課題解消の参考となりました Takashi Shinohara さんのご意見に [回答としてマーク] をおつけいただければ幸いです。
宜しくお願いいたします。
TechNet Community Support 立花楓