以其他用户身份运行Internet Explorer

问题描述 投票:0回答:2

我正在尝试使用其他用户启动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
vb.net internet-explorer impersonation runas
2个回答
0
投票

好吧,我一直在寻找很多解决方案,如果你有它,你应该得到诺贝尔奖。同时,如果它可以帮助任何人这是我必须使用的解决方法:

使用Process.Start运行包含以下代码的.bat文件:

runas /user:[email protected] "C:\Program Files\Internet Explorer\iexplore.exe"

然后,当出现命令提示符时,我使用发送键输入密码,然后按Enter键。

这将启动具有不同凭据的IE。但同样,应该有更好的方法。


0
投票

这可能/可能不起作用。尝试在“CHROME”中启动需要单点登录的网站,点击F-12,转到应用程序选项卡 - > Cookies - >单击您的站点链接。在左侧寻找代表您的会话ID的东西,可能是JSESSIONID或类似的,复制它。现在打开您的Internet Explorer,点击F-12并通过在控制台窗口中运行此命令手动创建该JSESSIONID

document.cookie = "JSESSIONID=<your-session-id-from-chrome"

点击播放按钮执行脚本刷新浏览器

© www.soinside.com 2019 - 2024. All rights reserved.