Windows 2000 presents some interesting new features to control the access levels that a process uses. For example, the new RunAs command lets you start a process under a different user context so that users can temporarily increase their user level when performing an administrative task. Another tool, CreateRestrictedToken(), currently available only at the API level, lets you execute a process as yourself, but drop selected privileges and groups. Unlike simply disabling a group or impersonating another user, once you use a restricted token to create a process, you have no way to regain those privileges.
CreateRestrictedToken() presents some exciting possibilities. For example, a user who typically logs on as a local administrator or Power User might want to run the email client with only ordinary user account rights. The RestrictProcess application is complex, and the concepts we'll discuss in this article depend on understanding what a process token is and the information a process token contains. If you haven't read Understanding Process Tokens, you might want to do so now. . . .