问题:
什么是 .NET(或 p/invoke 到非托管 Windows API)方法调用以获取用于连接到 SSPI 身份验证的网络服务(如 SQL Server )的当前进程的网络标识?
我想到的特定用例是可以在未加入域的机器上工作并用于runas /noprofile /netonly /USER:DOMAIN\username
启动使用该DOMAIN\username
身份进行网络身份验证的进程,而不是使用本地MACHINE\username
登录身份。
DOMAIN\username
我想要给我传递给RUNAS
这里的身份的方法调用。
谢谢!
需要明确的是,我不是在寻找方法调用来获取当前用户的本地登录身份(可能与网络身份不同)。这排除 System.Security.Principal.WindowsIdentity.GetCurrent().Name
并且Environment.UserName
可能System.Threading.Thread.CurrentPrincipal.Identity.Name
被接受的答案。我会否决任何错误地表明其中任何一个是解决方案的答案,除非我在这里被证明是错误的。:)