我有一個SharePoint Server 2013服務器,我可以通過Web瀏覽器使用Windows身份驗證登錄。當我使用瀏覽器登錄時,如果我使用同一瀏覽器 - 瀏覽到http://mysharepointserver/_api/web,我會得到一些有用的XML。使用powershell與Windows身份驗證訪問sharepoint REST API
但是,我想編寫一個使用此XML的powershell腳本。爲此,下面從該頁面的建議: How to make an authenticated web request in Powershell?
我寫了下面的代碼:
$PWord = ConvertTo-SecureString –String "MyAwesomePassword" –AsPlainText -Force
$creds = New-Object System.Net.NetworkCredential("MyUserName",$PWord,"TheDomain")
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = $creds
$url = "http://mysharepointserver/_api/web"
$output = $webclient.DownloadString($url)
echo $output
然而,當我運行此代碼,我得到錯誤信息:
Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (403) Forbidden."
儘管我可以使用Web瀏覽器訪問相同的URL,但如果使用彈出的Windows登錄對話框(用於身份驗證)輸入相同的憑據。
有誰知道是否有可能使用Powershell做到這一點?
感謝所有滿口爲什麼不使用默認的cmdlet來與Powershell的
我不知道我的理解正確,但如果這個xml文件在SharePoint中可用文檔庫中,您可以將文檔庫映射爲具有正確憑據的Windows映射驅動器,並從那裏訪問它。 – DarkLite1