Powershell使用NTLM身份验证从服务器获取文件

标签 powershell ntlm

我正在尝试从具有给定 URL 的服务器获取 CSV 文件。具有此文件的服务器具有 NTLM 授权,每次我尝试使用以下代码时都会得到:

"The remote server returned an error: (401) Unauthorized."

$source = "http://sql-001.contoso.com/ReportServer/Pages/ReportViewer.aspx?test:Format=CSV&rs:Command=Render"
$destination = "C:\test.csv"
$wc = new-object System.Net.WebClient
$credCache = new-object System.Net.CredentialCache
$creds = new-object System.Net.NetworkCredential("user","p@ssw0rd")
$credCache.Add($source, "Basic", $creds)
$wc.Credentials = $credCache
$wc.DownloadFile($source, $destination)

最佳答案

如果您想使用 NTLM,则应指定该内容,而不是 Basic:

$credCache.Add($source, "NTLM", $creds)

您可能还需要指定域:

$creds = new-object System.Net.NetworkCredential("user", "p@ssw0rd", "MYDOMAIN")

关于Powershell使用NTLM身份验证从服务器获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27897102/

相关文章:

azure cli 相当于 Add-AzureADDirectoryRoleMember

azure - 通过 YAML 发布管道运行 azure powershell 脚本

java - acegi ntlm如何?

url - Camel http4 和 url 编码的密码被解释为单独的参数

php - SSO - 使用 Apache 获取 AD 用户名

powershell - NuGet:通过 PowerShell 或 CMD 将所有项目中的包更新到特定版本

function - 如何正确地将 Win32 类对象传递给函数

java - 如何在调用任何 url 时提供 ntlm 身份验证?

csv - 使用 Powershell 从 CSV 文件中删除列

javascript - 使用 Windows 身份验证的 XMLHttpRequest SOAP 请求