Although most functionality in Microsoft Provisioning Framework (MPF) is implemented using XML, you can implement some functionality directly from the command line. Command-line support includes the setup, administration, and testing of MPF.
You can perform an unattended setup of MPF from the command line.
The Microsoft Provisioning Framework Software Development Kit (SDK) contains additional resources and information about performing an unattended setup of MPF from the command line. For more information on the SDK and how to use it, see Microsoft Provisioning Framework SDK.
To register a namespace,
run ProvNamespace.exe. The command format is as follows:
ProvNamespace NamespaceFile. The provisioning engine checks the configuration database for namespace changes every
five minutes or on restart of the provisioning engine COM+
application in Component Services.
You can also import a namespace from one MPF configuration to another. The Microsoft Provisioning Framework Software Development Kit (SDK) contains additional resources and information about importing a namespace from one MPF configuration to another. For more information on the SDK and how to use it, see Microsoft Provisioning Framework SDK.
You can use ProvTest.exe to test a custom provider. ProvTest.exe is a utility that submits sample requests to MPF. You use it primarily to test clients and custom providers prior to deployment. You can run it from any computer on which core components and service providers are installed.
You can use ProvTest.exe to do the following tasks:
ProvTest.exe is located at Program Files\Microsoft Provisioning\Tools\ProvTest.exe
ProvTest.exe uses the following syntax.
ProvTest [/tn] [/rn] [/e] [/m] [/xn] [/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>
ProvTest.exe supports the following command-line switches, all of which are optional:
|/tn||Starts n execution threads to execute the request. Used to test the multithreading capabilities of a provider. 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.|
|/rn||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 multithreading, specify the /t switch.|
|/e||Displays the error description. If not specified, only the HRESULT and execution time appear. When specified together with the /t switch, the /r switch, or both, error responses appear. If not specified, error responses do not appear.|
|/m||Measures and displays the execution time for the request. This option is automatically implemented whenever you specify the /t switch, the /r switch, or both.|
|/xn||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 managers.|
|/qu||Submits the request as suspended to the queue managers.|
|/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.|
Submits the request as nontrusted to the specified namespace procedure. This option overrides the default behavior of ProvTest.exe, which is to submit trusted requests.
|/i:server||Executes a request to a remote server as a nontrusted SOAP (Simple Object Access Protocol) request using the SubmitRequest method of the IProvEngine interface. This option 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. This option 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.|
To view the complete syntax for ProvTest.exe, at a command prompt, type:
You might find that a request submits successfully in testing but fails during subsequent implementation in a Web page or other application. If this happens, determine whether the application uses the SubmitRequest method. If it does, the request will fail because trusted and nontrusted requests have a different structure: trusted requests pass context and procedure nodes in addition to data, but nontrusted requests pass only data. To prevent this problem, run your test using the /n and /p switches.
The Microsoft Provisioning Framework Software Development Kit (SDK) contains additional resources and information about ProvTest.exe and the IProvEngine interface. For more information on the SDK and how to use it, see Microsoft Provisioning Framework SDK.