如何远程注销用户?

esa*_*sac 5 c# windows

如何使用 C# 以编程方式远程(从另一台计算机)注销用户?我只知道他们的用户名。这是在 Active Directory 环境中完成的,其中执行此操作的帐户将是管理员(域管理员)。我认为安全问题会得到解决。希望避免在计算机上安装应用程序。

似乎确实有一个 API,尽管我不知道它使用什么,因为 Windows 提供的“logoff.exe”提供了此功能。最后我可以使用它,但更愿意避免 Process.Start 调用并依赖它(而且它不接受用户名,只接受会话 ID)。

Sco*_*ain 1

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


另一种选择是这样做

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

/l是注销。/f是力量。/m \\computername是要执行操作的远程计算机的名称。如果您不在域中并且运行该应用程序的用户没有域管理员权限,我无法保证上述命令将起作用。


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