diff --git a/Examples/SendMailMessage.ps1 b/Examples/SendMailMessage.ps1 new file mode 100644 index 0000000..bc2525b --- /dev/null +++ b/Examples/SendMailMessage.ps1 @@ -0,0 +1,47 @@ +[cmdletbinding()] +param ( + $CredentialPath = '', + $clientID = '', + $resource = 'https://graph.microsoft.com', + $tenantName = '', + $SendEmailAccount = '', + $TestAddress = '', + $TextToAddToEmail = "To change your password on a PC press CTRL ALT Delete and choose Change Password", + $Signature = "Jolly B. Admin", + $Logging = $true, + $ExpireInDaysThreshold = 39 +) + +#Token +$sec = (Import-Clixml -Path $CredentialPath).GetNetworkCredential().Password + +$param = @{ + clientID = $clientID + clientSecret = $sec + resource = $resource + tenantName = $tenantName +} + +$token = Get-PWApplicationToken @param + +#Get all users + +if ($token) { + $ListOfUsers = Get-PWADDSExpiringPassword + Write-Verbose ("User Account: {0}, ExpiresOn: {1}, Days: {2} " -f $ListOfUsers[0].Name, $ListOfUsers[0].PasswordExpiresOn, $ListOfUsers[0].PasswordDaystoExpire) + foreach ($user in $ListOfUsers[0]) { + $params = @{ + Resource = $resource + SendEmailAccount = $SendEmailAccount + Token = $token + TestAddress = $TestAddress + ADAccount = $user + ExpireInDaysThreshold = $ExpireInDaysThreshold + TextToAdd = $TextToAddToEmail + Signature = $Signature + Logging = $true + + } + Send-PWExpiringMailMessage @params -Verbose + } +} \ No newline at end of file