У меня есть следующий сценарий для проверки доступности для сайта localhost, защищенного паролем:
Function CheckAvailability ($Url, $Credentials)
{
$WebClient = New-Object System.Net.WebClient
[System.Net.CredentialCache]$CredentialCache = New-Object System.Net.CredentialCache
$CredentialCache.Add($Url, "Basic", $Credentials)
$WebClient.Credentials = $CredentialCache
If ($WebClient.DownloadString($Url))
{
Return $True
}
Else
{
Return $False
}
}
Function Main ()
{
$Url = "http://localhost/resource"
$Credentials = New-Object System.Net.NetworkCredential("admin","password","") #UserName, Password, Domain
CheckAvailability($Url, $Credentials)
}
Main
Если я запускаю сценарий, я получаю следующую ошибку
Не удается найти перегрузку для «Добавить» и количество аргументов: «3». В D: \ WebSiteTest.ps1 + $ CredentialCache.Add ($ Url, "Basi c", $ Credentials) + ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [], MethodException + FullyQualifiedErrorId: MethodCountCouldNotFindBest
Я читал, что метод add
и он должен поддерживать 3 или 4 параметра (https://docs.microsoft.com/en-us/dotnet/api/system.net.credentialcache.add?view=netframework-4.8). Может кто-нибудь сказать мне, что проблема здесь? Я использую Powershell Core 6.2.3.
Я ценю любые предложения.