Navigate / search

Remove X-Powered-By: ASP.NET HTTP Response Header

Quite a few people have asked how to remove the default HTTP Response Headers of IIS6 and IIS7. It’s very easy, actually. You can have some fun with it too (bottom).

Remove, Edit or Add HTTP Response Headers in Windows 2003 IIS6

  1. Open the IIS Management Console.
  2. Right-click on “Websites” and select “Properties.”
  3. Click on the “HTTP Headers” tab.
  4. Highlight the “X-Powered-By: ASP.NET” entry and select “Remove.”
  5. Also note that you can do this for all websites as above, or for an individual website by selecting it’s properties. Useful if you have sites powered by ASP and PHP on the same server.


Remove, Edit or Add HTTP Response Headers in Windows 2008 IIS7

  1. Open the IIS Management Console.
  2. Click on the Server Name in the left-hand pane.
  3. Under the “IIS” heading in the right-hand pane, double-click on “HTTP Response Headers.”
  4. Right-click on “X-Powered-By” and select Edit or Remove.
  5. Also note that you can do this for all websites as above, or for an individual website by selecting it’s properties. Useful if you have sites powered by ASP and PHP on the same server.


Power your IIS6 or IIS7 Website with Pure Evil

You can also have some fun with the “X-Powered By” response header as its purpose is informational. You can also add your own custom header.


Block IP Addresses using IP Security Policy in Windows Server 2003

Most System Administrators use a hardware firewall to block IP addresses from accessing their network. Co-located servers do not always have the advantage of utilizing a hardware firewall. Software firewalls can often be expensive.

As you may already know, Windows 2003 lets administrators control IP access from the configuration panels in SMTP and IIS, among others. But what if you want to block an IP address from all services with only one motion? This is where the IP Security Policy Management snap-in comes in handy.

Configure the IP Security Policy to block your first IP address

  1. Click “Start” and “Run” – type “MMC” and press OK.
  2. In the MMC, click “File” and “Add/Remove Snap In.”
  3. In the “Standalone” tab, click “Add.”
  4. Select “IP Security Policy Management” and click “Add.”
  5. Select “Local Computer” and click “Finish.”
  6. Close the “Add standalone Snap-in” window and click “OK” on the “Add/Remove Snap-in” window.
  7. Now that you are back in the MMC console, right-click on “IP Security Policies on Local Computer” in the left-hand pane and select “Create IP Security Policy.”
  8. Click “Next.”
  9. Enter a name (ex. IP Block List) and description into the boxes and click “Next.”
  10. Leave “Activate the default response rule” checked. Click “Next.”
  11. Leave “Active Directory default (Kerberos)” checked. Click “Next.”
  12. Leave “Edit properties” checked. Click “Finish.”
  13. The Properties box should be open.
  14. To add your first IP address, click “Add.” Make sure “Use Add Wizard” is checked beside the button.
  15. Click “Next” when the “Create IP Security Rule” wizard opens.
  16. Leave “This rule does not specify a tunnel” checked. Click “Next.”
  17. Select “All network connections” under Network Type (unless you want to specify by adapter). Click “Next.”
  18. You are now at the “IP Filter List.” The “All ICMP Traffic” and “All IP Traffic” options will not meet our needs; we will need to add another. Click “Add.”
  19. Name the IP Filter List (ex. Blocked IP List) and enter a description. Click “Add” to enter the first IP address to block.
  20. The “IP Filter Wizard” will pop up. Click “Next.”
  21. This will be the first IP address or IP range we enter to block. Enter a description (I usually enter the IP itself) and make sure “Mirrored” is selected below. This will ensure packets to/from are blocked, allowing you to create one rule instead of two. Click “Next.”
  22. Keep “Source Address” as “My IP Address” and click “Next.”
  23. Under “Destination Address” select “A specific IP Address” or “A specific IP Subnet.” If you select “Any IP address” it will block all IPs!
  24. Enter in the IP address in the fields below and click “Next.”
  25. Under “select protocol type” choose “Any” (means “All”) unless you specifically want to block from RDP (Remote Desktop), TCP or UDP, etc. Click “Next.”
  26. Click “Finish.”
  27. Now that you are back to the “IP Filter List” click “OK.”
  28. You will be back in the “IP Filter List” list in the Security Rule Wizard – make sure you select your new “Blocked IP List” and not “All IP Traffic” or “All ICMP Traffic.” Click “Next.”
  29. You will be taken to “Filter Action.” The lists: Permit, Request Security (Optional), and Require Security will not meet our needs. Click “Add.”
  30. In the “IP Security Filter Action” wizard, click “Next.”
  31. Select a name (ex. Block all Packets) and click “Next.”
  32. Select “Block” for the filter action behavior. Click “Next.”
  33. Click “Finish.”
  34. You are back to the “Filter Action” list. Select your new list (Block All Packets) and click “Next.”
  35. Click “Finish.”
  36. You are back to your IP Security Policy list (Blocked IP List) Properties. Click “OK.”
  37. Back in the “IP Security Policies on Local Computer” snap-in, you’ll need to assign the new policy. In the right-hand pane, right-click on your new list (IP Block List) and select “assign.”

To make it easier the next time you wish to block an IP address, save the MMC Snap-in configuration as a shortcut. Go to “File” and “Save As” and save it on your Desktop or Start Menu.

To Block Additional IP Addresses

  1. Enter the IP Block List snap-in you saved.
  2. In the right-hand pane double-click your IP Block List.
  3. Under “IP Filter List” select the newly created “Blocked IP List” and click “Edit.” Make sure “Use Add Wizard” is checked.
  4. Under “IP Filter Lists” select your “Blocked IP List” (not All ICMP or IP Traffic) and click “Edit.”
  5. You are now in the “Add IP wizard” area. You will see the first IP address you blocked in a listing under “IP Filters.” Click “Add.”
  6. Follow all previous steps to add the IP address you wish to block. Once finished, exit all dialog boxes.

You may need to restart the server for the settings to take effect.

Microsoft Exchange Server 2010 Released and RTM Trial Available

Well, it is here. Exchange 2010 has been released, and there is a 120-day trial available at Microsoft. Of course, if you have a technet subscription, you won’t need the trial.

The trial is the final version (14.00.0639.021), released 11/09/09, while the Virtual HDD version is still the RC dated 10/12/09.

Using Taskkill to End Tasks (and end Task Manager)

A few days ago I was faced with the issue of Task Manager not responding…so how would I kill tasks…or, how do I kill Task Manager?

Not too many people know about taskkill, the command prompt’s End Task equivalent.

In my particular case I used:

taskkill /f /im Taskmgr.exe

If you are unsure of the Image Name, you can specify a wildcard in the syntax, ex. Task*. The Process ID can also be used. It can be found through Perfmon (Windows 2008) if Task Manager is unresponsive. Go to Start -> Run -> Perfmon.

Below is the full syntax and options available using Taskkill from the Command Prompt.

taskkill [/s Computer] [/u Domain\User [/p Password]]] [/fi FilterName] [/pid ProcessID]|[/im ImageName] [/f][/t]

/s computer

  • Specifies the name or IP address of a remote computer (do not use backslashes). The default is the local computer.

/u domain\user

  • Runs the command with the account permissions of the user specified by User or Domain\User. The default is the permissions of the current logged on user on the computer issuing the command.

/p password

  • Specifies the password of the user account that is specified in the /u parameter.

/fi FilterName

  • Specifies the types of process(es) to include in or exclude from termination. The following are valid filter names, operators, and values.
Name Operators Value
Hostname eq, ne Any valid string.
Imagename eq, ne Any valid string.
PID eq, ne, gt, lt, ge, le Any valid positive integer.
Session eq, ne, gt, lt, ge, le Any valid session number.
CPUTime eq, ne, gt, lt, ge, le Valid time in the format of hh:mm:ss. The mm and ss parameters should be between 0 and 59 and hh can be any valid unsigned numeric value.
Memusage eq, ne, gt, lt, ge, le Any valid integer.
Username eq, ne Any valid user name ([Domain\]User).
Services eq, ne Any valid string.
Windowtitle eq, ne Any valid string.

/pid processID

  • Specifies the process ID of the process to be terminated.

/im ImageName

  • Specifies the image name of the process to be terminated. Use the wildcard (*) to specify all image names.


  • Specifies that process(es) be forcefully terminated. This parameter is ignored for remote processes; all remote processes are forcefully terminated.


  • Specifies to terminate all child processes along with the parent process, commonly known as a tree kill.

Computers and Capital Cost Allowance for Canada

Here’s a bit of info for the Canadian IT sector: In the new budget the Capital Cost Allowance for computer hardware has been temporarily increased to 100% (from 50%). This allows businesses to write-off 100% of the cost of computer hardware purchased between Jan 27th 2009 and Feb 1st 2011.

What does this mean for IT departments? Tough to say – it depends on the performance of the business itself to justify whether there are any tangible savings – there are many businesses that pay little or no tax already.

For those consultants with small businesses on their client list – you may wish to remind them of this development. It may allow them to increase their IT spending.

Read more here:

Canada’s Economic Action Plan – Budget 2009