Submitting XML requests from the command line

You can submit the requests locally from the command line using the provtest.exe utility in the \Program Files\Microsoft Provisioning\Tools subdirectory.

If you want to submit XML requests to a remote data center, you must first install the MPF Client COM object on the computer from which you are submitting the request. To install the COM object, use the custom installation option in Microsoft Provisioning Framework (MPF).


  1. Run the Microsoft Provisioning Framework setup.exe utility, and then click Next.
  2. Click Next to proceed through the Setup Wizard until you reach the Setup Type screen. When you reach this screen, click Custom, and then click Next.
  3. In Custom setup, click Core component, and then select Install this component.
  4. Note


To submit a request from the command line:

  1. Create a new folder to contain your testing files.
  2. Navigate to the \Program Files\Microsoft Provisioning Framework\Tools directory and copy ProvTest.exe to the new testing folder.
  3. Copy the new XML request to new test directory you created.
  4. Open a command-line prompt; to do so, click Start, click Run, and then type cmd.
  5. On the command line, navigate to the new test directory that you created, and then do one of the following:


Provtest command-line syntax

The command-line syntax used by the provtest utility is:.

ProvTest [/t<n>] [/r<n>] [/e] [/m] [/x<n>]
		 [/q] [/qu] [/qa <queue ID>] [/qd <queue ID>] [/qr <queue ID>]
		 [/qs <queue ID>] [/qc <parent queue ID, child queue ID>]
		 [/n:<namespace> /p:<procedure>]
		 [/i[s][a]:<server>] [/bu:<user>] [/bp:<password>]
		 <request.xml file>

The following table explains each of the provtest parameters:

Parameter Description
/t<n> Starts n execution threads to execute the request. Used to test a provider's multi-threading capabilities. If not specified, only one thread is created. The maximum value for n is 64. By default, only one request is sent per thread. To send multiple requests, specify the /r switch. If a request is executed multiple times, only execution time is displayed.
/r<n> Repeats the request n times per thread. If not specified, the request is sent only once. By default, there is only one execution thread. For multi-threading, specify the /t switch. If a request is executed multiple times, only execution time is displayed.
/e Displays the error description. If not specified, only the HRESULT and execution time display. When specified together with the /t switch, the /r switch, or both, error responses are displayed. If not specified, error responses are not displayed.
/m Measures and displays the execution time for the request. Automatically enabled when the /t switch, the /r switch, or both, are specified.
/x<n> Formats successive element levels of XML output using either a tab (n = 0) or the number of spaces specified by n (1 <= n <= 8).
/q Submits the request to the queue manager.
/qu Submits the request as suspended to the queue manager.
/qa <queue ID> Activates the specified queued request.
/qd <queue ID> Deletes the specified queued request.
/qr <queue ID> Displays the result of the specified queued request.
/qs <queue ID> Checks the status of the specified queued request.
/qc <parent queue ID, child queue ID> Establishes a parent/child relationship between queued requests.  
/n:<namespace> /p:<procedure> Submits the request as non-trusted to the specified namespace procedure. Used to override the default behavior of ProvTest.exe, which is to submit trusted requests. Procedure names that consist of multiple words must be encased in quotes (for example, "Simple Procedure").
/i:<server> Executes a request to a remote server as a non-trusted Simple Object Access Protocol (SOAP) request using the IProvEngine interface. Must be specified together with the /n and /p switches.
/is:<server> Same as /i except that the transport protocol is HTTPS instead of HTTP.
/ia:<server> Same as /i except that authentication is basic authentication instead of anonymous.
/bu:<user> /bp:<password> Specifies a user name and password for basic authentication. Requires the /ia switch.
<request.xml file> ProvTest.exe accepts any XML file, with any name, as long as it is a well-formed MPF request.