Hide mailbox from .net

For Hide mailbox by .net :

ICollection results;
// Create a runspace.

RunspaceConfiguration rc = RunspaceConfiguration.Create();
PSSnapInException snapEx = null;
PSSnapInInfo info = rc.AddPSSnapIn(
“Microsoft.Exchange.Management.PowerShell.Admin”,
out snapEx);

Runspace myRunSpace = RunspaceFactory.CreateRunspace(rc);
myRunSpace.Open();
// Create a pipeline…
Pipeline pipeLine = myRunSpace.CreatePipeline();

using (pipeLine) { // Create a command object so we can set some parameters // for this command. Command newMbx = new Command("Set-mailbox"); newMbx.Parameters.Add("Identity", name); // Name of MaileBox i.e domain name of User. newMbx.Parameters.Add("HiddenFromAddressListsEnabled", true);
pipeLine.Commands.Add(newMbx);
 // Execute the pipeline and save the objects returned.
results = pipeLine.Invoke();
// Print out any errors in the pipeline execution
 // NOTE: These error are NOT thrown as exceptions!
 // Be sure to check this to ensure that no errors
 // happened while executing the command.
if (pipeLine.Error != null && pipeLine.Error.Count > 0)
 {
 foreach (object item in pipeLine.Error.ReadToEnd())
 {
// throw new InValidDirectorySyntext(item.ToString());
 }
}
}
pipeLine = null;
 myRunSpace.Close();
 myRunSpace = null;

For UnHide mail box

you need to put

newMbx.Parameters.Add(“HiddenFromAddressListsEnabled”, false);

Namespace :

using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Management.Automation.Host;ICollection results;

Hope this will be help while you doing Exchange server communication from .net

Leave a reply