Community discussions

MikroTik App
 
elico
Member Candidate
Member Candidate
Topic Author
Posts: 143
Joined: Mon Nov 07, 2016 3:23 am

REST API: PowerShell running a script remotely from windows  [SOLVED]

Fri Mar 25, 2022 2:35 am

I wrote a powershell script that runs a script on the RouterOS device remotely via REST API.

https://gist.github.com/elico/9110bc2a7 ... 1b3e4f8c69
add-type @"
    using System.Net;
    using System.Security.Cryptography.X509Certificates;
    public class TrustAllCertsPolicy : ICertificatePolicy {
        public bool CheckValidationResult(
            ServicePoint srvPoint, X509Certificate certificate,
            WebRequest request, int certificateProblem) {
            return true;
        }
    }
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

$user = 'admin'
$pass = '1234'

$pair = "$($user):$($pass)"

$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))

$basicAuthValue = "Basic $encodedCreds"

$Headers = @{
    Authorization = $basicAuthValue
}

$body = @{
    ".id" = "switchSimCard"
}
$routerOSHost = "192.168.88.1"
$url = "https://$routerOSHOST/rest/system/script/run"

Invoke-WebRequest -Uri $url  -Body ($body|ConvertTo-Json) -Headers $Headers -Method POST -ContentType application/json

Who is online

Users browsing this forum: alexantao, maxslug, rjuho and 23 guests