When you want to use PowerShell with a service, in most cases you will need to authenticate to that service. If you are looking to automate, trivial task, you will need some kind of mechanism to load your credentials from a separate, secure location so you don’t need to be available when the script runs. Of course you can save the password in the file but that isn’t really secure.
Part 1: Retrieve password from the user and save it into a file
$username = “email@example.com”
$secureString = read-host “Please provide password for Office 365” | ConvertTo-SecureString -AsPlainText -Force
$secureStringText = $secureString | ConvertFrom-SecureString
Set-Content “c:\scripts\passwordtest.txt” $secureStringText
Part 2: Load from a file and connect to the service. In this case the service is Office 365.
$secureString = Get-Content “C:\scripts\passwordtest.txt” | ConvertTo-SecureString
$myCredentials = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $secureString
Connect-MsolService -Credential $myCredentials