2016-06-16 10 views
0

Ich greife auf eine Web-API zu, die XML zurückgibt. Die Website erfordert Authentifizierung.XML aus dem Web laden mit Authentifizierung PowerShell

Ich habe diese erste Möglichkeit bekommen arbeiten meist:

$webclient = new-object System.Net.WebClient 
$webclient.Credentials = new-object System.Net.NetworkCredential($username, $password) 
$webpage = $webclient.DownloadString($URL) 

Allerdings ist die xml als String geladen und nicht ein tatsächliches XML-Dokument.

Ich habe auch diesen zweiten Weg versucht, aber ich bekomme Fehler 401, nicht autorisiert, auch nach dem Laden der erste Weg erfolgreich.

$HostRecord = New-Object System.Xml.XmlDocument 
$HostRecord.Load($URL) 

Ich muss entweder die erste Möglichkeit ändern, auf ein Objekt zu laden, oder mit der zweiten Möglichkeit authentifizieren.

+1

Ich habe gerade festgestellt, dass ich die Variable $ webpage type in xml: [xml] $ webpage schreiben kann – Yanzzee

Antwort

0

Dies ist, was ich mit vorhandenen Code tat:

$webclient = new-object System.Net.WebClient 
$webclient.Credentials = new-object System.Net.NetworkCredential($username, $password) 
[xml]$webpage = $webclient.DownloadString($URL) 

Ich verstehe auch, dass dies kein Problem sein könnte, wenn der Invoke-Restmethod Befehl statt WebClient.