在VB.NET中模拟远程用户以访问MS SQL Server



我正在尝试通过VPN模拟域用户。我能够使用runas命令从命令提示符运行管理工作室。但是,在调试模式或已发布的应用程序中,我无法使用VB应用程序(.NET 4.5,Winforms,使用VS 2012 Express)做同样的事情。这是我尝试的:

  • 我的应用程序的runas命令(从开始菜单程序中的快捷方式位置以及可执行文件);在这些情况下,在命令提示符中输入密码后,我会收到"未知用户或不良密码"错误。
  • 我已经尝试了代码中的模仿用户/] [1],这似乎是使用cath advapi.dll上列出的变体(我不太确定它的工作原理)。在这种情况下,当代码试图查询SQL Server时,我还会遇到"未知用户或不良密码"错误。

有人对这些错误和/或我如何解决这个问题有任何解释。我假设如果我可以模仿并运行SSM,我应该能够在我的VB应用中进行。

预先感谢!

这是一个飞跃,但是 - Windows的特定部分只能运行一次,并且不允许来自不同用户的多个实例。我想知道这是否是这里的问题。我特别想到explorer.exe。如果这听起来可能是绊倒runas方法的原因,请尝试:

  1. 通过运行:runas/noprofile,启动一个新的CMD窗口/用户:域用户CMD
  2. 打开任务管理器并杀死explorer.exe进程(这样做时您会失去起始栏)
  3. 在CMD窗口类型中:Explorer.exe
  4. 开始栏和Windows将返回并作为其他用户运行

现在尝试您的应用程序。完成后,请确保通过以下方式切换:

  1. Open TaskManager(这将作为其他用户运行)
  2. 杀死Explorer.exe过程
  3. 按Ctrl Alt Del,然后单击任务管理器(这应该使其作为您运行)
  4. 在Taskmanger中,单击文件 - 新任务
  5. 类型:explorer.exe
  6. 现在一切都应该恢复正常。

最新更新