Well, today was the last day, and the Microsoft Tech∙Ed: IT Forum 2006 in Barcelona has come to an end. I started off the day doing a presentation about using LogParser 2.2 with IIS. Matthew Boettcher took the following photo during the presentation:
Following that presentation, Matthew and I hosted a Chalk & Talk session with Paul Wright and Chad Kraykovic from microsoft.com and Sergei Anatov from the IIS product team. Matthew started off by giving a small recap of the topics that had been covered in the Connected Systems Infrastructure track at Tech∙Ed, then we opened the floor for the next hour and a half to answer any questions. We had around 20 or so people, and between the various attendees we had a great discussion.
A new question that's cropped up with customers over the past few days is whether there will be a web version for the Longhorn Core SKU. I don't have an answer on that, but I wanted to mention that it seems like a lot of customers are interested.
Here's a shot of the exhibition hall around the lunch break:
I worked at the IIS booth for the next three hours after the Chalk & Talk session, then I said my goodbyes to Matthew, Ivan, and Sergei, and my part of this conference was over.
My thanks to all the customers that dropped by and gave us such great feedback!
Today was the third day at Microsoft Tech∙Ed: IT Forum 2006 in Barcelona, and customers are still asking some great questions about IIS. Today more customers mostly asked about their current IIS deployments and ways that they could make things better, but occasionally someone would ask, "So what's different about IIS 7?" That's such a great question, because there's so many new features to demo and talk about.
Isaac Roybal from Microsoft was in the booth again today, and we shared the booth with Eric Lawrence and the team representing Internet Explorer 7:
Tomorrow I'm giving a presentation on LogParser, which is one of my favorite IIS utilities.
Today was the second day of Microsoft Tech∙Ed: IT Forum 2006 in Barcelona. So far everything seems to be going well, and I've had the chance to talk with some great customers. Once again, the customers that visited our booth are most concerned with Clustering/Load Balancing/Replication and IIS/PHP integration. But that being said, I had the chance to demo some great functionality for customers that dropped by.
Today I was joined by Isaac Roybal from Microsoft, who is a Product Manager in Windows Server Marketing, and we shared the booth with Eric Lawrence, who is a Program Manager for Internet Explorer:
I delivered the first of my presentations today to a crowd of 175, and my feedback scores for the presentation were about the average for the connected systems infrastructure track. The main points that attendees wanted me to do better was to not go so deep in my topics and to slow down a little. (Sigh.)
After we had finished up for the day, Sergei, Isaac, several members of the PowerShell team and I met for dinner with a couple of the guys from MySpace. Here's a shot of Sergei talking with Michael Coates, who is an evangelist on the Platform Evangelism team.
Tomorrow I don't have any presentations, so I should be hanging around the booth most of the day.
Today was the first official day of the 2006 Microsoft Tech∙Ed: IT Forum in Barcelona. I caught Bob Muglia's opening keynote address, and there were some great demos: Vista, Office 2007, SharePoint 2007, etc., but the best demo from an IIS perspective was when they managed a web farm of IIS 7 servers using PowerShell. They also discussed the new FastCGI technology in IIS and how it can be used for faster PHP or other CGI technologies.
Sergei Anatov and I were joined at the IIS "Ask The Experts" booth today by Ivan Gonzalez Vilaboa, who is an IIS MVP from spain. (Thanks, Ivan!)
Based on the customers that visited our booth, here are the pressing questions that seemed to be on most everyone's mind regarding the future of IIS:
- Clustering/Load Balancing/Replication - People want to know what IIS is going to do about these technologies.
I discussed replication in Vista/Longhorn and using distributed configuration files with IIS 7, but it was still the #1 subject for customers.
- IIS and PHP - Is IIS going to have a PHP engine built-in?
There was a bit of confusion on the information that was presented in the keynote address, because several people got the impression that IIS was going to ship with a PHP script engine. I had the misfortune of communicating that this is not the case, and showed people the annoucement on www.iis.net that discusses the technical preview of FastCGI.
That's all for today. See you tomorrow!
Today is the main registration day for the 2006 Microsoft Tech∙Ed: IT Forum in Barcelona. The show was sold out weeks ago, so there are 4,750 people scheduled to attend, and another 400 people on the waiting list. There were a few pre-conference sessions today, but the main bulk of the show starts tomorrow.
Sergei Anatov and I will be demonstrating IIS 7 and answering questions for any version of IIS at the IIS/IE booth in the "Ask The Experts" lounge, then later in the week I'll be delivering two presentations on IIS:
- 17 November at 09:00 - Building a Custom Log Analysis Solution with Log Parser 2.2 for Internet Information Services (IIS) 6 (CSI303)
- 15 November at 17:00 - An Administrator's Guide to Internet Information Services (IIS) 7.0 (CSI201)
If you're at Tech∙Ed, feel free to drop by and say "Hi!"
6. November 2006
IIS , LogParser
Around a year ago I wrote a blog entry titled "Converting NCSA log files to W3C format", which showed how to use the MSWC.IISLog object to convert log files in the NCSA format back to W3C format. I wrote that blog entry to make up for the fact that the CONVLOG.EXE utility only converts log files to NCSA format, which some older log analysis software packages require. So what happens if you have a bunch of log files in W3C format and you don't have a copy of CONVLOG.EXE on your computer?
This blog entry is something of a reverse direction on my previous post, and shows you how to use the MSUtil.LogQuery object to convert W3C log files to NCSA format. The MSUtil.LogQuery object is shipped with LogParser, which you can download from one of the following URLs:
Once you've downloaded and installed the LogParser package, you will need to manually register the LogParser.dll file in order to use the MSUtil.LogQuery object. Having done so, you can use the Windows Script Host (WSH) code in this blog article to convert a folder filled with W3C log files to NCSA format.
To use this code, just copy the code into notepad, and save it with a ".vbs" file extension on your system. To run it, copy the script to a folder that contains your W3C log files, (named "ex*.log"), then double-click it.
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(".")
For Each objInputFile In objFolder.Files
strInputPath = LCase(objInputFile.Name)
If Left(strInputPath,2) = "ex" And Right(strInputPath,4) = ".log" Then
strOutputPath = objFolder.Path & "\" & "nc" & Mid(strInputPath,3)
strInputPath = objFolder.Path & "\" & strInputPath
Set objLogQuery = CreateObject("MSUtil.LogQuery")
Set objLogRecordSet = objLogQuery.Execute("SELECT * FROM " & strInputPath)
Set objOutputFile = objFSO.CreateTextFile(strOutputPath)
Do While Not objLogRecordSet.atEnd
Set objLogRecord = objLogRecordSet.getRecord
strLogRecord = FormatField(objLogRecord.getValue("c-ip"))
strLogRecord = strLogRecord & " " & FormatField("")
strLogRecord = strLogRecord & " " & FormatField(objLogRecord.getValue("cs-username"))
strLogTemp = BuildDateTime(objLogRecord.getValue("date"),objLogRecord.getValue("time"))
strLogRecord = strLogRecord & " " & FormatField(strLogTemp)
strLogRecord = strLogRecord & " """ & FormatField(objLogRecord.getValue("cs-method"))
strLogRecord = strLogRecord & " " & FormatField(objLogRecord.getValue("cs-uri-stem"))
strLogTemp = FormatField(objLogRecord.getValue("cs-version"))
If strLogTemp = "-" Then
strLogRecord = strLogRecord & " HTTP/1.0"""
strLogRecord = strLogRecord & " " & strLogTemp & """"
strLogRecord = strLogRecord & " " & FormatField(objLogRecord.getValue("sc-status"))
strLogRecord = strLogRecord & " " & FormatField(objLogRecord.getValue("sc-bytes"))
Set objLogQuery = Nothing
On Error Resume Next
FormatField = "-"
If Len(tmpField) > 0 Then FormatField = Trim(tmpField)
On Error Resume Next
BuildDateTime = "[" & _
Right("0" & Day(tmpDate),2) & "/" & _
Left(MonthName(Month(tmpDate)),3) & "/" & _
Year(tmpDate) & ":" & _
Right("0" & Hour(tmpTime),2) & ":" & _
Right("0" & Minute(tmpTime),2) & ":" & _
Right("0" & Second(tmpTime),2) & _
I hope this helps!