Here's our function for getting the token:
function Get-F5Token
{
[CmdletBinding()]
param (
[Parameter(Mandatory=$True,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
$F5LoadBalancer,
[Parameter(Mandatory=$True,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
$user,
[Parameter(Mandatory=$True,ValueFromPipeline=$True,ValueFromPipelineByPropertyName=$True)]
$password,
[int]$timeout = 28800
)
$json = @"
{
"user": {
"link": "https://localhost/mgmt/shared/authz/users/$user"
},
"timeout": $timeout,
"address": "$F5LoadBalancer"
}
"@
$method = "POST"
$uri = "https://$F5LoadBalancer/mgmt/shared/authz/tokens"
$return = Invoke-F5RestMethod -URL $uri -method $method -json $json -user $user -password $password
return $return
}Get-F5Token