It’s normal for Microsoft to transition their corporate environment to the latest and greatest software, especially as they transition towards RTM (release to manufacturing). However, it was quite interesting to hear that Microsoft is considering revoking local admin-rights during the Vista company-wide rollout.

We haven’t made that final determination yet. We would like to absolutely look at scenarios where we can look at elements of User Access Control — that is the feature in Vista — so that we can start moving in that direction … It is a tough balance and every company has to decide what is right for them,’ said Estberg. However, Estberg said that for the moment, the company will continue to leave the responsibility of installing software with its employees.

Live by the sword, die by the sword. I find it shocking that in a large corporate environment the policy allows for most everyone to run Windows as a local admin. Though this easily explains why it is such a pain to work as a regular user; Microsoft hasn’t had to struggle through the process yet.

Take installing software in the typical corporate environment.

In UNIX:

  1. User needs a particular application. Depending on company policy, the user may be able to install in their own home folder. If not, they could submit a request to support.
  2. Support authorizes request, does a remote SSH connection to the users machine, installs the software (while the user is still working) and notifies user that the software was installed.
  3. Software ties into centralized package management system so IT can keep tabs on security notifications, updates, etc and roll it (easily) into the centralized update mechanism.

In Windows:

  1. The user needs software and does not have admin rights. The chances the user can install in their home folder is close to 0%. User requires IT to install.
  2. IT receives the request and approves it. Perhaps IT gets lucky and the software is packaged as an MSI that can be installed via group policy. IT adds the install files to a network share and adjusts group policy. Tells user to restart or wait until next boot to get the update. Most likely the software cannot be installed via MSI (no auto-install MSI exists) and manual installation will happen.
  3. IT contacts the user to tell them they will access their system remotely and to log out (no concurrent users in XP). User logs out and IT logs in remotely via RDP rendering the computer inaccessible for the user.
  4. IT installs the software as administrator. IT logs out and notifies the user the software was installed.
  5. A little while later, user contacts IT saying that the software does not run properly. Apparently the software needs to be run as admin first time to initiate some files in the program files folder. Admin repeats step 2 and 3 to finalize the software install. Unfortunately, the software refuses to run via RDP. IT has to either have local user login as a temporary admin to run the software or admin has to physically access the machine.
  6. Admin decides to go to the machine to step through the install. Runs the software, logs in as the user account and it still is not operational. Admin then has to pull out regmon/filemon to determine the issues (as the regular user). Once done, admin has to re-acquire admin level rights (ie runas or admin shares) to make file permission changes/registry security changes.
  7. After a debugging session, the software finally works as expected for the user (hopefully). Admin then writes down all the steps required in the event of a software upgrade, future install, etc.
  8. Admin decides to notify software company so hopefully next version is fixed.. software company’s support is not interested and state “admin access required”.
  9. There is no central management of the software, so admin has to manually check for updates (along with the myraid of other software). Perhaps in the spare time, the admin writes a script to assist in the installation.

I’m not jaded though – honest. Gah!!!