You should check to see if they're in the admin role first.
public static bool IsAdmin()
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
IMHO, you should separate the admin code into a different DLL and manually load it if - and only if - the user is in the admin role.
How you marshal the code for the different user roles is an exercise I leave to you.