Office 365 PS script question.

Hey guys,

I work for a company in which we resell Office365 products. That being said, we have access to many domains that are our clients.

That being said, sometimes, we have to connect to the PS Module of O365 to get certain info about mailboxes, users etc…

Here’s a little script we made:


Get Tenant ID
Get-MsolPartnerContract -DomainName

Connect to an MSOL tenant
$tenID=(get-msolpartnercontract -domain

Get Commands for a tenant (add -tenantID $tenID to the command after running the one above)
Get-MsolUser -tenantID $tenID

Connect to Exchange Powershell for a client

$Creds = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $Creds -Authentication Basic –AllowRedirection

Import-PSSession $Session

My question is the following:

Is there a way to build a script, so that we create variables so that it asks us for the domain and the TenantID is a more user friendly way ?

The end goal would be to build a script that would have ask for the domain and tenant ID only and once we enter that, we easily get in the PowerShell session to get commands such as get-mailbox and so on…

Any help would be appreciated.



Yes, you need to look into using parameters in your scripts. Check out help on “about_Functions_Advanced_Parameters”

Additionally, there is a really good book being talked about all over the place. It’s called “Learn Windows PowerShell in a Month of Lunches”. It would probably be a good read for you to get some good foundational skill in PowerShell.

Hi Curtis,

Can you help me with the script itself. I look at the Functions_Advanced_Parameters but have not been able to find what I am looking for.


This guy here has an excellent article