首页 > 解决方案 > 以编程方式将管理员帐户降级为访客帐户

问题描述

我正在尝试编写一个应用程序来创建和管理帐户并将当前帐户从管理员降级为来宾。这可能吗?我将如何实现这一目标?

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 中执行此操作,最终应该在其中部署它,因此我无法在不丢失帐户的情况下重新启动。有没有办法在不重新启动整个系统的情况下刷新(如果这是实际问题)?

标签: c#windows

解决方案


推荐阅读