• 1. London, UK
  • 2. New York, NY
  • 3. Sydney, Australia
  • 4. Melbourne, Australia
  • 5. Moscow, Russia
  • 6. Singapore
  • 7. Paris, France
  • 8. Chicago, IL
  • 9. Hong Kong
  • 10. Houston, TX
Bharat Suneja

Friday, March 20, 2009


Released: PowerShell Snap-in For IIS 7

Posted by Bharat Suneja at 8:30 AM
The big news from MIX09 is probably the release of Internet Explorer 8, but for shell aficionados, Exchange folks and scripting geeks, the release of IIS Snap-in for Windows PowerShell is not a lesser event. The snap-in has 71 cmdlets to manage IIS, from web application pools to web site configurations, bindings, and SSL.

Download the IIS Snap-in for Windows PowerShell: X86 | x64.

For more information about the snap-in, head to IIS.net. IIS developer Sergei Antonov, who owns scripting and command-line tools, blogs here.

Curious to find out which cmdlets are included? Head over to the IIS 7 Cmdlets mini-reference.

Labels: , , ,

Monday, December 22, 2008

I've been quite impressed with IIS 7 and the IIS blog in the past, and these guys continue to impress.

If you've noticed some changes on Exchangepedia recently - yes, the design tweaks are ongoing, and no - I've not completed the move to WordPress yet. Although I'm looking at other alternatives — including some based on .Net, it's hard not to like WordPress 2.7!

But I digress. Back to IIS 7 and WordPress. As part of moving Exchangepedia to WordPress, I've been playing with address rewriting. Hopefully I'll be able to retain the same permalink URLs generated by Blogger, or at least move away from the default WordPress URLs which look like: http://exchangepedia.com/blog/?p=417. WordPress itself calls them ugly URLs.

Although primarily targeted at open source components (the LAMP platform - Linux OS, Apache web server, MySQL database, and PHP), Wordpress works just as well on Windows, IIS, MySQL, and PHP platform (aka "Let's-just-say-the-acronym's-nowhere-as-"pretty"-platform" :).

IIS 7 provides you the best of both worlds - the file-based configurations similar to Apache (using web.config files), and the GUI admin tools that most of us Windows folks are used to. (As a sidenote, IIS 7 also has a Powershell provider, bringing to it the same powerful, object-oriented shell interface you're used to managing Exchange with. Download CTP2 of the PS provider for IIS 7 x86 | x64). Above all, IIS plays well with other, non-Microsoft parts of the stack, and the team doesn't seem to want to hide that. In fact, most of my searches have led me to the IIS team blog, which has provided some great documentation, blog posts, and downloads.

Wordpress.org does a great job of documenting things for its LAMP target audience - you can use Apache's mod_rewrite module to rewrite URLs. See 'Using Permalinks' in WordPress documentation for more information on how to do this.

On Windows and IIS 7, you can use the Microsoft URL Rewrite module for IIS 7 (Download x86 | x64 | Documentation). A simple edit to the web.config file in your Wordpress directory, and pretty permalinks are live!

Read Ruslan Yakushev's post on the IIS blog for more info: Enabling Pretty Permalinks in Wordpress.

Labels: ,

Tuesday, July 08, 2008

In previous versions of IIS, the IUSR_MachineName account is created for anonymous authentication. This is an actual user account created on the server (a domain account can be used in domain environments), and like all user accounts— it has a SID, and an account password with the accompanying management costs and risks.

One of the resulting annoyances (for me): when you install IIS first and then change the computer name, the computer name and the MachineName in IUSR_MachineName account don't match.

IIS 7 gets rid of the IUSR_MachineName account in favor of a built-in IUSR account that's guaranteed to have the same SID on all computers. This ensures ACLs copied from one web server to another work, domain accounts are no longer required, and applications can be easily deployed across multiple web servers. The IIS_WPG group (for IIS Application Pool identities) is replaced by the built-in group IIS_IUSRS.

Note: The IUSR_MACHINENAME account isn't completely gone— it is used for anonymous authentication to FTP, and gets created if/when you install FTP.

More on the IIS team blog in 'Understanding the Built-In User and Group Accounts in IIS 7.0'

- Security identifiers
- Well-known security identifiers in Windows operating systems

Labels: , , , ,

Monday, July 30, 2007

If you have anything to do with CSS/XHTML and web design, Chris Pederick's Web Developer extension for FireFox is a must have! It lets you do a whole bunch of things directly within FireFox, including:

- Display CSS stylesheets used by a web page
- Edit the CSS sytlesheets directly and see the web page change as each change is made
- Edit HTML
- Disable CSS stylesheets
- Display image file sizes, paths, dimensions & alt attributes
- View HTTP response headers
- Validate CSS, XHTML, RSS, links, etc.
- Show rulers, line guides

Not an extensive list of all the stuff that this great plug-in does. Download it for free from here and make FireFox an infinitely more useful tool.


Friday, December 29, 2006

It's been a long while since I designed or created a web page with any complexity, so I've never had to face the browser incompatibility issues. I've always known and at times felt the pain that web designers feel when designing something to look good on both browsers, but the chasm seems to have grown a lot bigger and wider since I last faced such issues.

Playing with Blogger's CSS code over the past few weeks I've realized how difficult it really is. Web pages that look perfectly sane and even gorgeous in Firefox totally meltdown in IE! Images align wrong, inline images may display over text, floating sections disappear, column widths don't behave as they should... the list is endless.

If you're using IE to view this blog, you may have come across some of the above issues.

For instance, images placed before link that look perfectly normal in Firefox as seen below:
end up being overlapped with link text in IE, as shown below:
One would have hoped IE7 would fix all such issues. I am no CSS/XHTML expert, so I can't really comment on how compliant it is with standards, but the rendering could certainly use a lot more work, imo. If you search the web (check out positioneverything.net), you will come across plenty of information about issues/bugs with the way IE renders stuff, and some workarounds that involve detecting which browser is being used and using a different style sheet for some.

This is not to say Firefox is completely compliant and kosher in its behavior - it just comes across as more elegant than IE with fewer rendering flaws/bugs, imo. On the flip side, I have also seen Firefox totally mess up a page when the same page is rendered just as you'd expect in other browsers, including IE - even if the code doesn't have any IE-specific hacks.

As I attempt to switch to Wordpress over the next few weeks (yes, I finally got Wordpress up and running and it's been the guinea pig for my experiments with CSS :), I will try to ensure the new templates render without any major issues in IE. However, I will continue to use Firefox as the primary browser I test with.

I'm feeling the pain many web developers feel because of such inconsistencies between browsers, and this is just the tip of the iceberg. It would be nice to have both browsers render pages identically, but that seems like little more than wishful thinking at this point.

Having said this, let me add - I continue to use IE7, it's a pretty good upgrade to IE6 and almost essential if you use Outlook Web Access and some Microsoft web sites. (I continue to field arguments to the contrary, and suggestions to use the IE Tab plug-in for Firefox - which I do use, btw - that can render websites you choose with IE's rendering engine in a Firefox tab).


Friday, November 05, 2004


HTML: Add a BACK text link (Javascript)

Posted by Bharat Suneja at 3:02 PM
To add a "Back" text link to a web page:
<a href="JavaScript:history.back(1)">the past</a>

Using VBScript and FORM button:
<FORM method="POST" name="VBScript_Nav_Sample">

<INPUT TYPE="button" NAME="Go Back!" VALUE="VBScript_Backup_Sample" LANGUAGE="VBScript" OnClick="call window.history.back(1)">


Using Javacript and FORM button:

<input type="button" value="Button" name="B3" onClick="javascript:history.back(1)">


From Microsoft KB Q205693

Labels: ,