Difference between revisions of "Powershell Commands"

From GWAVA Technologies Training
Jump to: navigation, search
Line 4: Line 4:
 
*Exchange Management Shell (EMS)
 
*Exchange Management Shell (EMS)
  
Most of these will be used in the EMS.
+
Most of these will be used in the EMS as part of Exchange 2013.
 
<code>
 
<code>
  
Line 37: Line 37:
 
Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (Default Web Site)' -BasicAuthentication $true
 
Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (Default Web Site)' -BasicAuthentication $true
 
</code>
 
</code>
 +
 +
==ApplicationImpersonation user==
 +
How to remove throttling from the ApplicationImpersonation user. [http://support.gwava.com/kb/?View=entry&EntryID=2343]
 +
How to check the status of the Exchange Impersonation User [http://support.gwava.com/kb/?View=entry&EntryID=2362]
  
 
==IIS==
 
==IIS==

Revision as of 16:55, 12 October 2015

There are three command lines now.

  • The original command line DOS prompt
  • Powershell
  • Exchange Management Shell (EMS)

Most of these will be used in the EMS as part of Exchange 2013.

Contents

Basic Authentication

Retain needs Basic Authentication enabled across the system not just on one CAS.

EWS

This script shows if Basic Authentication was enabled for EWS.

Get-WebServicesVirtualDirectory | ft server,basicauthentication

To enable Basic Authentication you can use this script if you are a Domain or higher admin and you are using the default web site.

Set-WebServicesVirtualDirectory -Identity "EWS (Default Web Site)" -BasicAuthentication $true

AutoDiscover

This script shows if Basic Authentication was enabled for AutoDiscover.

Get-AutoDiscoverVirtualDirectory | ft server,basicauthentication

To enable Basic Authentication you can use this script if you are a Domain or higher admin and you are using the default web site.

Set-AutodiscoverVirtualDirectory -Identity 'autodiscover (Default Web Site)' -BasicAuthentication $true

ApplicationImpersonation user

How to remove throttling from the ApplicationImpersonation user. [1] How to check the status of the Exchange Impersonation User [2]

IIS

To restart IIS from Powershell:

IISRESET

Users and Mailbox Items

A quick overview of users and how many items they have in their mailbox, this is the same as if we piped through "| FT" to format as a table.

Get-Mailbox | Get-MailboxStatistics

For more detail you can format as a list by adding "| FL" but it would be best to pipe to a file because it will provide more information then the screen can hold.

Get-Mailbox | Get-MailboxStatistics | FL > c:\stats.txt

This script will get the size of the mailboxes of the first 30 users.

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | Select-Object DisplayName,TotalItemSize -First 30

You can even restrict it to a single user once you know which one is the largest. [3]

Get-MailboxFolderStatistics [userName] | Select Name,FolderSize,ItemsinFolder

You can move items from one folder to another [4]

Creating a Mailbox Folder Growth Map with Powershell, EWS and eDiscovery [5]

Search-Mailbox for eDiscovery [6]

Queues

An Exchange server can become bogged down if the queues cannot clear. You can see the queue status with:

Get-Queue

If there are thousands of messages (e.g. in \Unreachable) and they are not clearing then there is an issue. You can open Exchange Toolbox and in Queue Viewer delete messages. If that is not successful then you need to restart the Microsoft Exchange Edge Transport, Microsoft Exchange Mailbox Transport Delivery and/or SMTP services

Office365

Connect to Exchange Online using remote PowerShell [7]

You can use the following versions of Windows:

  • Windows 8 or Windows 8.1
  • Windows Server 2012 or Windows Server 2012 R2
  • Windows 7 Service Pack 1 (SP1)*
  • Windows Server 2008 R2 SP1*
  • You need to install the Microsoft .NET Framework 4.5 or 4.5.1 and then either the Windows Management Framework 3.0 or the Windows Management Framework 4.0. For more information, see Installing the .NET Framework 4.5, 4.5.1 and Windows Management Framework 3.0 or Windows Management Framework 4.0.

To connect:

$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session

To disconnect:

Remove-PSSession $Session

Global Catalog

Find the Global Catalog host [8]

Get-ADDomainController -Discover -Service "GlobalCatalog"

Retention

Set Retention of Deleted Items for 30 days (default 14).

Get-MailboxDatabase | Set-MailboxDatabase -DeletedItemRetention 30

Organizational Units

Get the names of all OUs in the domain.

Get-ADOrganizationalUnit -Filter 'Name -like "*"' | FT Name, DistinguishedName -A

Repair Mailbox

There are tools to repair Exchange mailboxes [9]

For a specific mailbox

New-MailboxRepairRequest -Mailbox [username] -CorruptionType FolderView

For all mailboxes in a mailbox database

New-MailboxRepairRequest -Database [MailboxDatabaseName] -CorruptionType AggregateCounts

Training

Script Center [10]

Personal tools
Namespaces

Variants
Actions
Home
Exchange
GroupWise
JAVA
Linux
MTK
Retain
GW Monitoring and Reporting (Redline)
GW Disaster Recovery (Reload)
GW Forensics (Reveal)
GWAVA
Secure Messaging Gateway
GW Mailbox Management (Vertigo)
Windows
Other
User Experience
Toolbox
Languages
Toolbox