Needing to push this (Microsoft KB 911272 around a bunch of web servers in a hurry. Luckily, thanks to 2 good design decisions:
- Enabling PS remoting
- A sane machine naming convention of the form server-1, server-2
We could push the change around with a small bit of Powershell:
$ccred = Get-Credential
$ScriptBlock={
New-ItemProperty "HKLM:\Software\Microsoft\ASP.NET" -Name "FCNMode" -Value 1 -PropertyType "DWord"
New-ItemProperty "HKLM:\SOFTWARE\Wow6432Node\Microsoft\ASP.NET" -Name "FCNMode" -Value 1 -PropertyType "DWord"
iisreset
}
$i=1
while ($i-lt 9){
$cname = "app-prod-web-$i"
Invoke-Command -ComputerName $cname -ScriptBlock $ScriptBlock -Credential $ccred
$i++
}
We grab some credentials for the remote boxes (remember, seperate accounts for desktop and server admin duties is a GOOD idea).
As we’re passing through multiple commands/lines to Invoke-Command using a scriptblock is the easiest way, so create one of those. Quickly use New-ItemProperty to add the required DWORD values under the right keys, and then an iisreset to make sure they take affect.
A nice quick and dirty while loop allows us to push the scriptblock to the 8 servers in this set, and we’re done. A quick change of the $cname variable and I can push it to the next set as well. And another edit and it’s pushed into the staging environments as well.

Leave a Reply