- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我们有一个场景,我们需要我们的用户能够启动 SQLServer 并使用不同于他们当前登录的域进行身份验证。所以要澄清这是设置的方式:
我们发现从命令行运行它会起作用:
RUNAS /user:REMOTEDOMAIN\AUserName /netonly "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe
它将提示消息“输入 REMOTEDOMAIN\AUserName 的密码:”,如果您提供正确的密码,SSMS 将启动并可以连接到远程数据库。但是,当我尝试在 C# 中使用更好的界面做同样的事情时,我得到“登录失败:未知的用户名或错误的密码”,这是我的代码:
System.Security.SecureString password = new System.Security.SecureString();
foreach(char c in txtPassword.Text.ToCharArray()){
password.AppendChar(c);
}
System.Diagnostics.ProcessStartInfo procInfo = new System.Diagnostics.ProcessStartInfo();
procInfo.Arguments = "/netonly";
procInfo.FileName = @"C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe"; ;
procInfo.Domain = "REMOTEDOMAIN";
procInfo.Verb = "runas";
procInfo.UserName = txtUsername.Text;
procInfo.Password = password;
procInfo.UseShellExecute = false;
System.Diagnostics.Process.Start(procInfo);
我尝试了带和不带域的用户名,但都不起作用。有人试过做类似的事情吗?谢谢
最佳答案
您应该删除以下行:
// Not passing /netonly to SMSS, it was passed to RunAs originally.
procInfo.Arguments = "/netonly";
// Again, SMSS is not getting the verb, it's being run
procInfo.Verb = "runas";
基本上,您将 /netonly
参数传递给 SMSS,而在命令行上,您运行的是 runas
不是 SMSS .与动词相同,您没有运行 runas
。
此时对 Start
的调用应该会成功,因为您将使用正确的凭据指向正确的可执行文件。
关于c# - System.Diagnostics.Process.Start 针对不同域的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036052/
是这样的代码: System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame(); System.Refle
我正在为 Azure 网站配置诊断和 IIS 日志。Azure 管理门户显示将应用程序诊断存储到 Azure 表存储的选项: 单击“管理表存储”时会弹出一个对话框以提供 Azure 表详细信息: Bl
我正在为 Azure 网站配置诊断和 IIS 日志。Azure 管理门户显示将应用程序诊断存储到 Azure 表存储的选项: 单击“管理表存储”时会弹出一个对话框以提供 Azure 表详细信息: Bl
我计划在我的一个项目中使用 PerformanceCounter。我只知道Microsoft.Diagnostics 。然而我偶然发现了一个相当新的库 Microsoft.Diagnostics.Ev
我正在尝试设置 .NET 跟踪。我可以通过 System.Diagnostics.Trace 进行基本跟踪,但由于复杂的原因,我必须通过 System.Diagnostics.TraceSource
前言 最新一直在忙着项目上的事情,很久没有写博客了,在这里对关注我的粉丝们说声抱歉,后面我可能更多的分享我们在微服务落地的过程中的一些经验。那么今天给大家讲一下在 .NET Core 2 中引入的
我不确定我是否理解 ETW 使用 System.Diagnostics.Tracing 和使用 System.Diagnostics.Trace 之间的主要区别。我知道使用它们我可以将事件转储到一些输
错误:未为<>和System.Diagnostics.Process类型定义运算符System.Diagnostics.Process。 功能错误 Public Shared Function Por
据我了解,System.Console 默认会写入 STDOUT,但是 System.Diagnostics.Trace 和 System.Diagnostics.Debug 呢? ?默认行为是什么,
启动应用程序时,我总是在“诊断工具”窗口中收到错误消息: The diagnostic tools failed unexpectedly. The Diagnostics Hub output in
我正在支持一个大型的旧应用程序。该代码使用 NLog 以及 Debug.WriteLine 和 Trace.WriteLine。我正在尝试将 Debug.WriteLine 和 Trace.Write
请求处理的正常时间范围是多少? 最佳答案 50 毫秒到 500 毫秒之间的任何时间都很好。 这当然只是服务器端。看看Yahoo's Best Practices for Speeding Up You
我已经克隆了 Typescript 存储库并正在查看代码,但它充满了这个错误: Cannot find name 'Diagnostics' 在看起来像这样的行上: Diagnostics._0_ex
我没有找到有关 Trace 和 TraceListener 如何跨多个域工作的信息。 Trace.WriteLine 的调用是跨多个域使用相同的实例,还是在每个域上创建自己的 Trace 类实例? 换
每次我在 Perl 中输入 use diagnostics 时,我都会收到一条错误消息说 couldn't find diagnostics data in /file name.etc... 有人可
为了解决通过不发送电子邮件的smtp服务器发送电子邮件的问题,建议我启用使用System.Diagnosis.TextWriterTraceListener进行日志记录以跟踪与smtp服务器的通信以跟
使用 perl 我几乎总是使用: use strict; use diagnostics; 我建议“使用诊断”而不是 use warnings; here我收到了一些负面反馈。所以,现在我在想: us
我正在研究使用log4net和System.Diagnostics.Trace进行日志记录之间的差异,并且我对观察到的性能差异感到好奇。 我创建了一个测试应用程序,以比较两种情况下这两种日志记录方法的
如何在PowerShell中将Y传递到由System.Diagnostic.Process启动的进程中? function Start-NewPlinkProcess( [string
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我是一名优秀的程序员,十分优秀!