ProvTest.exe is a utility that submits sample requests to Microsoft® Provisioning Framework (MPF). It is used primarily to test clients and custom providers prior to deployment.
ProvTest.exe includes options for:
- Testing the capability of a provider to support multithreading.
- Submitting requests to either a provisioning engine or queue manager.
- Submitting trusted (default) or non-trusted requests.
Any machine that submits requests must have the MPF administration tools and MPF client COM object. Any machine that receives requests must have these two components plus the MPF core components and any MPF providers called by the sample requests. For more information on installing these components, see System Requirements, Running Setup.exe, and Unattended Installations.
Program Files\Microsoft Provisioning\Tools\ProvTest.exe
Command SyntaxProvTest [/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>
All of the following switches are optional.
/t<n> Starts n execution threads to execute the request. Used to test a provider's multithreading 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. Whenever 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. Whenever 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 and/or /r switches, error responses display. If not specified, error responses do not display.
/m Measures and displays the execution time for the request. Automatically enabled whenever the /t and/or /r switches 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 Submit the request to the queue manager. /qu Submit 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"). For more information, see Remarks. /i:<server> Executes a request to a remote server as a non-trusted Simple Object Access Protocol (SOAP) request using the SubmitRequest method of 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.
By default, ProvTest.exe submits a trusted request (that is, the utility invokes the SubmitTrustedRequest method of the IProvEngine interface). This has at least a couple of implications.
- First, only members of the groups MPFAdmins and MPFTrustedUsers and domain and local administrators are allowed to call SubmitTrustedRequest. If the calling user is not a member, the request will fail.
- Second, you may encounter the situation in which a request submits successfully in testing but fails during subsequent implementation in a Web page or other application. If this happens, check whether the application uses the SubmitRequest method. If it does, the request will fail because trusted and non-trusted requests have a different structure: trusted requests pass context and procedure nodes in addition to data, but non-trusted requests only pass data. To prevent this problem, run your test using the /n and /p switches.
If a request fails with error code 0x80070005 or 0x80070534, check the value defined in Provisioning Manager for the provisioning engine's Principal property. (This value is set in Provisioning Servers, Clients, Provisioning Engine Clients.) The Principal value must be set to Microsoft® Active Directory® user principal name (UPN) for the account under which the engine is running.
Top of Page
© 1999-2002 Microsoft Corporation. All rights reserved.