Joh*_*ith 5 windows cookies powershell windows-10 powershell-5.0
好吧,这是我认为微软需要立即解决的一个大问题.重现这一步的步骤:
powershell> Invoke-WebRequest"anywebsitewithcookies.com"(让我们以microsoft.com为例)
会发生以下警告:http: //i.stack.imgur.com/TR023.jpg
现在这太可怕了.为什么微软认为这是可以接受的超出我,但在Windows 8.1中有一个解决方法.如果你进入:
控制面板> Internet选项>隐私 http://i.stack.imgur.com/OSLS3.jpg
您可以设置cookie以便始终被接受.这是摆脱此消息并仍保留DOM解析功能的唯一方法.-UseBasicParsing对我来说不是一个解决方案,因为我想使用Invoke-WebRequest返回的功能而无需基本的解析.
但是现在在Windows 10中,Microsoft出于某种原因决定摆脱这个滑块:i.stack.imgur.com/jeNm3.jpg
可以在每台Windows 10计算机上重现此问题,并完全破坏在静默脚本环境中如何使用Invoke-WebRequest,因为脚本挂起并等待对话框得到应答.有没有办法让像所有人一样在8.1中设置Cookies?我尝试了Windows 10中的Internet选项中的每个设置,但没有任何关键.我相信他们已停止使用它,或许可能将其转移到别处,但我找不到它.Microsoft Edge也没有很多设置,因此它们都没有帮助.
这只是令人气愤.任何帮助都将受到高度赞赏,因为这将在许多环境中造成相当大的混乱.
小智 5
两个小补充: Invoke-Webrequest 似乎不会在 PoSH 会话中重新读取注册表设置,因此在更改注册表设置后,关闭 PowerShell 命令会话并在运行 IWR 之前重新打开它。
第二个只是两个命令,它们将添加注册表值(第一个)并在之后删除它(第二个),以便您可以将它们放入脚本中。这样,您就不必经常以“接受所有 cookie”模式运行 IE。
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /t REG_DWORD /v 1A10 /f /d 0
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3" /v 1A10 /f
Run Code Online (Sandbox Code Playgroud)
经过几个小时的搜索,我发现即使Windows 10在Internet选项中不显示滑块,它仍然使用与其对应的注册表项。所以你所要做的就是改变:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3 1A10 (Dword) 为 0,其中值与 Windows 8.1 中的滑块上的值相同: 阻止所有 Cookie:00000003 高:00000001 中 高:00000001 中: 00000001 低:00000001 接受所有 Cookie:00000000
| 归档时间: |
|
| 查看次数: |
2524 次 |
| 最近记录: |