我尝试使用其他用户启动Internet Explorer来访问需要单点登录的网站。
以下是我正在使用的代码。它不会产生任何错误,但IE根本不会启动,甚至不会发生。
Try
System.Diagnostics.Process.Start(IExplorerPath, Username, ConvertToSecureString(Password), Domain)
Success = True
Catch ex As Exception
Success = False
Error_Message = ex.Message
End Try
我也尝试了以下变化,结果相同(无):
Try
Dim psi As New ProcessStartInfo()
psi.Filename = IExplorerPath
psi.UserName = Username
psi.Domain = Domain
psi.Password = ConvertToSecureString(Password)
psi.UseShellExecute = False
Process.Start(psi)
Success = True
Catch ex As Exception
Success = False
Error_Message = ex.Message
End Try
这是ConvertToSecureString函数:
Function ConvertToSecureString(ByVal str As String)
Dim password As New SecureString
For Each c As Char In str.ToCharArray
password.AppendChar(c)
Next
Return password
End Function
答案 0 :(得分:0)
好的,我已经为此寻找了很多解决方案,如果你拥有它,你应该获得诺贝尔奖。同时,如果它可以帮助任何人这是我必须使用的解决方法:
使用Process.Start运行包含以下代码的.bat文件:
runas /user:User@Domain.com "C:\Program Files\Internet Explorer\iexplore.exe"
然后,当出现命令提示符时,我使用发送键输入密码,然后按Enter键。
这将启动具有不同凭据的IE。但同样,应该有更好的方法。
答案 1 :(得分:0)
这可能/可能不起作用。尝试启动需要单点登录“ CHROME”的网站,按F-12键,转到“应用程序”选项卡-> Cookies->单击您的网站链接。在左侧寻找代表您的会话ID的内容,可以是JSESSIONID或类似名称,然后将其复制。现在打开您的Internet Explorer,按F-12键并通过在控制台窗口中运行此命令手动创建JSESSIONID
document.cookie = "JSESSIONID=<your-session-id-from-chrome"
点击播放按钮执行脚本 刷新浏览器