Update-DiagRootCause Cmdlet
Reports the status of a root cause.
Syntax
Update-DiagRootcause [-Id] <String> [-InstanceId] <String> [-Detected] <Boolean> [-Parameter] <Collections.Hashtable>]
Detailed Description
The Update-DiagRootCause cmdlet reports the status of a root cause (indicates whether a root cause exists on a computer).
You can call this cmdlet from a troubleshooting script and verification script but not from a resolution script.
Parameters
-Id String
The identifier of the root cause whose status you want to update. The identifier is case-sensitive and must match the ID of a root cause declared in the troubleshooting manifest.
Attribute | Value |
---|---|
Required? | true |
Position? | 0 |
Default value | None |
Accept pipeline input? | false |
Accept wildcard characters? | false |
Alias | id |
-InstanceId String
A unique string identifier that identifies a specific instance of the root cause.
You would use an instance identifier to identify instances of a generic root cause. For example, if the root cause discovers issues with devices, one instance may identify issues with a printer device and the second instance may identify issues with a scanner device. If the text for the root cause was: "Your %device% device is broken.", you could then call this cmdlet as follows:
- Update-DiagRootCause -Id "Device" -InstanceId "Printer" -Parameter @{"device"="Printer"}
- Update-DiagRootCause -Id "Device" -InstanceId "Scanner" -Parameter @{"device"="Scanner"}
Attribute | Value |
---|---|
Required? | false |
Position? | 1 |
Default value | None |
Accept pipeline input? | false |
Accept wildcard characters? | false |
Alias | id |
-Detected Boolean
Determines whether the root cause exists on the computer. Set to $true, if the root cause exists on the computer; otherwise, $false.
Attribute | Value |
---|---|
Required? | true |
Position? | 2 |
Default value | None |
Accept pipeline input? | false |
Accept wildcard characters? | false |
Alias | None |
-Parameter Collections.Hashtable
A hash table of key/value pairs that define the parameters used by the root cause or its children nodes. Each key in the hash table must be unique and must match a parameter declared by nodes of the root cause. The key name is case-sensitive. You must include parameters that do not specify a default parameter value in the root cause; parameters that include a default value are optional.
Attribute | Value |
---|---|
Required? | false |
Position? | 3 |
Default value | None |
Accept pipeline input? | false |
Accept wildcard characters? | false |
Alias | p |
Input and Return Types
The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet emits.
Type | Description |
---|---|
Input type | None |
Return type | None |
Examples
The following examples show how to use the cmdlet.
Example 1
The following example shows how to update the status of the MyRootCause root cause. The affect that the Detected parameter has on the status depends on the current value of its status. For example, if the current status is Not Checked, setting Detected to true changes the status to Detected.
PS:>Update-DiagRootCause -Id "MyRootCause" -Detected $true
Example 2
The following example shows how to pass parameter values to the root cause.
PS:>Update-DiagRootCause -Id "MyRootCause" -Detected $false -Parameter @{"Param1"="ParamValue"}