NN.KeySMS.psm1
#Region './Private/Get-KsAccessToken.ps1' 0 function Get-KsAccessToken { param ( [string]$accessTokenPath = "$env:USERPROFILE\.creds\KeySMS\keySmsAccessToken.xml" ) if (!(Test-Path $accessTokenPath)) { New-KsAccessToken } Import-Clixml $accessTokenPath | ConvertFrom-SecureString -AsPlainText } #EndRegion './Private/Get-KsAccessToken.ps1' 12 #Region './Public/New-KsAccessToken.ps1' 0 function New-KsAccessToken { param ( [string]$accessTokenPath = "$env:USERPROFILE\.creds\KeySMS\keySmsAccessToken.xml" ) $apiKey = Read-Host "Enter KeySMS API key" -AsSecureString #Create parent folders of the access token file $accessTokenDir = $accessTokenPath.Substring(0, $accessTokenPath.lastIndexOf('\')) if (!(Test-Path $accessTokenDir)) { New-Item -ItemType Directory $accessTokenDir | Out-Null } #Create access token file $apiKey | Export-Clixml $accessTokenPath } #EndRegion './Public/New-KsAccessToken.ps1' 17 #Region './Public/Send-KsSms.ps1' 0 function Send-KsSms { param ( [Parameter(Mandatory)][string]$senderName, [Parameter(Mandatory)][string]$username, [Parameter(Mandatory)][array]$receivers, [Parameter(Mandatory)][string]$message ) $splat = @{ "Method" = "GET" "Uri" = "https://api.keysms.no/v1/messages/send" "Body" = @{ "apiKey" = Get-KsAccessToken "message" = $message "sender" = $senderName "username" = $username "receivers" = $receivers -join "," } } Invoke-RestMethod @splat } #EndRegion './Public/Send-KsSms.ps1' 22 |