Web Deployment Tool Now Works With Credential Store

The Web Deployment Tool will be releasing a brand new feature in the newest version 1.1.  This new feature will allow users to store their passwords in Window’s credential store on command-line using Web Deploy and / or access credential stored password information via command-line.  This is very useful if you do not want to expose your password on command-line and keep it from showing up in any of your log files that may capture command line input.

The way to accomplish this is two new switches ( straight from command-line help ):

getCredentials=<target>

                                Target identifies the credentials (username
                                and password) in the Windows Credential
                                Manager to be used when connecting to
                                remote computer.

storeCredentials=<target>

                                Username and password will be stored in the
                                Windows Credential Manager under the target
                                identifier.

Example of “storeCredentials” is as follows:

msdeploy.exe –verb:dump –source:iisapp=”Default Web Site/”,computername=MachineName,username=User,password=Password,storeCredentials=UserCredential

Now to get the above credential back using the “getCredentials”.

msdeploy.exe –verb:dump –source:iisapp=”Default Web Site/”,computername=MachineName,getCredentials=UserCredential

In the above examples there is a few things to take note of starting with the “storeCredential” switch.

> Regardless of the output, the target credential will be stored if Web Deploy can interpret the command successfully.

> “storeCredential” is very useful in XP environments as there is no UI for credential store in XP.

> You can view credentials you store in non-XP operating systems in a UI like this one, ( 2008 example ) by navigating “User Accounts > Manage your network passwords”

image

Some notes about “getCredentials”:

> You can only do a “getCredentials” on credentials that your user account stored, so if any user stores credentials in the credential store, you will not be able to use this target under a different user who did not store the credentials.  And actually, Web Deploy will give no indication whether or not the target existed in the store.

          > A downside to this is you will have to perform a storeCredentials on any targets you use when you switch to other user accounts.

 

No Comments