Invoke-WebRequest: proxy hitelesítő adatok megadása PowerShellben
Az Invoke-WebRequest külön paraméterekkel rendelkezik a proxy hitelesítő adataihoz. A cél hitelesítő adatai és a böngésző sikeres bejelentkezése nem helyettesíti őket.
Explicit proxyfiókhoz adjon át egy hitelesítőadat-objektumot a -ProxyCredential paraméternek:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountCserélje ki a végpontot a jóváhagyott szolgáltatásra. A Get-Credential fiókot kér ahelyett, hogy jelszót ágyazna a parancssorba. Ez a fiók a közvetítőhöz kerül; a cél hitelesítő adatai külön paraméter, és nem tudnak válaszolni a proxy 407-es válaszára.
Ha a proxy hitelesítési sémája és a folyamat identitása támogatja az integrált hitelesítést, válassza inkább a -ProxyUseDefaultCredentials paramétert. Ne kombinálja explicit proxy hitelesítő adattal ugyanabban a kérésben.
Ellenőrizze a szkriptet futtató PowerShell-verzió referenciáját. A Windows PowerShell és a modern PowerShell eltér a megvalósításban és a paraméterek elérhetőségében; a támogatott verziók a -NoProxy paramétert is biztosítják explicit közvetlen kéréshez.
Amikor ugyanaz a szkript feladatként másként viselkedik
Vizsgálja meg a vonatkozó $PSDefaultParameterValues bejegyzéseket és a folyamat által támogatott proxykonfigurációt. Egy profil a munkamenet indításakor parancsspecifikus proxy-alapértelmezéseket adhat hozzá. Az ütemezett feladat kihagyhatja ezt a profilt, és más identitásként futhat, pedig a szkriptfájl változatlan.
Hasonlítsa össze a cél URL-t, a kiválasztott végpontot, a szükséges proxy-metódust, a PowerShell-verziót és az explicit, illetve alapértelmezett hitelesítő adatokat, a titkokat elrejtve. Ha a proxy hitelesítése sikerül, és a cél 401-et ad vissza, vizsgálja meg a cél bejelentkezését, ahelyett hogy a proxy jelszavát áthelyezné az eredet hitelesítőadat-paraméterébe.