小编Joe*_*ren的帖子

无法使用网络级别身份验证向远程桌面服务器提供正确的凭据后,防止登录尝试失败窗口

我正在使用"Microsoft终端服务控件类型库"建立与远程桌面服务器的连接.我正在寻找一种方法来防止或抑制在连接到使用网络级别身份验证(NLA)的远程桌面服务器时未能提供正确的用户名/密码组合时显示的"Windows安全"提示.窗口看起来像这样:

在此输入图像描述

我已经阅读并尝试了我现在可以在网上找到的各种设置组合,但没有一个成功.以下是我在stackoverlow上发现的一些问题,这些问题谈论了这个确切的问题并且据说可以解决但是答案对我不起作用:

AxMsRdpClient9关闭登录对话框

AxMsRdpClient6NotSafeForScripting AllowPromptingForCredentials

这可能听起来很荒谬,但我的最终目标只是尝试连接到rdp服务器并故意输入无效的用户名/密码,然后在失败时断开连接.我不关心实际连接或显示任何东西.如果这很重要,我这样做是为了尝试在远程服务器上的事件日志中触发失败的登录尝试,而另一个应用程序稍后将使用该日志.

下面的代码已经触发了事件日志中失败的登录尝试但是我找不到一种方法来阻止这个失败的登录框弹出客户端机器而我宁愿不诉诸于试图关闭窗口的黑客打开.当远程桌面服务器配置为允许来自运行任何版本的远程桌面的计算机的连接(安全性较低的选项)时,我没有同样的问题,因为弹出提示显然是NLA提供的额外安全性的一部分.

我已经为这个控件尝试了很多不同的设置组合,我的脑袋正在旋转.下面是一个模仿上述其他stackoverflow问题之一的示例:

Public Class Form1
    Dim WithEvents oRemote As AxMSTSCLib.AxMsRdpClient6NotSafeForScripting

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        oRemote = New AxMSTSCLib.AxMsRdpClient6NotSafeForScripting
        CType(oRemote, System.ComponentModel.ISupportInitialize).BeginInit()
        oRemote.Dock = System.Windows.Forms.DockStyle.Fill
        oRemote.Enabled = True
        oRemote.Name = "OfficeWin7"
        Me.Controls.Add(oRemote)
        CType(oRemote, System.ComponentModel.ISupportInitialize).EndInit()
        oRemote.CreateControl()
        oRemote.Size = New System.Drawing.Size(800, 600)

        oRemote.Server = "IPADDRESS"
        oRemote.UserName = "TestAccount"
        oRemote.AdvancedSettings7.ClearTextPassword = "WrongPassword"

        Dim ocx As MSTSCLib.IMsRdpClientNonScriptable4 = oRemote.GetOcx()

        ocx.EnableCredSspSupport = True
        ocx.AllowCredentialSaving = False
        ocx.PromptForCredentials = False
        ocx.PromptForCredsOnClient = False

        oRemote.Connect()
    End Sub …
Run Code Online (Sandbox Code Playgroud)

c# vb.net remote-desktop mstsc

6
推荐指数
1
解决办法
1053
查看次数

表单忙时显示等待光标

我有一个应用程序正在做一些需要时间的工作,我希望使用等待光标,但是我找不到方法。

Cursor = Cursors.WaitCursor 'and some various me.Cursor / current.cursor 
CalulateBalance()
FTableAdapter.FillDateID(BudgetDataSet.FQuartaly)
FQuartalyDataGridView.Refresh()
MsgBox("Completed updating Balances", MsgBoxStyle.OkOnly)
Cursor = Cursors.Default
Run Code Online (Sandbox Code Playgroud)

vb.net forms

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

vb.net ×2

c# ×1

forms ×1

mstsc ×1

remote-desktop ×1