Jenna Lyday
Establish a Credential All of the BPOS tasks require authentication. Rather than typing in a user name and password for each task, put it into a variable. $cred = get-credential
Get a List of Disabled Users Get-MSOnlineUser supports the default MOAC views. If you are expecting a list of more than 250 objects, be sure to specify ResultSize Get-MSOnlineUser -Credential $cred -Disabled |ft DisplayName, Identity Trusty Credential Format results as a table for easy viewing
Get-MSOnlineUser Returns a single user or a single user view Returns the following properties for each user returned: First Name Last Name User Principal Name Display Name Job Title Department Office Number Office Phone Mobile Phone Fax Number Street Address City State or Province ZIP or Postal code Country or Region Proxy Addresses Password Expiration Date Last Sign In Mailbox Size (used) Mailbox Size (allocated) IsActive CreatedDate SubscriptionIDs
Get a List of Active Subscriptions (and put them into a variable) By default, only active subscriptions are returned Use –DisplayAll to see all subscriptions regardless of state $sub = Get-MSOnlineSubscription - Credential $cred
Put Subscription Information Into a CSV Variables aren’t portable between sessions, so you’ll want a file Get-MSOnlineSubscription - Credential $cred |select-object - property subscriptionid,Status,ExchangeStor age,SharepointStorage,totalseats,u sedseats,createdtime |export-csv out.csv Filters the object properties Creates output file
Enable a Single User We’re leveraging $sub, but you can paste the GUID of the subscription in directly as well. Grant seats in multiple subscriptions with a comma separated list of GUIDs Enable-MSOnlineUser -Identity -Credential $cred -SubscriptionIds $sub.SubscriptionId -Password us
Enable a Batch of Users Optimal method for performance CSV format: Identity,SubscriptionIds,Password,UserLocation Import-Csv.\input.csv |Enable- MSOnlineUser -Credential $cred
Set a Password Can specify not to change on next logon Can set password to one previously used. Complexity requirements enforced Set-MSOnlineUserPassword -Credential $cred -Identity -Password -ChangePasswordOnNextLogon false
Get Mailbox Metadata This is information about the mailbox Works against any Exchange 2007 mailbox $mbx = Get-XsHostedExchang box -SourceServer red001.mail.microsoftonline.com -SourceIdentity -SourceAdminCredential $cred - SourceDetail full
Display Folder Item Count For the Mailbox Many mailboxes will be smaller on the target than on the source This assists with verifying that item counts match $mbx.folders |ft DisplayName,ItemCount
Grant FullMailboxAccess Other permissions supported with this command are SendAs and SendOnBehalfOf SendOnBehalfOf establishes the TrustedUser as a mailbox Delegate with default Outlook permissions Add-MSOnlin Permission - Credential $cred -Identity -TrustedUser - GrantFullAccess true
Get a specific mail item from a mailbox Migration logs use MessageID as the unique name for the item with the error. To extract that message for troubleshooting, do the following: Get-XsHostedExchang boxData - SourceServer red001.mail.microsoftonline.com - Identity - SourceAdminCredential $cred - SourceItemIdentity AQEAAQPvLyasAAAAAAAAAAAAAAAA Sample messageID
Export content to a tbin TBins make PowerShell objects portable from one session of the migration tools to another Get-XsHostedExchang boxData -SourceServer red001.mail.microsoftonline.com -Identity -SourceAdminCredential $cred -SourceItemIdentity AQEAAQPvLyasAAAAAAAAAAAAAAAA|Export- TransporterBinary -TargetFilePrefix tbin - TargetFilePath c:\temp
Import from a TBin Having data portable between two sessions is only useful if you can not only export it but import it Import-TransporterBinary - SourceFileName c:\temp\tbin.tbin File we created in last slide