Specifing a $ (dollar) in an ADS task sequence

Today I scripted a SQL Install Task Sequence for Automated Deployment Services (ADS) for a non-default instance. Part of the sequence does a DIR on the SQLSERVER.EXE item in the SQL Server folder which in any instance other the the default is in the \MSSQL$INSTANCE folder.

I created the sequence and went to test it so I tried to run it and the ADS Management console came back with the following error:
Code: 80040861
Description: Failed to validate the command syntax in the task sequence XML document.

Because ADS uses $ (dollar) signs to mark a device variables, putting a single $ in somewhere in the sequence forced it to break.

To work around this issue, you need to escape the single $ sign with $$ (dollar dollar).

With this change I was able to finish my Task Sequence to install SQL Server and SP4 and now have a daily build test environment being build and completly configured that consists of 4 IIS applciation servers (2 load balanced pairs) and a SQL Server 2000 servers.
The whole environment, including all custom applications to be installed takes about an hour to build on a Virtual Server. :)

Speed up image deployments with ADS

You can speed up your image deployments with Automated Deployment Services (ADS) by adding the parameter -nonetencrypt to the /imaging/imgbmdeploy.exe task as shown in the following example:

<!– download images –>
<task description=”Download image”>
<command>/imaging/imgbmdeploy.exe</command>
<parameters>
<parameter>imagename</parameter> <!– image to be deployed–>
<parameter>\device\harddisk0\partition1</parameter> <!– deploy to partition1 –>
<parameter>-r</parameter> <!– specifies deploy mode –>
<parameter>-client</parameter> <!– required parameter –>
<parameter>-nonetencrypt</parameter> <!– turn off encryption –>
</parameters>
</task>

Of cause, this does mean that images are deployed without encryption, so only use this if you trust the LAN in your data centre.

One final caveat with this option is that there is no interface in Sequence Editor to support it and setting this option (using Notepad or similar) results in Sequence Editor freaking out when you try to open the sequence.

I have noticed a 60% deployment time reduction with this switch on and a massive drop in CPU usage on my Image server.Happy deploying!