Virtuelle Maschine per HTTP Request starten

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

parkkralle

Benutzer
Registriert
17. Aug. 2023
Beiträge
1
Reaktionspunkte
0
Punkte
1
Hallo,

ich möchte gerne per HTTP Request eine Win11 VM starten und stoppen.
Allerdings scheitere ich schon am Login per HTTP request. Ich erhalte immer den Fehlercode 400 (No such account or incorrect password.), egal welchen User + Passwort ich verwende.
Hat hier jemand Erfahrung oder gar eine Anleitung?
Anbei die API Beschreibung.

PS: Ich nutze eine DS224+ mit DSM 7.2

Danke für eure Hilfe.
 

Anhänge

ich kopier dir mal n paar powershell schnipsel quick n dirty rein.. den rest mussde selber schaffen :)

$username = "{NASuser}" $password = "{NAS-PW}" $password = $password.Replace('#','%23') #PW Encoding https://meyerweb.com/eric/tools/dencoder/ $baseUrl = "https://$nas:5001" $loginUri = "$baseUrl/webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=login&account=$username&passwd=$password&session=FileStation&format=cookie" $sessionId = $loginResponse.data.sid $apiUrl = "$baseUrl/webapi/entry.cgi" $apiParams = @{ api = "SYNO.Virtualization.API.Guest" version = 1 method = "list" additional = "true" _sid = $sessionId } $vmList = Invoke-RestMethod -Uri $apiUrl -Method Get -Body $apiParams if ($vmlist.error -ne $null) { $vmerror = $vmlist.error if ($vmerror.code -eq "102") { Write-Host "Abruf nicht erfolgreich, Fehler $($vmerror.code) / API bzw. Paket existiert nicht" -ForegroundColor RED } else { Write-Host "Abruf nicht erfolgreich, Fehler $($vmerror.code)" -ForegroundColor RED } } else { $vmList = $vmList.data $vmList = $vmList.guests $count = $vmList.count } foreach($vm in $vmList){ Write-Host "Schalte VM ein" #$apiUrl = "$baseUrl/webapi/entry.cgi" $apiParams = @{ _sid = $sessionId api = "SYNO.Virtualization.API.Guest.Action" method = "poweron" version = 1 guest_name = "$($vm.guest_name)" } $vmpoweron = Invoke-RestMethod -Uri $apiUrl -Method Get -Body $apiParams If ($vmpoweron.success -eq "true") { Write-Host "PowerOn erfolgreich" -ForegroundColor GREEN } else { $errorcode = $vmpoweron.error.code Write-Host "PowerOn nicht erfolgreich, Fehler $errorcode" -ForegroundColor RED } }
 
  • Love
Reaktionen: ctrlaltdelete
  • Like
Reaktionen: Ulfhednir

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat