2016-03-21 11 views
0

私はvbからのC#を初めて使い、メソッドの実行方法を理解するのに苦労しています。 私の完全なコードは以下の通りです。私の質問は、メインの方法にする必要があります。私はフォーラムから私にリモート管理コマンドをリモートで実行させる機能を持っています。私はこれを動作させることができるかどうかを確認するために、リモート交換で基本的なPowerShellコマンドを実行しようとしています。PSObjectのコレクションを返すc#メソッドの呼び出し

ご協力いただければ幸いです。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Collections.ObjectModel; 
using System.Management.Automation; 
using System.Management.Automation.Remoting; 
using System.Management.Automation.Runspaces; 

namespace ExchPwrShellCmdletsTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

     } 

     public Collection<PSObject> GetUsersUsingBasicAuth(string liveIDConnectionUri, string schemaUri, PSCredential credentials, int count) 
     { 
      WSManConnectionInfo connectionInfo = new WSManConnectionInfo(
       new Uri(liveIDConnectionUri), 
       schemaUri, credentials); 
      connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Basic; 

      using (Runspace runspace = RunspaceFactory.CreateRunspace(connectionInfo)) 
      { 
       return GetUserInformation(count, runspace); 
      } 
     } 

     public Collection<PSObject> GetUserInformation(int count, Runspace runspace) 
     { 
      using (PowerShell powershell = PowerShell.Create()) 
      { 
       powershell.AddCommand("Get-Users"); 
       powershell.AddParameter("ResultSize", count); 

       runspace.Open(); 

       powershell.Runspace = runspace; 

       return powershell.Invoke(); 
      } 
     } 
    } 
} 
+1

それについては動作しませんか? – Jacobr365

+0

メインメソッドがありません....実行するものはありません。 –

答えて

0

public Collection<PSObject> GetUsersUsingBasicAuth(string liveIDConnectionUri, string schemaUri, PSCredential credentials, int count)あなたのコード内で新しいメソッドを定義しています。 Collection<PSObject>と指定されているため、このメソッドの戻り値の型はCollection<PSObject>の形式になります。メソッドを名前で参照するには、使用可能なパラメータを渡します。定義された最初の方法について

すなわち

var coll = GetUsersUsingBasicAuth("liveidconnectionurl","schemauri",new PSCredentials(...), 5);

あなたは内部の(実際の値を持つ)が上記のコードスニペットを使用します。

static void Main(string[] args) 
{ 
    var coll = GetUsersUsingBasicAuth("liveidconnectionurl","schemauri",new PSCredentials(...), 5); 
} 
関連する問題