2017-06-28 4 views
0

私が本当に必要とすることは、Microsoft Exchangeの特定のユーザーのWebメールとActiveSyncのメールボックス機能を無効にすることです。私はそれのためのpowershellのスクリプトを見てきましたが、私は本当にPSに精通していないので、私は可能な限りそれを使用したくないです。Exchangeユーザーのプログラムで「メールボックス機能」を変更するにはどうすればよいですか?

私は、サーバーにアクセスし、私は、メールボックスの機能を発見する方法を見つけ出すカントしかしExchangeServiceとEWS

 ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 

     service.AutodiscoverUrl("[email protected]"); 

     FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox,new ItemView(10)); 

     foreach (Item item in findResults.Items) 
     { 
      Console.WriteLine(item.Subject); 
     } 

を使用して、具体的郵送することができます。どんな助けもありがとう!

答えて

0

を実行している私は、私が実際には覚えていませんinterwebs上でこのどこかを発見しましたどこに。私は自分の目的に合うように修正しました。

 RunspaceConfiguration runspaceConfig = RunspaceConfiguration.Create(); 
     Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfig); 
     runspace.Open(); 
     Pipeline pipeline = runspace.CreatePipeline(); 

     string serverFqdn = "server"; 
     pipeline.Commands.AddScript(string.Format("$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://{0}/PowerShell/ -Authentication Kerberos", serverFqdn)); 
     pipeline.Commands.AddScript("Import-PSSession $Session"); 
     pipeline.Commands.AddScript("Set-CASMailbox -Identity '" + userID + "' -OWAEnabled $true"); 
     pipeline.Commands.AddScript("Set-CASMailbox -Identity '" + userID + "' -ActiveSyncEnabled $true"); 
     pipeline.Commands.Add("Out-String"); 
     Collection<PSObject> results = pipeline.Invoke(); 
     runspace.Close(); 

     if (pipeline.Error != null && pipeline.Error.Count > 0) 
     { 
      // failed 
     } 
     else 
     { 
      // Success 
     } 

     runspace.Dispose(); 
     pipeline.Dispose(); 
1

お持ちのExchangeのバージョンは?特長あなたが本当に「メールボックス機能」の話をしているが、トランスポート設定と、すべてのPowerShellコマンドレットは、CASサーバーに対して

Set-CASMailbox -Identity "John Smith" -OWAEnabled $false; 
Set-CASMailbox -Identity "John Smith" -ActiveSyncEnabled $false; 

/エフゲニー

+0

私がpowershelllでそのコマンドを実行しようとすると、set-casmailboxは認識されたコマンドレット名ではありません。私は交換サーバーからこれを実行していません。私たちのバージョンは2010です – Dustin

+0

これはExchange 2010でも動作します。 Exchange管理シェル(Exchange機能があらかじめロードされているPowerShellコンソール)を実行していますか? PowerShellコマンドレットをローカルマシンから実行していて、Exchange管理ツールがインストールされていない場合、このエラーは論理的な結果です。したがって、これらをインストールしたり、Exchangeサーバーからこれらのコマンドレットを直接実行したりすることができます。 – Dburg

関連する問題