Hilfe bei Invoke-WebRequest
Hallo zusammen,
hoffe ich hab den Richtigen Bereich gewählt.
Ich bersuche für den Massenimport von Usern in eine NextCloud (nicht lokal gehostet) ein Powershell Script zu schreiben.
Im Netz finde ich aber nur die Infos zur API (https://docs.nextcloud.com/server/13/admin_manual/configuration_user/ins ..) und Codebeispiele mit curl.
Ein Versuch das ganz umzustricken auf Powershell bringt mir immer den Fehler
"997 Current user is not logged in"
wenn ich das ganze ohne den Header Parameter versuche, mit Header
"Der Parameter "Headers" kann nicht gebunden werden. Der Wert "OCS-APIRequest: true" vom Typ "System.String" kann nicht in den Typ "System.Collections.IDictionary" konvertiert werden."
Der curl Befehl, der funktioniert,
und mein Versuch in der Powershell, mit und ohne den Header Parameter
Vielleicht könnt ihr mir ja helfen, das zum laufen zu bringen.
MfG
Cullen
hoffe ich hab den Richtigen Bereich gewählt.
Ich bersuche für den Massenimport von Usern in eine NextCloud (nicht lokal gehostet) ein Powershell Script zu schreiben.
Im Netz finde ich aber nur die Infos zur API (https://docs.nextcloud.com/server/13/admin_manual/configuration_user/ins ..) und Codebeispiele mit curl.
Ein Versuch das ganz umzustricken auf Powershell bringt mir immer den Fehler
"997 Current user is not logged in"
wenn ich das ganze ohne den Header Parameter versuche, mit Header
"Der Parameter "Headers" kann nicht gebunden werden. Der Wert "OCS-APIRequest: true" vom Typ "System.String" kann nicht in den Typ "System.Collections.IDictionary" konvertiert werden."
Der curl Befehl, der funktioniert,
curl https://USER:PASSWORD@cloud.XXX.de/ocs/v1.php/cloud/users -H "OCS-APIRequest: true" --insecure
und mein Versuch in der Powershell, mit und ohne den Header Parameter
Invoke-WebRequest -Uri "https://USER:PASSWORD@cloud.XXX.de/ocs/v1.php/cloud/users" -Headers "OCS-APIRequest: true" -Method GET
Invoke-WebRequest -Uri "https://USER:PASSWORD@cloud.XXX.de/ocs/v1.php/cloud/users" -Method GET
Vielleicht könnt ihr mir ja helfen, das zum laufen zu bringen.
MfG
Cullen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 381802
Url: https://administrator.de/contentid/381802
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
3 Kommentare
Neuester Kommentar
Zitat von @CullenTrey:
"Der Parameter "Headers" kann nicht gebunden werden. Der Wert "OCS-APIRequest: true" vom Typ "System.String" kann nicht in den Typ "System.Collections.IDictionary" konvertiert werden."
"Der Parameter "Headers" kann nicht gebunden werden. Der Wert "OCS-APIRequest: true" vom Typ "System.String" kann nicht in den Typ "System.Collections.IDictionary" konvertiert werden."
Offensichtlich erwartet der Befel keinen String sondern ein Dictionary.
Da gibt's Vorschläge:
https://stackoverflow.com/questions/12936150/is-it-possible-to-send-addi ...
Das ganze sieht für Invoke-Webrequest so aus Usernamen und Passwort lassen sich hier auch per Credential-Object übergeben, ist ja Basic WebAuth):
Grüße Uwe
Invoke-WebRequest -Uri "https://cloud.XXX.de/ocs/v1.php/cloud/users" -Headers @{'OCS-APIRequest'='true'} -Method GET -Credential (new-Object PSCredential('USER',(ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force)))