Skip to main content

Because Yes/No isn't good enough

I personally don't believe that Vista/Windows 7's UAC is "enough" for the default setup. You know: the one where there's a single user account on the computer, and maybe the owner bothered to set a password.

See, I think UAC is awesome; no software gets free license to do whatever it wants without the user saying OK first. (We only had the "I hate Vista's UAC" stupidity because no software developers bothered to follow Microsoft's guidelines up until that point and took the "everyone's an admin" easy-way-out.) The problem is that most people will still setup their user account as an admin, and the UAC dialog only asks a Yes/No question for administrators.

It's the same problem we've had for years. What's the average user going to answer when they're trying to do something (watch a funny video, enter a site a friend told them about, etc.), and something else bugs them with a "You can't continue to do what you wanted to do without telling me 'yes' here"? They're going to say "Yes" almost every time. Everyone gets in that "busy mode" where they don't want to be distracted, they just want to get it done.

But what if the dialog made them type in their password? I think it would be sufficiently extra annoying that it would make them lose focus on what they're in the middle of; they'd think, "why do I have to type in my Windows password to do this? I didn't want to install anything.". It's the inconvenience of it that makes people pay attention. Granted, there are still those people who think it's beneath them to pay such attention to a computer, but that's another rant.

Personally, I think there's another way to go about this that would serve the same goal. Microsoft could do the same thing that Firefox does when you go to install an add-on. It puts a count-down timer on the "Yes" button and doesn't enable it until the timer gets to zero. The only thing better would be to include something on or around the button (during the count-down) to further encourage the user to actually READ the dialog box instead of focusing on the count-down itself (hovering over the button waiting to click it).

Wait. I remembered another idea. Remember back when people used WinZip in its shareware mode? Each time you launched it, it would give you a dialog about buying it. The "OK" vs "Buy" buttons would appear in a random order each time so you had to actually think before clicking. I always thought that was a perfect little nuance to get people to "notice" the dialog they were clicking through.

Anyhow, TL;DR...

Making Windows Vista & Windows 7 force an admin account to type in a password ( http://technet.microsoft.com/en-us/library/cc709691%28WS.10%29.aspx#BKMK_S3 )

To change the elevation prompt behavior for administrators
  1. Click Start, click Accessories, click Run, type secpol.msc in the Open box, and then click OK.

  2. From the Local Security Settings console tree, click Local Policies, and then Security Options.

  3. Scroll down to and double-click User Account Control: Behavior of the elevation prompt for administrators.

  4. From the drop-down menu, select one of the following settings:

    • Elevate without prompting (tasks requesting elevation will automatically run as elevated without prompting the administrator)

    • Prompt for credentials (this setting requires user name and password input before an application or task will run as elevated)

    • Prompt for consent (default setting for administrators)

  5. Click OK.

  6. Close the Local Security Settings window.

Comments

Popular posts from this blog

SqlBulkCopy and the "colid" error

I thought there was a page explaining this somewhere out there on the Internet, but I can't find it anymore. So here's what I re-discovered. When you try to insert the rows from a DataTable and the data in one of the columns of one of the rows is too big to fit into the destination column in the database, you get a SqlException with this error message: "Received an invalid column length from the bcp client for colid N." (Where "N" is a number.) It doesn't tell you which row, and it's a pain to figure out what column to look at. To determine what column it is referring to, you first need to get a listing of all columns in the table, listed in the order as they have been defined in the database. Next, you remove any columns in the list that are not represented in SqlBulkCopy.ColumnMappings (the order of the column mappings is irrelevant). The list that remains is what "colid" is referring to, with the first column corresponding to colid &

Live Migration between domains

For those of you like me who aren't experts at all things Active Directory (AD) and Hyper-V Live Migration (LM) permissions, it can be enough of a pain to LM a Virtual Machine (VM) between domains that you simply decide to take the VMs offline to affect the move. See, I only tolerate AD because it's required for LM'ing VMs; there isn't a choice. (It's also required for Windows Clusters, but that's a different topic.) But I figured it out. My back-story is that we setup a cluster using Windows 2012 r1 as the AD Domain Controller (DC) and Hyper-V Server 2012 r1 for the VM hosts. Then we decided we wanted to use r2 for the AD DC and Hyper-V hosts. Upgrading Hyper-V was easy. But I found that there's some unresolved Microsoft bug with Windows Clustering when upgrading the AD DC from Windows 2012 r1 to Windows 2012 r2--- clustering simply doesn't work correctly anymore . So we gave up and created a from-scratch Windows 2012 r2 AD DC then made a new cluster

Hyper-V and reserving RAM for the host/root/parent partition

After a long process, I finally have a real-world calculation for determining how much RAM to reserve for a Hyper-V host. The question/answer about it is here. But the summary is that Hyper-V loses RAM to the Nonpaged pool (and all of it is "untagged") in addition to the "standard" stuff that Microsoft has documented. Be aware that I write MB/GB here, when I actually mean MiB/GiB. I feel it will be more intuitive to see the notation that Windows (incorrectly) uses. Host Overhead 300 MB for the Hypervisor services 512 MB for the Host OS (This is a recommended amount; you have some wiggle-room with this.) [The amount of physical RAM available to the host OS] multiplied by 0.0425 (result in GB ) for the Nonpaged pool (Which means multiply that by 1024 to convert to "MB") Per-VM Overhead 24 MB for the VM 8 MB for each 1 GB of RAM allocated to the VM. Examples 12 GB RAM, 1 VM @2 GB, 1 VM @4 GB Host: 812 + (0.0425 * 12 * 1024) = 1,334.24 MB