0

Ich habe zahlreiche Artikel auf dieser Website recherchiert und habe immer noch eine Lösung, die für mich funktioniert. Ich erhalte immer wieder diesen Fehler "Der 'Accept' Header muss mit der entsprechenden Eigenschaft oder Methode geändert werden". Durch meine Recherche auf dieser Website habe ich festgestellt, dass "Akzeptieren" eine eingeschränkte Spalte ist, die Sie daher nicht hinzufügen können. Ich habe verschiedene Dinge wie addwithoutvalidate ausprobiert und immer noch kein Glück. Ich habe auch gelesen, dass ich die WebCollectionClass einbringen und die "Accept" -Spalte "modifizieren" kann. Jedoch bin ich immer noch ein Neuling bei Powershell und kann einige Unterstützung sehr nutzen. Ich habe jeden hier bei der Arbeit gefragt, der behauptet, Powershell-Wissen zu haben und immer noch kein Glück. Ich versuche, eine HTTP-Anfrage mit Powershell zu machen, um einige Daten zu ziehen. Hier ist das Skript:Making HTTP-Anfrage mit Powershell

#Decrypt password from DB 
$encryptedpwdFromDB = $pass #String retrieved from database 

#Decrypt key 
$key= $KeyTrue #Key Array retrieved from database 

#Convert the password to plain text 
$secPasswd = $encryptedpwdFromDB | ConvertTo-SecureString -key $key | ForEach-Object {[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($_))} 
#Saves Credentials as a PSCredential object 
$username = "haloguest"    
$myCreds = New-Object System.Management.Automation.PSCredential($username,($secPasswd | ConvertTo-SecureString -AsPlainText -Force)) 

#HTTP Request to Rest API 
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" 
$headers.Add("Accept", 'application/xml') 

$headers.Add("X-UserToken", '00efebdc4f4606001491a50f0310c7716bbefc004b7a1ff4116f13a42e067b76a413414d') 
$uri = "https://aaronsdev.service-now.com/api/now/table/sys_user?sysparm_limit=100000&sysparm_exclude_reference_link=true" 
Invoke-RestMethod -Uri $uri -Credential $mycreds -OutFile "\\ken-dev-bi002\DVPKicker\users.xml" -ContentType 'application/json' -Headers $headers 

Antwort

0

Versuchen Sie, die wiederverwendbare Methode unter diesem Link anstelle jeden http Anruf zu tätigen: Request Rest Reusable Method.

Sie können die Argumente direkt an die Methoden übergeben. Lassen Sie mich in Kommentaren wissen, wenn Sie Probleme mit dieser Methode haben.

+0

Danke für Ihre Hilfe. Wie ich schon sagte, bin ich immer noch ein Neuling. Ich gehe davon aus, dass ich in den Zeilen 53-79 Änderungen vornehmen würde. Basierend auf Informationen oben können Sie mir sagen, was zu setzen und wo> – dmoses

+0

Fügen Sie einfach meine Methode am Anfang Ihres Skripts. Einfach kopieren Sie alles von diesem Link am Anfang einfügen. Bewahren Sie dann nur die Zeilen Ihres Skripts auf, die sich auf die Anmeldeinformationen beziehen. Entfernen Sie die drei Zeilen für die Kopfzeilen. Behalten Sie die Zeile zum Auffüllen von $ uri bei. Rufen Sie dann meine Funktion (anstelle von Invoke-RestMethod) wie folgt auf: - *** Request-Rest -URL $ uri -credentials $ myCreds *** Bitte als Antwort markieren, wenn dies hilft. –

+0

Hallo Ich folgte Ihren Anweisungen, aber ich bekomme immer noch den gleichen Fehler hier ist, was ich getan habe https://github.com/dmoses5/Test2/wiki/Code – dmoses