5
votes

I'm trying to write a script that iterates through a bunch of sharepoint URLs and verifies that they exist.

From what I can find, it looks like this should work:

$webclient = new-object System.Net.WebClient
$webclient.Credentials = new-object System.Net.NetworkCredential ("username", "password", "domain")
$webpage = $webclient.DownloadString("http://sharepointurl")

This is not working for me ... I keep getting:

Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (401) Unauthorized."

What am I missing ?

2
Can you use fiddler or wireshark to inspect the request to ensure that it has an auth section on it? - Jim Deville

2 Answers

13
votes

If your current credentials have perms on the Sharepoint site then skip the net credential and just use the default credentials e.g.:

$webClient.UseDefaultCredentials = $true
0
votes

You can use

(Invoke-webrequest -URI "https://www.yoururl.com").Content

Ref: Display all content with Invoke-WebRequest