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' 11 #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' 16 #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' 21 |