none
SharePoint2013に関するpowershellをC#で実行したい RRS feed

  • 質問

  • 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();

    2017年1月13日 6:39

回答

  • こんにちは。

    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"

    に変えてみてはどうでしょうか。

    • 回答としてマーク kny0410 2017年1月17日 1:15
    2017年1月13日 9:58

すべての返信

  • こんにちは。

    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"

    に変えてみてはどうでしょうか。

    • 回答としてマーク kny0410 2017年1月17日 1:15
    2017年1月13日 9:58
  • ありがとうございます!上記の対応で解消されました。

    また追加で質問なのですが、ご存知でしたら回答いただきたく存じます。

    SharePointに対する処理を記述した.exeファイルも同様にC#から呼び出しを行うとSPSiteにアクセスができないとのエラーになってしまいます。C#側ではx64で実行するように設定していますが対応ご存知でしょうか?

    呼び出しているexeの処理としてはアイテムをSPListに追加するという内容です。

    2017年1月16日 0:12
  • kny0410 さん、こんにちは。
    フォーラム オペレーターの立花楓 です。

    はじめのご質問内容について解決されたようでなによりです。

    追加のご質問についてですが、新しくスレッドを作成いただいた方が、初めてスレッドにこられた方にもご質問がわかりやすくなるため、より情報が集まりやすくなります。
    ほかの閲覧者が同一の問題を抱えている際にも大変助けになると思いますので、ぜひご検討いただければと思います。

    また、課題解消の参考となりました Takashi Shinohara さんのご意見に [回答としてマーク] をおつけいただければ幸いです。

    宜しくお願いいたします。


    TechNet Community Support 立花楓

    2017年1月16日 4:24
    モデレータ
  • 上記は解決したためクローズとさせていただきます。

    2017年1月17日 1:16