c# - 以编程方式将管理员帐户降级为访客帐户
问题描述
我正在尝试编写一个应用程序来创建和管理帐户并将当前帐户从管理员降级为来宾。这可能吗?我将如何实现这一目标?
DirectoryEntry AD = new DirectoryEntry("WinNT://" +
Environment.MachineName + ",computer");
var currentUserName = Environment.UserName;
var currentUser = AD.Children.Find(currentUserName, "user");
var adminGroup = AD.Children.Find("Administrators", "group");
var guestGroup = AD.Children.Find("Guests", "group");
guestGroup.Invoke("Add", new object[] { currentUser.Path });
adminGroup.Invoke("Remove", new object[] { currentUser.Path });
这是我目前拥有的。它不会引发任何异常,但是当我检查我的帐户时,它仍然是管理员帐户。我究竟做错了什么?
此外,由于我是在 WindowsSandbox 中执行此操作,最终应该在其中部署它,因此我无法在不丢失帐户的情况下重新启动。有没有办法在不重新启动整个系统的情况下刷新(如果这是实际问题)?
解决方案
推荐阅读
- r - 如何合并数据框保持大小与大数据框相同
- python - PYTHON:二维表 - 如何返回特定值的行?
- android - CardView 在侧面被切割
- nearest-neighbor - FLANN 如何选择使用什么算法和参数?
- python - Numpy `searchsorted` 比我的二进制搜索功能慢得多
- javascript - 有没有办法在javascript中成功检测页面重新加载
- python - 如何处理数据中的大量 np.inf 条目
- reporting-services - 服务器上的共享 Power BI 数据源
- airflow - 如何检查是否有 DAG 在 Airflow 中运行(在重新启动 Airflow 之前)?
- c# - WPF UI 将 powershell 函数的输出传递到文本框