PowerShell is Speed   Leave a comment

Let me tell you why I like PowerShell. It’s fast. How fast you ask? Alright, let’s compare some common day to day tasks.

Assuming you have two windows open, ‘Active Directory Users and Computers’ (ADUC) and PowerShell. Let’s also assume you are running an Active Directory Domain 2012 and your client computer is Windows 8. (Yes, those versions are now old and should be upgraded to 2012R2 and 8.1, by the way, what is your current environment at?) Let’s also assume you have Remote Server Admin Tools installed because let’s face it, ADUC isn’t part of the default tools when loading Windows 8.

So, quickly modify a user’s description… and… go!

Using ADUC, (1) right click (2) click Find (3) move hands from mouse to keyboard and type in the users login name (4) right click the user and (5) click Properties. (6) Click in Description field and move hand back to keyboard to type in a description. (7) Click OK. (8) Close Find window. By the way, using Active Directory Administrative Center (ADAC) is faster than ADUC, but most people running a 2008 Domain do not use ADAC. Not sure why, but most of the admins I meet do not know what ADAC is.

See how easy that was! Now let’s try the same thing in PowerShell.

Using PowerShell, type Set-ADUser djacobs -Description ‘MCT at HBS’ and hit enter. Done!

So, which way is faster? Yep, PowerShell. And to those of you out there saying to yourself, “Hey you need to load the Module first!” The answer is no I don’t. Within PowerShell version 3, if the module is within the module search path, it will automatically load the module for you. And to those of you who don’t know what a module is, class starts soon.

Now, imagine HR gives you an Excel file and they want you to update several fields for all users; telephone numbers, offices, descriptions, titles, and managers. Within ADUC, you can spend days updating those fields for all your users, several factors depending. And for those of you with 60 users, hopefully it doesn’t take you days to do it… Within PowerShell, I input data either directly from Excel, or save the data as a CSV file into an array and loop through the data doing modifications for all the users on the list within seconds.

OK, now critics out there will be saying, yeah, but it took you 30 minutes to write the code, add error checking and create an HTML report of any errors and successes to send back to HR in an email. Yes, it did, but next month when HR sends me another Excel file with more users to be updated, I just rerun the script and go get a cup of coffee, or tea, or a beverage of my choice. The good news is, I can spend a minute deciding what I want to drink and still be done before you start those clickety click changes using ADUC. So… your choice.

And for those of you thinking, “By the hour, not by the job” that is a true statement. However, those people are also still writing batch files to map drives for their users during login (don’t get me started on that one). Those are the people who are telling their boss how long it takes to do this stuff and expecting sympathy because they are so overworked.

Work smarter, not harder. Use PowerShell.

Posted 2016-01-31 by DonnPoSh in Uncategorized

What’s in my BackPack   Leave a comment

This is a little different than most of my posts. I thought I needed a new backpack because the new one wasn’t big enough I thought. Let me start by saying, I like to be prepared for any situation while I’m at work. I don’t have a desk and I don’t go to the same place too often. I get called to go to some customer and fix whatever they need. Now, most of the time, that involves my laptop, power cord, and a mouse. However, I don’t like it when I need something and don’t have it.


Looking at the picture…

  • Misc CDs
  • Lifesavers leftover at the bottom of my bag
  • Some notebooks used to scribble some notes in.
  • Power cord
  • Headphones
  • Corded mouse and a wireless mouse
  • Misc adapters
  • Laptop
  • External HD
  • Spare batteries for mouse
  • Misc meds
  • Misc Pens and Pencils
  • 3 Ethernet cords
  • Misc USB cables
  • 3 bouncy balls
  • Cooling pad
  • D&D book
  • Small toolkit
  • Glasses
  • TUMS
  • Lock picking set
  • Spare socks (Used under laptop to help cushion it)

Posted 2015-12-31 by DonnPoSh in Donnisms

PowerShell Removing …   Leave a comment

$FormatEnumerationLimit = -1

Posted 2015-04-24 by DonnPoSh in Uncategorized

Preserve mailbox data for eDiscovery using inactive mailboxes in Exchange Online   Leave a comment

This is a re-post from http://blogs.technet.com/b/exchange/archive/2013/03/21/preserve-mailbox-data-for-ediscovery-using-inactive-mailboxes-in-exchange-online.aspx because I think its important and an option for people looking to replace archivers or keep data for regulatory reasons.


By Bharat Suneja [MSFT]
21 Mar 2013 4:05 PM 12

In Exchange Online and Exchange Server 2013, you can use In-Place Hold or Litigation Hold to preserve mailbox content for litigation or investigations. Many organizations also need to preserve mailbox data for users who are no longer in the organization.

In on-premises Exchange deployments, this has typically been done by disabling the Active Directory user account and performing actions such as removing it from distribution groups, preventing inbound/outbound email to and from the mailbox (including setting delivery restrictions and configuring message size limits), hiding the mailbox from the Global Address List (GAL), and also setting an account expiration date on the user account in Active Directory. Licensing costs are not a concern in this scenario, because you do not need a Client Access License (CAL) for a mailbox that’s no longer active.

In Exchange Online, admins remove mailboxes for departed users. However, once you remove a mailbox, it can no longer be included in In-Place eDiscovey searches (Multi-Mailbox Search in the previous version of the service and in Exchange 2010). Additionally, 30 days after you remove a mailbox, it is permanently deleted from Exchange Online and can no longer be recovered. In-Place eDiscovery requires that the mailbox be active, which means an Exchange Online or Office 365 plan is required for the mailbox for as long as you want to preserve data for eDiscovery.

Note: You can preserve mailbox data offline by exporting it to a PST file using Microsoft Outlook and then remove the mailbox. However, if you need to perform an eDiscovery search, you would need to inject it back to an Exchange Online mailbox.

Inactive Mailboxes

In the new Exchange Online, we’ve introduced the concept of inactive mailboxes to handle departed users. When a user leaves the organization and you need to retain their mailbox data for some time to facilitate eDiscovery (or meet retention or business requirements), you can place the mailbox on In-Place Hold or Litigation Hold before removing the Office 365 user. This preserves the mailbox, but prevents it from sending/receiving messages, hides it from users so it’s no longer visible in the GAL and other recipient lists. You can add inactive mailboxes to In-Place eDiscovery searches. Inactive mailboxes do not require an Exchange Online or Office 365 plan.

When your eDiscovery, retention or other business requirements are met and you no longer need to preserve the mailbox content, you can remove the mailbox from In-Place Holds or Litigation Hold. After you remove hold, the normal mailbox removal behavior of Exchange Online will resume for the mailbox – which means, if the mailbox was removed more than 30 days ago, it will be permanently deleted. If it was removed less than 30 days ago, it will be permanently deleted after 30 days of removal.

For more details, see Managing Inactive Mailboxes (short url: aka.ms/inactivembx) in Exchange Online documentation.

Inactive mailboxes are available in March 2013 in the E3, E4, A3, A4, G and Exchange Online P2 plans.

Migrating inactive mailbox data to Exchange Online

If you already have inactive mailboxes in your on-premises Exchange 2010 or Exchange 2013 environment or a third-party archive, you can move the data to inactive mailboxes in Exchange Online by first provisioning an Exchange Online mailbox, which requires a plan subscription, importing the data to the Exchange Online mailbox, placing the user on In-Place Hold or Litigation Hold and then deleting the user account, making it an inactive mailbox. You do not require a plan subscription for that mailbox after you make it inactive. However, you will need a subscription during the provisioning and data import process. If you have a large number of inactive mailboxes, you can provision them in batches using a smaller number of subscriptions. Note, the Product Usage Rights (PUR) states that licenses can only be reassigned once every 90 days.

How long can a mailbox be inactive?

You can preserve data in inactive mailboxes for as long as you need to, based on your organization’s retention and eDiscovery requirements. Of course, you would need to continue to be an Office 365/Exchange Online customer.

How can you remove data from an inactive mailbox?

Inactive mailboxes are not processed by the Managed Folder Assistant, so deletion policies (i.e. Retention Policies) are not applied to it. If you’ve specified a hold duration using In-Place Hold or Litigation Hold, the parameter does not impact inactive mailboxes. All content in an inactive mailbox is on hold until you remove the hold from the mailbox.

Bharat Suneja

Posted 2015-03-25 by DonnPoSh in Office 365

End Users Automatically Added to your O365 environment – no more   Leave a comment

If you are an educational facility, Microsoft has made it possible for teachers and students to your Office 365 domain before you are ready for them to be added. http://products.office.com/en-us/student?tab=teachers.

For some smaller districts without a dedicated IT department, this could be a good thing, teachers and students sign up, setup their password and get going in minutes. If you are a larger district that implements DirSync, this could be a bad thing. If you want to disable this feature it has to be done through PowerShell and affects your entire organization.

Disable automatic license distribution : Use this Windows PowerShell script to disable automatic license distributions for existing users.

To disable automatic license distribution for existing users: 
Set-MsolCompanySettings -AllowAdHocSubscriptions $false

To enable automatic license distribution for existing users:
Set-MsolCompanySettings -AllowAdHocSubscriptions $true

Disable automatic tenant join : Use this Windows PowerShell command to prevent new users from joining a managed tenant:

To disable automatic tenant join for new users:
Set-MsolCompanySettings -AllowEmailVerifiedUsers $false

To enable automatic tenant join for new users:
Set-MsolCompanySettings -AllowEmailVerifiedUsers $true


Posted 2015-03-06 by DonnPoSh in Office 365, PowerShell

Tagged with ,

Exchange ECP without a Mailbox   Leave a comment

You can access the EAC by adding the Exchange version to the URL. For example, to access the EAC whose virtual directory is hosted on the Exchange Server 2013 Client Access server, use the following URL: https://<Exchange2013CAS>/ecp?ExchClientVer=15

If you want to access the Exchange 2010 ECP and your mailbox resides on an Exchange 2013 Mailbox server, use the following URL: https://<Exchange2013CAS>/ecp?ExchClientVer=14

Sometimes, you need to add more, use this URL: https://<Exchange2013CAS>/ecp/?exsvurl=1&p=Mailboxes&ExchClientVer=15

Posted 2014-10-26 by DonnPoSh in Exchange

Exchange 2013 Scripts on Server   1 comment

Working on setting up Exchange 2013 server trying to look at what scripts I have versus what comes on the Server from Microsoft.

Working Directory: ‘C:\Program Files\Microsoft\Exchange Server\V15\scripts’
Variable $exscripts


AddUsersToPFRecursive.ps1 Adds a specific user with specific permissions to the client permissions list for a public folder, and all the folders under it. If the user is already listed in the client permissions list for a particular folder, the user’s permissions are updated to the new specified set.
AntispamCommon.ps1 This script is referenced by other anti-spam scripts in Exchange 2007 and is not intended to be used directly.
CheckDatabaseRedundancy.ps1 Checks that databases have sufficient copies.Checks that databases have enough configured and healthy copies. Active and passive copies are both counted; a mounted copy is considered healthy, some dismounted copies will be considered unhealthy.  The script can check just a single database, or all the databases on a particular server.

By default, the script skips all of the default mailbox databases.  If you have configured multiple copies of the default databases and want the script to check them, set the -SkipDatabasesRegex appropriately.

Without the -MonitoringContext switch, the script will return the results and can send an email containing the details.  With -MonitoringContext, the script will raise events in the Application event log for each database detailing whether or not it has sufficient healthy copies (MSExchangeRepl event 4114 if the database has sufficient copies, MSExchangeRepl event 4113 if it does not). These events are used by the Exchange management pack in SCOM to monitor whether databases have sufficient copies.  In this mode, the script will run its checks multiple times and only raise the events if it sees the conditions persist before raising the events.

For example, if the script needs to see databases have two healthy copies and it has just seen a database change from two healthy copies to one, it does not raise the event immediately.  It will continue to run its periodic check, and if this database remains at only one healthy copy for sufficient time it will raise the error event.  Likewise, if the database has changed from one healthy copy to two, the script does not raise the healthy event immediately, but will wait to see that it keeps the two healthy copies for some time before raising the event.

The script can also email reports of the database status.  To configure this, admins should edit the Send-HANotificationMailCorpHub function and/or the Get-SmtpClients function.

CheckInvalidRecipients.ps1 This script is designed to return information on invalid recipient objects and possible attemtpt to fix them.
CITSConstants.ps1 This file contains global constants used by CI Troubleshooter library
CITSLibrary.ps1 This file contains Content Index Troubleshooter functions
CITSTypes.ps1 This file contains additional types used by CI troubleshooter library
CollectOverMetrics.ps1 Gather statistics on database moves and mounts.  Generates CSV files of the raw data for each database operation.  Optionally generates a summary report in HTML.CollectOverMetrics reads from the event logs of servers in a DatabaseAvailabilityGroup to gather information on database mounts, moves, and failovers (collectively known as “operations”) over some time period.  For each operation, it will record the identity of the database, the time that the operation began and ended, the servers that the database was mounted on at the start and finish, the reason for the operation, whether the operation was succesful, and details of the error if it failed.  It writes all of these details to CSV files, which can be opened by Excel, with one operation per row.  It writes a separate CSV file for each DatabaseAvailabilityGroup that it is reporting on.
CollectReplicationMetrics.ps1 Collect database replication performance-counter statistics from mailbox servers.CollectReplicationMetrics collects data from performance counters related to database replication.  The script gathers counter data from multiple mailbox servers, writes each server’s data into a CSV file, and can then report various statistics across all of this data, such as the amount of time that each copy was failed or suspended, the average copy or replay queue length, or the amount of time that copies were outside of their failover criteria.

The servers can either be specified individually or entire database availability groups.  The script can either be run to first collect the data and then generate the report, or can be run to just gather the data or just report on data that has already been collected.  The frequency at which data should be sampled and the total duration to gather data can each be specified.

The data collected from each server is written to a file named “CounterData.<server name>.<time stamp>.csv”.  The summary report will be written to a file named “HaReplPerfReport.<database availability group name>.<time stamp>.csv”, or “HaReplPerfReport.<time stamp>.csv” if the script was not run with the -DagName parameter.

The script starts PowerShell jobs to collect the data from each server.  These jobs run for the full duration that data is getting collected, and when a large number of servers have been specified, this can use a considerable amount of memory.  The final stage, where the data is processed into a summary, can also be quite time consuming for large amounts of data.  It is possible to run the collection stage on one machine, then copy the data elsewhere for processing.

Configure-EnterprisePartnerApplication.ps1 Configures a Partner Application that uses the OAuth protocol to authenticate to Exchange.Configures a Enterprise Partner Application that self-issues OAuth tokens to successful authenticate to Exchange On-Premises.
The Partner Application must publish a Auth Metadata Document for Exchange On-Premises to establish a direct trust to this application and accept authentication request.
In addition to establishing the direct trust, RBAC roles are assigned to the Partner Application to authorize it for calling specific Exchange Web Services APIs.
configure-SMBIPsec.ps1 This script is to be used to help add the necessary Ipsecconfiguration to protect SMB (File Share) communication.
ConfigureAdam.ps1 Configures ADAM for use with Exchange 2010
ConfigureCafeResponseHeaders.ps1 Possibly modifies the OWA reponse header. CAFE is an abbreviation for Client Access Front End.
ConfigureNetworkProtocolParameters.ps1 Configures a Global Catalog running on the machine on which the script is run to listen on the standard NSPI Rpc-over-Http port 6004. This would enable Rpc-over-Http connections from Outlook clients to a GC, RpcProxy’ed by CAS boxes.
ConvertTo-MessageLatency.ps1 The ConvertTo-MessageLatency command gets retrieves component latency details from a message tracking event.
DagCommonLibrary.ps1 A collection of DAG-related functions for use by other scripts.
DatabaseMaintSchedule.ps1 Random generate maintenance and quota notification schedule time based on the specified criteria.
DiagnosticScriptCommonLibrary.ps1 This script is a library of functions for common diagnostic script executions. Diagnostic scripts to dot source file to invoke the functions.
Disable-AntimalwareScanning.ps1 The script disables anti-malware scanning.The Disable-AntimalwareScanning script
1. Disables anti-malware engine updates
2. Disables the malware filter transport agent
3. Restarts the Microsoft Exchange Transport (MSExchangeTransport) service.
Disable-InMemoryTracing.ps1 Undo the changes made by the Enable-InMemoryTracing.ps1 script.
Enable-AntimalwareScanning.ps1 The script enables anti-malware scanning.The Enable-AntimalwareScanning script
1. Enables anti-malware engine updates
2. Enables the malware filter transport agent
3. Restarts the Microsoft Exchange Transport (MSExchangeTransport) service
enable-CrossForestConnector.ps1 Adjusts the permissions on a Send Connector for Cross Forest trust.
Enable-InMemoryTracing.ps1 Enables In Memory Tracing.
ExchUCUtil.ps1 This script configures Exchange UM to work with an existing OCS deployment. It gives OCS read permissions to Exchange UM Active Directory objects and creates UM IP Gateways for each existing OCS Pool.
Export-MailPublicFoldersForMigration.ps1 Exports the properties(Alias,EmailAddresses,HiddenFromAddressListsEnabled,WindowsEmailAddresses,EntryId) of all mail enabled public folders to a XML file
Export-OutlookClassification.ps1 Exports Message Classifications to an XML file that can be imported by Outlook 2007.
Export-PublicFolderStatistics.ps1 Generates a CSV file that contains the list of public folders and their individual sizes
Export-RetentionTags.ps1 Exports the retention tags from Exchange and can be used in conjunction with import-retentiontags.ps1
get-AntispamFilteringReport.ps1 Gets the top 10 (by default unless top parameter is specified) sources (i.e. agents) which are responsible for either rejecting connections, commands or for rejecting/deleting/quarantining a message.
get-AntispamSCLHistogram.ps1 Creates a report the number of messages for each SCL rating.
get-AntispamTopBlockedSenderDomains.ps1 List top ten domains that sent spam.
get-AntispamTopBlockedSenderIPs.ps1 List top ten IP addresses that sent spam.
get-AntispamTopBlockedSenders.ps1 List top ten email addresses that sent spam.
get-AntispamTopRBLProviders.ps1 Reports which RBL providers are performing the best.
get-AntispamTopRecipients.ps1 Lists the top ten recipients of spam.
Get-UCPool.ps1 This script returns the list of OCS pools configured in the specified forest (default = local).
GetValidEngines.ps1 Possibly returns a list of engines being used by the ForeFront filtering agent.
Import-MailPublicFoldersForMigration.ps1 Imports the properties(Name,EmailAddresses,HiddenFromAddressListsEnabled,WindowsEmailAddresses,EntryId) of mail enabled public folders from a XML file and calls the cmdLet New-SyncMailPublicFolder on each one of them
Import-RetentionTags.ps1 Used in conjunction with the export-retentiontags.ps1 script.
install-AntispamAgents.ps1 Installs and enables antispam agents on Transport server roles. The following agents are installed:
1) Connection Filtering
2) Content Filtering
3) Sender ID
4) Sender Filter
5) Recipient Filter
6) Protocol Analysis
MailboxDatabaseReseedUsingSpares.ps1 Reseeds a failed and suspended database copy after performing a series of safety checks for the environment.This script is used to validate the safety of the environment, before proceeding to swap the failed database copy to a spare disk and reseed.

By default, the script will run its checks and report the result, but not perform the reseed.  The script can then be run a second time with the -ReseedConfirm switch to reseed the copy.  The script keeps records of when it has reseeded each copy and will not reseed again if the copy has been reseeded too often in the last two days.

ManageScheduledTask.ps1 This script will allow you to add, modify or remove scheduled tasks in PowerShell.
Merge-PublicFolderMailbox.ps1 Merges the contents of the given public folder mailbox with the target public folder mailbox
MigrateUMCustomPrompts.ps1 This script migrates a copy of all Exchange 2007 Unified Messaging custom   prompts# to Exchange 2010. This includes prompts in all Exchange 2007 UM Dial Plans and UM Automated Attendants.
Move-PublicFolderBranch.ps1 Moves the contents of folders that reside along with the given folder branch to the target public folder mailbox
Move-TransportDatabase.ps1 This script changes the location of the Transport database or temporary storage. It also moves the database files to the new location.
MoveMailbox.ps1 Provides a method to move a mailbox synchronously to another mailbox database.
new-TestCasConnectivityUser.ps1 This script creates a user that can be used for testing connectivityfor Client Access Servers. This script has to be run by an admin who as permissions to create users in the Active Directory.
Prepare-MoveRequest.ps1 This script is to be used for cross forest mailbox moves and creates a newuser with a copy of the source AD attributes.
PublicFolderToMailboxMapGenerator.ps1 Generates a CSV file that contains the mapping of public folder branch to mailbox
RedistributeActiveDatabases.ps1 Moves databases between their copies to attempt to have an equal number of mounted databases on each server in a database availability group.  If required, it will also try to balance active DBs across sites.
ReinstallDefaultTransportAgents.ps1 Installs and enables default transport agents on Edge and Hub roles.
RemoveUserFromPFRecursive.ps1 Removes a specific user from the client permissions list for a public folder, and all the contained folders under it.
ReplaceUserPermissionOnPFRecursive.ps1 Replace the permissions of a specific user in the client permissions list for a public folder with a new set of permissions, and all the contained folders under it. Any folders where the user is not currently specified are left alone.
ReplaceUserWithUserOnPFRecursive.ps1 Replace the permissions of a specific user in the client permissions list for a public folder with a new set of permissions, and all the contained folders under it. Any folders where the user is not currently specified are left alone.
Reset-AntispamUpdates.ps1 Resets baseline antispam data to original out-of-box state.
ResetAttachmentFilterEntry.ps1 This script is used to reset the list of attachment-types that are blocked by the attachment-filtering feature in the Exchange Gateway role, to the factory set defaults.
ResetCasService.ps1 This script will reset and recreate the virtual directory for the service that you define.
ResumeMailboxDatabaseCopy.ps1 Resume a database copy that has been automatically suspended.There are circumstances where the replay service may automatically suspend a database copy and that copy can be safely resumed.  This script will check if a database copy has been set to the Suspended or FailedAndSuspended state by the replay service, resume the copy, and check that the copy returns to the Healthy state.  The script will not resume copies that were suspended manually with the Suspend-MailboxDatabaseCopy cmdlet.
RollAlternateServiceAccountPassword.ps1 Performs a first-time or periodic maintenance on the alternate service account (ASA) credential used to enable Kerberos authentication on Client Access Arrays.The script functions in two mutually exclusive modes.  1. Generation of a new password for the ASA and subsequent propagation this password to destination servers and AD.  2. Copying the ASA credentials from a specified server and distributing to destination servers.  The mode is chosen by specifying either -GenerateNewPasswordFor or -CopyFrom parameters. In both modes, the set of destination servers to which credentials are appended or copied is determined by the mutually exclusive -ToEntireForest, -ToArrayMembers and -ToSpecificServers parameters.

To have the script run in a scheduled task specify the -CreateScheduledTask parameter. Instead of immediately executing the maintenance procedure with the specified parameters, the script will schedule its own periodic execution.  A .cmd file with the specified name is created in the current directory and a corresponding task in Windows Task Scheduler is created to run the command every 3 weeks.  Use Windows Task Scheduler to run or modify properties of a task once it is created.  Use -Verbose to see the directory the scheduled task will log to.

SearchDiagnosticInfo.ps1 Prints the result of Get-SearchDiagnosticInfo
Split-PublicFolderMailbox.ps1 Splits the given public folder mailbox based on the size of the folders
StartDagServerMaintenance.ps1 Calls Suspend-MailboxDatabaseCopy on the database copies.
Pauses the node in Failover Clustering so that it can not become the Primary Active Manager.
Suspends database activation on each mailbox database.
Sets the DatabaseCopyAutoActivationPolicy to Blocked on the server.
Moves databases and cluster group off of the designated server.If there’s a failure in any of the above, the operations are undone, with the exception of successful database moves.Can be run remotely, but it requires the cluster administrative tools to be installed (RSAT-Clustering).
StopDagServerMaintenance.ps1 Resumes the things that were suspended by StartDagServerMaintenance, but does NOT move resources back to the server.Can be run remotely, but it requires the cluster administrative tools to be installed (RSAT-Clustering).
StoreTSConstants.ps1 This file contains global constants used by the Store Database Troubleshooters
StoreTSLibrary.ps1 A collection of Store Troubleshooter functions for use by other scripts.
Troubleshoot-CI.ps1 Performs troubleshooting on Content Index (CI) catalogs.The Troubleshoot-CI.ps1 script detects problems with content index catalogs and optionally attempts resolutions to the problems.
Troubleshoot-DatabaseLatency.ps1 Script is used by Microsoft System Center Operations Manager 2007 to detectand correct high latencies on a database. You can create a scheduled task by using Task Scheduler to run this script. Database latencies can be caused by a number of issues.
Troubleshoot-DatabaseSpace.ps1 Used by Microsoft System Center Operations Manager 2007 to detect andcorrect any excess log growth or Microsoft Exchange database (.edb) file growth that, if unchecked, may cause   database downtime. By default, System Center Operations Manager 2007 runs the script every 15 minutes
uninstall-AntispamAgents.ps1 Uninstalls and disables all the antispam agents. The following agents will be uninstalled:
1) Connection Filtering
2) Content Filtering
3) Sender ID
4) Sender Filter
5) Recipient Filter
6) Protocol Analysis
Update-MalwareFilteringServer.ps1 The Update-MalwareFilteringServer command launches the engine and signature update process for malware filtering. A local or remote computer can be targeted.


Posted 2014-10-26 by DonnPoSh in Exchange, PowerShell