Skip to main content

Handy Office 365 commands O365





## allow remote signed
set-executionpolicy remotesigned



## to import MSONline modules into a standard powershell 

import-module MSONline

## To connection to the MSONLine service


Connect-MsolService



## Get the Credential 

$o365cred=get-credential

## Create a session 

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $o365cred -Authentication Basic -AllowRedirection
Import-PSSession $session


## Add Permission for Alan to see bob's email 

Add-MailboxPermission -identity Bob@domain.com -user Alan@domain.com -AccessRights FullAccess


## If you wanted to give Alan full access to all mailboxes in your environment you would run:

Get-Mailbox | Add-mailboxpermission -user Alan@domain.com -AccessRights FullAccess


## Create New Shared Mailbox 

$smbName = "Give it a name"
$smbAlias = "Giveitanalias"

New-Mailbox -Name $smbName -Alias $smbAlias -Shared

## Create Access permission to teh shared mailbox 

Add-MailboxPermission -identity Bob@domain.com -user Alan@domain.com -AccessRights FullAccess

## Allow SendAS rights


Add-RecipientPermission hr -Trustee khume -AccessRights SendAs


## FIND recipients based on their email address 

get-recipient -results unlimited | where {$_.emailaddresses -match "SEARCH_PHRASE_HERE"} | select name,emailaddresses,recipienttype

Get-MSOLUser -MaxResults 1 | get-member


## By default, give everyone access to a resource 

add-MailboxPermission stafffolders@xxxx.org.au -user default -accessrights FullAccess



Set-MailboxFolderPermission nsboardrm@xxxx.org.au:\Calendar -user default -accessrights owner
Set-MailboxFolderPermission nbboardrm@xxxx.org.au:\Calendar -user default -accessrights owner


## To remove an address from the GAL 


set-mailbox -identity [email address] -HiddenFromAddressListsEnabled $true

## List people in a group 


> Get-DistributionGroupMember -identity nbstaff | select DisplayName, PrimarySmtpAddress | Sort-Object PrimarySmtpAddress



#######################

Set an Auto Reply

$MyMessage = "I am currently out of the office. If the matter is urgent, please phone me xxxxx"

set-mailboxautoreplyconfiguration -identity XXXXX -AutoReplyState Scheduled -ExternalAudience All -ExternalMessage $MyMessage -InternalMessage $MyMessage  -EndTime "mm/dd/yyyy hh:mm:ss"



## Nice article on groups

http://gallery.technet.microsoft.com/office/List-all-Users-Distribution-7f2013b2

### 



## List all users where the password will expire 

Get-MsolUser | select UserPrincipalName , PasswordNeverExpires | Where-Object {$_.PasswordNeverExpires -eq $False }


## Change Password expiry for ALL users to Off 

Get-MSOLUser | Set-MsolUser -PasswordNeverExpires $true



##  Article on password expiry 
http://support.microsoft.com/kb/2666768
http://technet.microsoft.com/en-us/library/dn194133.aspx
http://community.office365.com/en-us/forums/613/t/53862.aspx




## Get Distribution Group Members and create a csv file from it 

Get-DistributionGroupMember -identity nsstaff | select name, DisplayName, PrimarySmtpAddress | Sort-Object PrimarySmtpAddress | export-csv "output.csv"


## Remove a Member from a Distribution Group


Remove-DistributionGroupMember -Identity nbstaff@xxx.org.au -Member "Anna Sloss" -BypassSecurityGroupManagerCheck


## Get last login time 

Get-mailbox -resultsize unlimited| Get-MailboxStatistics | select displayname, lastlogontime

Comments

Popular posts from this blog

Javascript Form Validation

It's real simple. All you need to do is call a javascript function in a html  " onsubmit " in the form tag as a javascript return, like this       <form method="post" action="dosomething.php" onsubmit="return validateForm();"> If the code completes ok, the form is then sent to the page listed in "action" http://www.w3schools.com/js/js_form_validation.asp If the function specified in the onsubmit returns false, then the form is not sent to the page mentioned in action.