Watching the file system
Mon, Nov 9 2009 8:15

We saw how to watch for WMI events http://msmvps.com/blogs/richardsiddaway/archive/2009/11/07/powershell-wmi-events.aspx. In this post we will look at watching the file system. This time we will use the .NET System.IO.FileSystemWatcher object which means we use Register-ObjectEvent instead of Register-WmiEvent.

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
## folder to watch
$folder = "C:\test"
## watch all files
$filter = "*"
## events to watch
$events = @("Changed", "Created", "Deleted", "Renamed")
##
## create watcher
$fsw = New-Object -TypeName System.IO.FileSystemWatcher -ArgumentList $folder, $filter
$fsw.IncludeSubDirectories = $true
##
## register events
foreach ($event in $events){
    Register-ObjectEvent -InputObject $fsw -EventName $event -SourceIdentifier "File System $event"
}

 

We can start by defining the folder we want to watch and which files.  In this case I want to watch all files. We can restrict it to certain files e.g. $filter = “*.txt”

Wildcards work in the normal way for this filter.  We could even restrict to a single file. The events we are interested in are defined.

After creating a System.IO.FileSystemWatcher object using the folder and filter in the construction we set the IncludeSubDirectories property so we are watching the whole path.

Finally we need to register an event for each event we are interested in. Notice how the SourceIdentifier changes to identify the particular event.

We can see the Eventsubscribers we have created.

PS> Get-EventSubscriber | Select SubscriptionId, EventName, SourceIdentifier | ft -a

SubscriptionId EventName SourceIdentifier
-------------- --------- ----------------
             3 Changed   File System Changed
             4 Created   File System Created
             5 Deleted   File System Deleted
             6 Renamed   File System Renamed

We now need to perform some actions on the files – create, change, rename, delete that we are monitoring

PS> Get-Event | group SourceIdentifier

Count Name                      Group
----- ----                      -----
    7 File System Changed       {System.Management.Automation.PSEventArgs, System.Management.Automation.PSEventArgs,...
    1 File System Renamed       {System.Management.Automation.PSEventArgs}
    1 File System Created       {System.Management.Automation.PSEventArgs}
    1 File System Deleted       {System.Management.Automation.PSEventArgs}

If we look at this in more detail

PS> Get-Event | select EventIdentifier, SourceIdentifier, TimeGenerated

                        EventIdentifier SourceIdentifier                        TimeGenerated
                        --------------- ----------------                        -------------
                                      1 File System Changed                     08/11/2009 11:46:39
                                      2 File System Changed                     08/11/2009 11:46:39
                                      3 File System Renamed                     08/11/2009 11:49:53
                                      4 File System Changed                     08/11/2009 11:49:53
                                      5 File System Created                     08/11/2009 11:53:18
                                      6 File System Changed                     08/11/2009 11:53:18
                                      7 File System Changed                     08/11/2009 11:53:31
                                      8 File System Changed                     08/11/2009 11:53:31
                                      9 File System Deleted                     08/11/2009 11:54:22
                                     10 File System Changed                     08/11/2009 11:54:22

 

Note that we get pairs of events – the second event of the pair is always a change event.  If we just want to see the changes (and remove duplicates). Just be careful on this and check whether its the odd or even record you need if running multiple registered events. 

001
002
003
004
Get-Event -SourceIdentifier "File System Changed" | where {($_.EventIdentifier % 2) -eq 1} | foreach {
    "{0}, {1}, {2}" -f   $_.SourceIdentifier, $_.SourceEventArgs.FullPath, $_.TimeGenerated
   
}

 

We can use Get-Event to pull the change events from the queue. The modulo arithmetic on the EventIdentifier ensures that we only get the first change record. We can then dump the file path and time of change.

In a similar way we can interrogate the other events

001
002
003
004
Get-Event -SourceIdentifier "File System Created" | foreach {
    "{0}, {1}, {2}" -f   $_.SourceIdentifier, $_.SourceEventArgs.FullPath, $_.TimeGenerated
   
}

 

001
002
003
004
Get-Event -SourceIdentifier "File System Renamed" | foreach {
    "{0}, {1}, {2}, {3}" -f   $_.SourceIdentifier, $_.SourceEventArgs.OldFullPath, $_.SourceEventArgs.FullPath, $_.TimeGenerated
   
}

 

001
002
003
004
Get-Event -SourceIdentifier "File System Deleted" | foreach {
    "{0}, {1}, {2}" -f   $_.SourceIdentifier, $_.SourceEventArgs.FullPath, $_.TimeGenerated
   
}

 

These four could be combined into a single script if required.

Combined with the process tracing we did previously we can now track what programs are started on a system and what files are accessed.

Technorati Tags: ,,
Migration Step Eigheen: Moving the trusted cert
Sun, Nov 8 2009 23:06

If you are like me and already have a godaddy cert ...and believe me when I say I have one... I bought the dang thing for ten years in advance so I wouldn't accidentally forget to renew it.  So I kinda want to keep this cert and not rebuy it.

But we can move it from the one box to the other...no prob.

http://www.microsoft.com/downloads/details.aspx?FamilyID=52b7ea63-78af-4a96-811e-284f5c1de13b&DisplayLang=en

From the detailed migration documentation is this step:To export a trusted certificate from the Source Server

1.   On the Source Server, click Start, click Run, type mmc.exe, and then press ENTER.

2.   On the console, click File, and then click Add/Remove Snap-in.

3.   Click Add, choose Certificates from the list, click Add again, and then click OK.

4.   On the pop-up window, click Computer Account, click Finish, and then click OK.

5.   Expand Certificates, expand Personal, and then click Certificates.

6.   Right-click the certificate that is issued to your Web site (for example: remote.contoso.com), and then click All Tasks, and then click Export.

Note

There may be multiple certificates with the same name. Ensure that you choose a certificate that has a valid expiration date and that was issued by a trusted authority. If you are not sure which one to use, open Internet Information Services (IIS), determine which certificate IIS is using on the Source Server, and then choose that certificate.

7.   In the Certificate Export Wizard, click Next.

8.   Ensure Yes, export the private key is selected, and then click Next.

9.   Ensure Include all certificates in the certificate path if possible and Export all extended properties are selected, and then click Next. Do not select Delete the private key if the export is successful.

10.  Type a password to protect the certificate file, and then click Next.

11.  Choose a location to save the .pfx file (for example, C:\trustedcert.pfx), and then click Next.

12.  Finish the wizard.

 

To import the trusted certificate to the Destination Server

1.   Move the trustedcert.pfx file to the Destination Server by using either the network or a USB drive.

2.   On the Destination Server, click Start, type mmc.exe, and then press ENTER.

3.   On the console, click File, and then click Add/Remove Snap-in.

4.   Choose Certificates from the list, and then click Add.

5.   On the pop-up, select Computer Account, click Finish, and then click OK.

6.   Expand Certificates, expand Personal, and then click Certificates.

7.   Right-click Certificates, click All Tasks, and then click Import.

8.   On the Certificate Import Wizard Welcome page, click Next.

9.   Browse to the location of the saved .pfx file, and then click Next.

10.  Type the password that you typed in the Export procedure, ensure that Mark this key as exportable and Include all extended properties are selected, and then click Next.

11.  Ensure that the certificate will be imported to the Personal folder, and then click Next.

12.  Finish the wizard.

 

On the next screen where you can't see the cert... don't panic.  Click the drop down menu to see the pfx file format

Voila...there's your transfered cert from the other box

Make sure that "mark the key as exportable" so that when we ever do this again...we can move it again.

To do this next step at this point in the migration you can hit cancel on the migration steps, jump over to the main console and run the Add a trusted certificate wizard.

To ensure that the Destination Server is using the newly imported certificate, run the Add a Trusted Certificate Wizard.

To run the Add a Trusted Certificate Wizard

1.   Open the Windows SBS Console.

2.   On the navigation bar, click the Network tab, and then click Connectivity.

3.   In the task pane, click Add a trusted certificate.

4.   On the Welcome page, read the information, and then click Next.

5.   On the Get the certificate page, click I want to use a certificate that is already installed on the server, and then click Next.

6.   On the Choose an installed certificate page, click the certificate that you just imported, and then click Next.

7.   When the wizard finishes, click Finish.

 One thing I moved over as well and put in the trusted root cert store is the godaddy intermediary cert bundle. 

Using our handy dandy virtual floppy disk and moving it from one machine to the other and importing it, this time into the trusted root certs

 

And now to test..we can go to http://domain.com or go into the IIS 7 (not 6) console and go down to SBS web applications and browse to the port 80 and it should slighly freak out and give off a pink warning because internal to the network there's no WWW and my cert has a WWW on the front.

So there you have it, we just moved my umpteen year cert from my one box to the other.

Stay tuned for our next chapter Nineteen ....in "How the server migrated"

Tomorrow's episode... Exchange migration.  Will our email move?  Will our public folders replicate?  Stay tuned you'll be on the edge of your seats for this next blog post!

by bradley | with no comments
Filed under:
Migration Step Seventeen: Migrate network settings
Sun, Nov 8 2009 22:57

 Migrate network settings

This migration step is so easy...that you click the button and go....

uh... that's it?

The next step ...because I have a trusted cert I can migrate the cert from one box to the other.. on to step eighteen

by bradley | with no comments
Filed under:
Migration Step Sixteen: Setting up the domain name
Sun, Nov 8 2009 22:27

Configure the Internet address and leave IPv6 enabled. If you disable it improperly or incorrectly, you will see numerous network issues, including Exchange failing to start. For more information see this blog post on the Microsoft Web site (http://blogs.technet.com/sbs/archive/2008/10/24/issues-after-disabling-ipv6-on-your-nic-on-sbs-2008.aspx ).

Do yourself a favor and plan on using a godaddy cert for the Remote Web Workplace.  Why?  Because then you won't have to worry about getting the cert package on the remote systems, you get rid of the pink SSL warning in IE7 and IE8, your phones will sync easier with the server.

You can buy the cheap godaddy $20 cert as long as you put the autodiscover records up in the DNS.  If your DNS holder can't do that, maybe you need to consider another DNS provider?

http://msmvps.com/blogs/bradley/archive/2008/12/18/autodiscover-and-dns.aspx  Read that post
http://www.thirdtier.net/2009/02/setting-up-an-external-autodiscover-record-for-sbs-2008/ and that one
http://sbs.seandaniel.com/2009/02/installing-godaddy-standard-ssl.html and that one

I'm going to control the DNS myself.

If you want something OTHER than remote.domain.com as your remote access portal, click on Advanced and choose exactly what you want

You then choose whatever you like

You can't use Office Live ...but in my case I won't use that integration.

It is absolutely positively normal that with a REAL proper firewall (in my case www.Calyptix.com ) that it cannot use uPnP to set ports 25, 80, 443 and 987.  You don't need to open up port 80, you can merely open up 443.  Port 25 can also be better protected using mail hygiene providers where you set the Calyptix to only allow port 25 to be accessed by your mail hygiene provider (in my case www.exchangedefender.com who is pulling off and cleaning out all those lovely Facebook phishing scam emails that are overwhelming email boxes everywhere).  This means that I don't get those drive by port scans/password attempts as well.

If you want to host multiple emails on the server follow this blog post:

http://blogs.technet.com/sbs/archive/2008/10/13/hosting-multiple-e-mail-domains-on-sbs-2008.aspx

 

by bradley | with no comments
Filed under:
Migration Step Fifteen: Network configuration
Sun, Nov 8 2009 22:19

Configure the network

We're on to the next step....

When you have a GOOD firewall (that is one that doesn't have the uPnP enabled and you have to manually set it up.

Enter the router IP and then the server IP.

It will run the wizard and complete successfully.

 

 

 

by bradley | with no comments
Filed under:
Migration Step Fourteen: It's moving time!
Sun, Nov 8 2009 20:48

http://msmvps.com/blogs/bradley/archive/2009/11/07/just-a-reminder-of-all-of-the-key-migration-resources.aspx

    Migrate settings and data to the new server. Follow the instructions on pages 28 through 70 in the Microsoft migration document.
    Change where to store data on the Destination Server
    Configure the network
    Configure the Internet address and leave IPv6 enabled. If you disable it improperly or incorrectly, you will see numerous network issues, including Exchange failing to start. For more information see this blog post on the Microsoft Web site (http://blogs.technet.com/sbs/archive/2008/10/24/issues-after-disabling-ipv6-on-your-nic-on-sbs-2008.aspx ).
    Migrate network settings
    Migrate certificates
    Migrate Exchange mailboxes and settings
    Remove Internet connectors
    Migrate POP3 connectors
    Move Exchange Server public folders
    Move the Offline Address Book
    Move mailboxes
    Enable circular logging on storage groups
    Remove legacy Group Policy objects and logon settings
    Remove old logon scripts
    Remove old Group Policy objects
    Migrate users' shared data
    Configure a new shared volume on the Destination Server
    Copy users' shared folders to the Destination Server
    Copy additional shared folders to the Destination Server    
    Migrate the internal Web site
    Steps performed on the Source Server
    Steps performed on the Destination Server
    Migrate fax data
    Migrate user accounts and groups
    Enable folder redirection on the Destination Server
    Migrate SQL Server data
    Install a new instance of SQL Server 2008
    Migrate a SharePoint instance of SQL Server 2000 Standard
    Migrate a SharePoint instance of SQL Server 2005 Workgroup
    Migrate a SQL Server 2000 instance or SQL Server 2005 instance to SQL Server 2008
    Specify SQL Server collation settings
    Migrate Terminal Service licensing server

Okay that's not all of step 14.... so let's take this a bit at a time.

First off I'm going to add a drive to the newly built SBS 2008 so that we have a place for the Data drive.

Mikael Nystrom (www.thirdtier.net ) said the other day that when you add another drive, add additional drives via SCSI. Make the first drive an IDE drive.  It allows you to hot add harddrives without rebooting the box.

You will have to go into computer management and convert the drive.

Also don't forget on the new server, just because the mouse and everything works, don't forget to install the HyperV integration:

Networking driver on 'SBS 2008' loaded but has a different version from the server. Server version 3.2 Client version 0.2 (Virtual machine ID ED1469AD-4443-436F-9BF6-E695AF0AA786). The device will work, but this is an unsupported configuration. This means that technical support will not be provided until this problem is resolved. To fix this problem, upgrade the integration services. To upgrade, connect to the virtual machine and select Insert Integration Services Setup Disk from the Action menu.

In the event logs you can see that indicating that I have not.

Click OK and then it will want to boot the box.

Now on to moving the data from the old server to the new server:

On page 28 of the migration doc it talks about folder redirection.  In my firm we don't do folder redirection because we train folks not to store stuff on the local harddrives

Configure folder redirection on the Destination Server

When the Windows SBS 2008 installation finishes, the users’ folder redirection data on the Destination Server is on drive C. If you use folder redirection on the Source Server or if you plan to start using folder redirection when you finish migrating to Windows SBS 2008, you should move the users’ redirected data to another partition or hard disk drive. For instructions, see Change where to store data on the Destination Server.

After you move the users’ redirected data, you should edit the Folder Redirection Group Policy object on the Destination Server to change the location of the users’ redirected data from the Source Server to the Destination Server. After you finish migrating user accounts and groups, you will enable folder redirection on the Destination Server.

 On a production server you'll want to move the WSUS, the Data and the Exchange to other drives.  Depending on how you set up servers, you may want multiple drives for this purpose. I'm going to be very simple for purposes of the test migration and not make multiple drives.  On a real production server you'll want to slice and dice depending on your needs and storage space.

To change where to store data on the Destination Server

1.   On the Migration Wizard Home page, click Change where to store data on the Destination Server, and then click Next.

2.   If you do not want to change where to store data at this time, click Skip this task, and then click Next.

3.   If you want to change where to store data, click each data type to start the Move Data Folders Wizard, and then follow the instructions in the wizard.

4.   When you finish changing where to store data, return to the Migration Wizard, click Task Complete, and then click Next.

We're going to move the data locations....

So I'll choose to move all of this data over

Before we do this, we should backup the server

As a FYI if you start to move WSUS soon after ABC's Brothers and Sisters is on at 10:00 p.m., that's also the same time that the WSUS starts it's sync schedule.

So if you try to move the data location, it will say "oops sorry, I'm not going to let you"

Okay I'm impatient tonight so I stopped the WSUS sync and moved the WSUS data location.

So now we tick off "task completed" and go on to the next one

by bradley | with no comments
Filed under:
Odds and Ends
Sun, Nov 8 2009 20:13

Just a quick note, I don't necessarily recommend an 80 gig server here.. I just did a minimum install for purposes of the migration test.  IMHO 60 gigs is too small as the WinSXS file grows.  And I plan to move the Exchange, WSUS and data to another driver. 

I don't consider 60 gigs a good partition and I certainly don't consider 4 gigs of ram enough for SBS 2008.

by bradley | with no comments
Filed under:
Access 2010 and Sharepoint discussion part 2
Sun, Nov 8 2009 20:56

In this blog entry Access 2010 and Sharepoint discussion I mentioned an interesting discussion   A second thread titled Access 2010 with Sharepoint 2010 was also started with a lot of additional interesting discussion.   Keep checking back on these threads.  David Fenton, as expected, is asking some tough questions as are others.  I expect this discussion to go on for a while. 

Note that you might want to click on the Options button on the right hand side of the grey bar and choose to view the thread as a tree.

PASS Regional Committee for the Central and Southern America Region
Sun, Nov 8 2009 21:26

Olá Amigos,

Boa noite! Como estão?

Estou entrando em contato com vocês para informar que fui convidado por Greg Low e Blythe Morrow, da PASS (Professional Association For SQL Server), a integrar o PASS Regional Committee for the Central and Southern America Region, com o objetivo de promover novos capítulos, assistir e auxiliar eventos, encontros e outras atividades.

Tenho grandes idéias para isso e sei que posso contar com o apoio de todos vocês, inclusive para divulgar (se possível) essa notícias e assim servir de apoio para grupos e comunidades que queiram participar. Em breve, estarei falando mais sobre esse novo projeto.

Você pode ver mais em: http://www.sqlpass.org/PASSChapters/CentralandSouthernAmerica.aspx

Agradeço a vários amigos que tenho conquistado nessa jornada, e espero com isso poder ajudar mais ainda a nossos grupos e nossas Comunidades.

Muito obrigado a cada um dos maigos que conquistei e a todos os membos dos Grupos MS-InfraRio, MSRio.NET, Code4all, WITS Brasil e MS-InfraES.

The search for drivers..
Sun, Nov 8 2009 17:52

I watched a video of a Windows House Party. The organisers put on a great show, and I was impressed, especially with the six year old PC which is running Windows 7 well, presumably the 32-bit variant.

I have a six year old Intel G845WN. Lets take a look at what I would have to do to get a usable Windows 7 onto it..

It presently has 640mb RAM spread across all three slots, so that would need to go and be replaced by three 512mb modules if I am to get any performance at all. Cost $150. Video is an ATI Radeon 9250 c/w 128mb. This is a keeper as long as I don’t want Aero anything..

Hard drive is a 40gb Maxtor. Hmmmm. No, it has to go too, maybe replace it with a WD 80gb IDE.. Cost $60. The modem is an Intel 536EP, and onboard sound is courtesy of Intel. I am fairly sure that both would work.

So, a quick total.. cdn$210 for parts plus $119 for Windows 7 Home Premium = $329.00.

Ouch!! At the end of the day, I will have a very expensive six year old machine sporting memory that will be useless in the event that the mainboard falls over and dies, and it still will not perform all that well. Certainly not $329 well. The picture would be worse if the machine had a 3rd party sound card installed that I didn’t want to lose, or a webcam, printer, scanner.. 

Manufacturer websites are again taking hits as XP users start the search for Windows 7 drivers. I have done a bit of it while helping computer users in the Microsoft Answers forum, and it is definitely a case of ‘déjà vu’. I remember doing the same thing two years ago for XP users who wanted to upgrade to Vista. Very little has changed.

The problem is that XP users have been told that Windows 7 will run on their machines..

by Mike Hall | with no comments
Filed under: , ,
How to be a Problem Solver
Sun, Nov 8 2009 14:53

How to be a Problem Solver   Or how to deal with an angry customer.  In particular note the over communicate concept even if it’s nothing more than we’re still working on it and here’s what we’ve done so far.

by Tony | with no comments
Un guide complet sur le déploiement de Windows 7 en téléchargement
Sun, Nov 8 2009 21:53

Je n’avais pas vu l’info (merci William !!) Microsoft vient de publier un guide dé déploiement très complet.

Brief Description

Deploying Windows® 7 Essential Guidance from the Windows 7 Resource Kit and TechNet Magazine
Download the New eBook: Deploying Windows® 7 Essential Guidance from the Windows 7 Resource Kit and Microsoft® TechNet Magazine. Looking for guidance specific to Windows 7 deployment? Check out what the industry's leading experts have to say in this free Microsoft Press eBook with selected chapters from the Windows 7 Resource Kit on Deployment Platforms, Planning, Testing Application Compatibil

image

Voici le sommaire (332 pages) :

Chapter 3 Deployment Platform
Chapter 4 Planning Deployment
Chapter 5 Testing Application Compatability
Chapter 6 Developing Disk Images
Chapter 7 Migrating User State Data
Chapter 8 Deploying Applications
Chapter 9 Preparing Windows PE
Chapter 10 Confi guring Windows Deployment Services
Chapter 11 Using Volume Activation
Chapter 12 Deploying with Microsoft Deployment Toolkit

 

Pour le télécharger :

http://www.microsoft.com/downloads/details.aspx?FamilyID=EE2A1D38-88A9-43B3-95BC-7E962F0B6030&displaylang=en

 

Laurent Gébeau

Source :

http://danstoncloud.com/blogs/william/archive/2009/11/08/document-pdf-de-332-pages-sur-le-d-233-ploiement-de-windows-7.aspx

First iPhone worm discovered - ikee changes wallpaper to Rick Astley photo
Sun, Nov 8 2009 20:52

Apple iPhone owners in Australia have reported that their smartphones have been infected by a worm that has changed their wallpaper to an image of 1980s pop crooner Rick Astley.

The worm, which could have spread to other countries although we have no confirmed reports outside Australia, is capable of breaking into jailbroken iPhones if their owners have not changed the default password after installing SSH. Once in place, the worm appears to attempt to find other iPhones on the mobile phone network that are similarly vulnerable, and installs itself again

On each installation, the worm - written by a hacker calling themselves "ikex" - changes the lock background wallpaper to an image of Rick Astley with the message:

ikee is never going to give you up

What's clear is that if you have jailbroken your iPhone or iPod Touch, and installed SSH, then you must always change your root user password to something different than the default, "alpine". In fact, it would be a good idea if you didn't use a dictionary word at all.

The worm will not affect users who have not jailbroken their iPhones or who have not installed SSH.

http://www.sophos.com/blogs/gc/g/2009/11/08/iphone-worm-discovered-wallpaper-rick-astley-photo/

by donna | with no comments
People having issue to sign-out their Windows Live ID or Hotmail
Sun, Nov 8 2009 20:27

If you are seeing the message below when signing out of Windows Live ID or Hotmail pages by Microsoft:

Sign out failed!

We could not sign you out because your browser seems to be blocking third party cookies.

  • Close all browser windows to sign out.
  • To prevent this error in the future, you must enable third party cookies by chaging your browser settings.

You should just close the browser.  If you don't want to see the above message, add passport.com, live.com and hotmail.com in your cookies manager.  If you are using MSN (e.g. personalized or customized MSN page), add msn.com too!

See discussion in http://www.calendarofupdates.com/updates/topic24848

by donna | with no comments
Microsoft Application Architecture Guide
Sun, Nov 8 2009 20:13

I’m putting this here for future reference.

by luisabreu | with no comments
Filed under:
FSWeekend 2009
Sun, Nov 8 2009 21:08

Time for a little update. This weekend was the annual FSWeekend in the Netherlands again, and I was present there on behalf of NL2000 and FSDeveloper. For NL2000 this was certainly not the first time we were there and it was a lot of fun to meet all those users of our scenery again. There are people you see almost every year at the weekend. For FSDeveloper it was the first time we were (a bit) visible at the event. Due to the more technical nature of the FSDeveloper community there was maybe a little less interest, but hopefully it helped some people to get starting in making some addons themselves.

Another interesting thing at the FSWeekend was that IVAO had organised a seminar about the future of Flight Simulation. At those sessions a panel discussed the consequences of the closure of ACES and what it meant for our hobby. The panel of 5 consisted of Jonckers (IVAO), Kenny Moens (IVAO), Mathijs Kok/Winfried Diekmann (Aerosoft), Francois Dumas (FSAddon and more) and me (NL2000/FSDeveloper). I guess this topic could deserve its own blog post later on, but in short the participants agreed that for the short term the consequences were mainly more stability and more time to develop nice addons. For the longer term the opinion varied more, but it is logical that you look differently at it when you try to make a living on FS addons. The fact that Aerosoft is considering to build their own simulator was also discussed of course and that sounds interesting indeed. I guess we'll see what the future brings, but the FSWeekend also showed that there are still many people enjoy flight simulation as a hobby.

So with the FSWeekend over now, it is time to move on to some other things again. Besides the busy work schedule and the normal family activities, I will try to focus on two things in the coming weeks. The first one is to finish the typical Dutch windmill objects for the NL2000 scenery. Since we got asked many times at the FSWeekend when the next release will be, it guess I should try to give this some priority. Because we can't release a Dutch scenery without such objects, we should keep up the myth that we all live in windmills and wear clogs. Oh and to come back to the question about the NL2000 v4 release (which I answered a dozen times this weekend), it will be released when it is ready and we can't promise a date yet. But we can see the end of the beta testing tunnel by now.

The other activity I want to put some focus on is the new gPoly tool I am planning. The idea has crystallized quite clear in my head by now, so I am looking forward to start the actual coding. I really think that a tool to make the creation of custom ground polygons a lot easier would be helpful to many developers. So hopefully I can report some progress on this soon.

by arno | with no comments
Filed under: , ,
Vint Cerf: 'Google doesn't know who you are'
Sun, Nov 8 2009 19:49

Interwebs founding father and Google evangelist Vint Cerf has insisted that when you search Google, the company doesn't know who you are.

Thursday morning, at a mini-conference in San Francisco, the always entertaining Cerf sat down with Wall Street Journal columnist Walt Mossberg and other tech luminaries to discuss "open" mobile networks. But at one point, the conversation turned to the epic amounts of user data pouring onto Google servers across the globe.

As Mossberg started to complain about Google using Gmail and other sign-in services to tie more and more search data to real live people, Cerf quickly interrupted. "We still don't know who you are," said the Google figurehead.

Mossberg begged to differ, pointing out that as netizens sign-in to their Google accounts in order to use other services, the company also ties those accounts to search data. "When I search Google, you can see - right up at the top of page - that I'm logged in. You can see my Gmail address," he told Cerf. "You know who I am."

But Cerf insisted that even in those situations, Google doesn't know you. "You are somehow conflating things that I think need to be disaggregated," Cerf told Mossberg. "A Gmail identifier doesn't tell us anything. It's just an identifier. We have no other thing to tie that to. It's just an identifier [You said that already. -Ed]. And by the way, you picked it. We didn't."

As ridiculous as that may sound, it's a common Google argument. When a federal court recently asked Google to divulge the identity of an innocent Gmail user - if the account was still active - the company told us that wasn't possible.

http://www.theregister.co.uk/2009/11/07/cerf_on_google_data_collection/

by donna | with no comments
Migration Step Thirteen: You installed in migration mode!
Sun, Nov 8 2009 10:34

And we finished the install and the "migrate to Windows SBS" is ready to go.

Under the hood the FSMO roles have been added to this box and the SBS 2003 is no longer the king of the domain.

[Meanwhile I have to take a break to wash my car so I'll be back later tonight to continue blogging this test migration]

We have 21 days from this point to have the two SBS boxes work together.  After 21 days you have to demote/remove the SBS 2003 box.

by bradley | with no comments
Filed under:
Parsing XHTML documents with .NET 4.0 and XmlPreloadedResolver
Sun, Nov 8 2009 18:56

When I looked at "What's new in System.Xml in .NET 4.0/Visual Studio 2010" with the beta 1 release I presented an example that shows how parsing an XHTML document referencing one of the W3C XHTML 1.0 DTDs can be sped up by using the new XmlReaderSettings.DtdProcessing set to DtdProcessing.Ignore. The drawback I mentioned is that any referenced entity in the document would then throw an exception.

What I overlooked at the time of the beta 1 release but I have found now in the recent beta 2 release is the new class XmlPreloadedResolver in System.Xml.Resolvers. It allows you to avoid any network access to the W3C's server for the XHTML DTDs but nevertheless parse any XHTML document having entity references as it uses copies of those DTDs stored in an assembly deployed with the .NET framework.

If I use that class with an adaption of the older example the code looks as follows:

            Stopwatch watch = new Stopwatch();
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;


string xhtml = @"<!DOCTYPE html
PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN""
""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">
<html xml:lang=""en"">
<head>
<title>Example</title>
</head>
<body>
<p>Price is: 100 &euro;</p>
</body>
</html>"
;
watch.Start();
using (XmlReader reader = XmlReader.Create(new StringReader(xhtml), settings))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Text)
{
Console.WriteLine(reader.Value);
}
}
}
watch.Stop(); ;
Console.WriteLine("First parse: elapsed time: {0}", watch.Elapsed);

watch.Reset();

settings.XmlResolver = new XmlPreloadedResolver(XmlKnownDtds.Xhtml10);

watch.Start();
using (XmlReader reader = XmlReader.Create(new StringReader(xhtml), settings))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Text)
{
Console.WriteLine(reader.Value);
}
}
}
watch.Stop(); ;
Console.WriteLine("Second parse: elapsed time: {0}", watch.Elapsed);

Running that code here with Visual Studio 2010 Beta 2 in a virtual machine outputs numbers clearly showing the speed gained by parsing with the XmlPreloadedResolver:

First parse: elapsed time: 00:00:04.6378648
Second parse: elapsed time: 00:00:00.0441933

 

Migration Step Twelve: Turn off WSUS on the source server
Sun, Nov 8 2009 9:10

Saying 'no to patches' reminded me that if you have an SBS 2003 R2 with WSUS on the box and ESPECIALLY if you have a Win2k8 server in the network, go into the source server box and disable the WSUS service there.

If you don't, during the install it may try to install patches on the server.

From the www.sbsmigrationtips.com site:

O. Disable WSUS on Source domain prior to migration

If you have a deadline set for a Windows 2008 update in WSUS that is past-due, your SBS 2008 setup can fail when the update is automatically installed and the SBS 2008 server is rebooted.  Deadlines are not automatically set in SBS 2003 but can be set by the Admin through the native WSUS console.  We recommend disabling WSUS for the duration of the migration.

by bradley | with no comments
Filed under:
More Posts Next page »