微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何远程注销用户?

我如何以编程方式远程(从另一台机器)用C#注销用户? 我所知道的是他们的用户名。 这是在Active Directory环境中完成的,执行此操作的帐户将是pipe理员(域pipe理员)。 我假设安全将被处理。 希望避免在机器上安装应用程序。

虽然我不知道它的用途,但似乎有一个API,因为随Windows提供的“logoff.exe”提供了这种function。 最后我可以使用这个,但宁愿避免一个Process.Start调用,并依靠它(加上它不采取用户名,只是会话ID)。

Eclipse MinGW二进制文件未find

包含可执行工具的自包含python安装(pip,orbited等)

如何禁用PythonWin的“redirect输出到win32trace远程收集器”function,而无需卸载PythonWin?

Iphone模拟器在Linux或窗口的Web开发

Process.Start(“IIS Manager.lnk”)失败,“系统找不到指定的文件

这是用户管理更终端服务器端,但我真的很喜欢使用决明子

一个选择是做到这一点

System.Diagnostics.Process.Start("shutdown.exe",String.Format(@"/l /f /m \{1}",remoteComputerName));

/l正在注销。 /f是强制。 /m \computername是要对其进行操作的远程计算机的名称。 如果您不在域上,并且运行该应用程序的用户没有域管理员权限,我不能保证上述命令将工作。

第三个选项:得到PsExec,然后在远程计算机上运行shutdown命令( shutdown.exe /l /f )

看看这个serverRemoteControl 。

WMI类win32_operatingsystem wmi可能是有用的,更具体的win32shutdown方法(也有注销标志)。

我相信你可以通过WMI来做到这一点。 这里是一个有规律的脚本的网站: http : //www.waynezim.com/2009/04/remote-shutdown-logoff-script-using-wmi/

而这个链接( http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/59dd345d-df85-4128-8641-f01f01583194 )

给出了C#特有的更多信息,以及如何在用户断开连接时使其工作,但仍然登录提示

这是我非常简单的解决方案。 这将远程注销当前登录用户。如果要注销特定用户,请首先查询会话ID,然后在会话ID中更改“console”。

private void runRemoteApp(string[] processtoRun,string machineName) { var connection = new Connectionoptions(); var wmiScope = new ManagementScope(String.Format("\\{0}\root\cimv2",machineName),connection); var wmiProcess = new ManagementClass(wmiScope,new ManagementPath("Win32_Process"),new ObjectGetoptions()); wmiProcess.InvokeMethod("Create",processtoRun); } private void logoffMachine(string machineName) { var processtoRun = new[] { "logoff.exe console" }; runRemoteApp(processtoRun,machineName); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐