我正在创建一个显示所有远程桌面会话的工具,并查找特定进程并显示该进程是否在该会话上运行。我需要注销用户。我通过右键单击并选择“以管理员身份运行”启动应用程序,我无法将requestedExecutionLevel设置为admin,因为当您没有管理员权限时,您仍然可以查看所有会话。
我首先尝试断开会话(但它只在我在管理员帐户上运行应用程序时才有效,因此右键单击并选择“以管理员身份运行”不起作用):
In [332]:
df
Out[332]:
0 1 2 3 4 5 6 7 8 9 \
0 3 EA1603S 14/01/2014 2443.6 27.42 249579 673473 200 2 0
1 3 EA1603V 14/01/2014 2443.6 27.42 1000 673473 10 1 0
2 3 EA1603W 14/01/2014 2443.6 27.42 349579 673473 200 2 0
10 11 12 13
0 2100-2200 16032 2 16032
1 2100-2200 16035 5 16035
2 2100-2200 16036 6 16036
接下来我尝试使用此功能(这也适用于我正在运行应用程序的帐户是管理员):
static public bool LogOff(string SessionID)
{
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C logoff " + SessionID;
process.StartInfo = startInfo;
process.StartInfo.Verb = "runas";
process.Start();
return true;
}
我的问题是,当我在选择“以管理员身份运行”时在用户帐户上运行此程序时,有什么方法可以断开会话?