2015-03-02 89 views
0

我目前正在尝试编写一个脚本,它将从受Windows安全身份验证提示保护的网站检索一些信息。在当前正在运行的进程上执行操作

这里有一段代码,我用它来输入凭据:

$wshell = New-Object -com WScript.Shell 
$wshell.Run("iexplore.exe $url_session_tool") 
Start-Sleep -Milliseconds 10000 
$wshell.sendkeys("$login") 
$wshell.sendkeys("{TAB}") 
$wshell.sendkeys("$password") 
$wshell.sendkeys("{TAB}") 
$wshell.sendkeys("{ENTER}") 

的问题是,IEXPLORE运行为WScript.Shell对象,它并没有真正支持,帮助我找回了一些信息的任何功能我正在从IE网站寻找。

有什么办法可以将运行iexplore.exe进程导入为InternetExplorer.Application对象吗?例如:

Select-object -com "InternetExplorer.Application" 

也许还有另一种(更简单或更复杂)的方法来处理这个问题?

我非常感谢任何帮助。

回答

0

使用Invoke-WebRequest,您可以提供身份验证凭据。

$cred = get-credential 
invoke-webrequest -uri $url -credential $cred 

https://technet.microsoft.com/en-us/library/hh849901.aspx

+0

这完全不是那么回事。用于进入本网站的凭据不是Windows凭据,它们是应用程序凭据,但是它们被输入到Windows安全性弹出窗口中。 – user4623240 2015-03-02 12:56:00

+0

只要使用HTTP访问控制进行身份验证请求,这应该仍然有效,但使用后端用于实际身份验证凭据无关紧要。 – JonC 2015-03-02 13:14:32

+0

我的意思是WWW身份验证,而不是访问控制。 – JonC 2015-03-02 13:27:33

相关问题