Fully automating client installs - assign storage policy & client group

  • 29 September 2022
  • 4 replies

Badge +2

Hello all! 

I am trying to simplify installing agents for DBA’s and other app teams. I have created custom packages that can run silently, but by default I cannot assign things like storage policy to the specific agent. For example, an MSSQL custom package will install but no storage policy is assigned. 

What I’d like to do: 

  • DBA takes a custom package, runs the installer in “silent install” mode, server registers to the commserve. 
  • Storage policy is assigned to the discovered DB instances
  • Client computer group is assigned (which has a schedule connected to it)
  • Ideally run a first full backup after install completes (that’s a low priority)
  • Pulls latest client updates - maybe executes a workflow on itself? (I know I’m dreaming)

Is there a way to customize the install.xml file in the installer? Has someone done this post-install with a qscript or other means?

I am running 11.26.41 - and it seems some custom package options have gone away. 

Sorry, haven’t migrated to plans yet - but if this can be done in that world you’ll make me give that higher priority ;-)

Thanks in advance for your thoughts. 

Joel Bates


Best answer by Mike Struening RETIRED 29 September 2022, 20:35

View original

4 replies

Userlevel 7
Badge +23

Sure can!

Use an answer file in the custom package to set everything as needed:




The ID of the storage policy that you want to assign to the default subclient.


The name of the storage policy that you want to assign to the default subclient of your client.


Badge +2

Thank you Mike! That got me out of my hole.
I figured out how to retrieve the storagePolicyID from the API sandbox console. Is there a means to get the storagePolicyID using Powershell or another way? Or in the webconsole/java GUI? 

For those of us who are “API Noobs” like me, here’s how I got a dump of my storage policies and ID’s: 

  • go to https://[commserve-hostname]/webconsole/sandbox/ 
  • Log in from the Webservice APIs section on the left, enter username/pwd on the right. 
  • Go back to the left column and choose Webservice APIs > Storage Policy > Get a listing of all storage policies
  • In the center column, choose “Invoke” and observe the output in the “Response Body” field. 
  • To log out choose “Logout” from the left column and click “Invoke”. 

Look here for more documentation:

Thank you again Mr. Mike. :-)

Userlevel 7
Badge +19

Hi @Joel Bates!

I would like to bring a new 2022E capability to the feature called plan rules which allows you to dynamically assign clients to plans.

This gives a lot of flexibility and it is easy to setup.




Badge +2

Updating this post, I also mentioned that I wanted to assign specific Client Groups to the install. After missing a typo error, I found the entry in the page Mike linked ( 

Quick instructions: 

Edit your install.xml file or add it to the sample_install_win.xml template. 

Locate the “<clientInfo>” section

Add the following code to your install.xml file:

<clientGroups clientGroupName=”Group1” />

Adding more than one group? Do this: 
<clientGroups clientGroupName=”Group1” />

<clientGroups clientGroupName=”Group2” />

<clientGroups clientGroupName=”Group3” />


When running the silent install, if it bombs out, take a look at the install.log file. It’ll be in one of these places: 

C:\ProgramData\Commvault Systems\Galaxy\LogFiles\Install.log  (hidden directory, file’s always there)

C:\Program Files\Commvault\ContentStore\Log Files\Install.log (usually later in the install process)

Thanks for the info I’ve gleaned from this forum overall.