From 4f08fe74d5cdb55b100f81a0d5aba26217ed45a0 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Mon, 12 Sep 2016 20:29:38 -0700 Subject: [PATCH 01/38] Add a module to create/delete builtin rules --- Engine/RuleMaker.psm1 | 341 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 Engine/RuleMaker.psm1 diff --git a/Engine/RuleMaker.psm1 b/Engine/RuleMaker.psm1 new file mode 100644 index 000000000..2506cfec6 --- /dev/null +++ b/Engine/RuleMaker.psm1 @@ -0,0 +1,341 @@ +Function New-RuleObject +{ + param( + [string] $Name, + [string] $Severity, + [string] $CommonName, + [string] $Description, + [string] $Error) + + New-Object -TypeName 'PSObject' -Property @{ + Name = $Name + Severity = $Severity + CommonName = $CommonName + Description = $Description + Error = $Error + SourceFileName = $Name + ".cs" + } +} + +Function Get-SolutionRoot +{ + $PSModule = $ExecutionContext.SessionState.Module + $path = $PSModule.ModuleBase + $root = Split-Path -Path $path -Parent + $solutionFilename = 'psscriptanalyzer.sln' + if (-not (Test-Path (Join-Path $root $solutionFilename))) + { + $null + } + $root +} + +Function Get-RuleProjectRoot +{ + $slnRoot = Get-SolutionRoot + if ($slnRoot -eq $null) + { + $null + } + Join-Path $slnRoot "Rules" +} + +Function Get-RuleProjectFile +{ + $prjRoot = Get-RuleProjectRoot + if ($prjRoot -eq $null) + { + $null + } + Join-Path $prjRoot "ScriptAnalyzerBuiltinRules.csproj" +} + +Function Get-RuleSourcePath($Rule) +{ + $ruleRoot = Get-RuleProjectRoot + Join-Path $ruleRoot $Rule.SourceFileName +} + +Function Get-RuleTemplate +{ + $ruleTemplate = @' +// Copyright (c) Microsoft Corporation. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using System.Collections.Generic; +#if !CORECLR +using System.ComponentModel.Composition; +#endif +using System.Globalization; +using System.Linq; +using System.Management.Automation.Language; +using Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic; + +namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules +{{ + /// + /// A class to walk an AST to check for [violation] + /// + #if !CORECLR + [Export(typeof(IScriptRule))] +#endif + class {0} : IScriptRule + {{ + /// + /// Analyzes the given ast to find the [violation] + /// + /// AST to be analyzed. This should be non-null + /// Name of file that corresponds to the input AST. + /// A an enumerable type containing the violations + public IEnumerable AnalyzeScript(Ast ast, string fileName) + {{ + if (ast == null) + {{ + throw new ArgumentNullException("ast"); + }} + + // your code goes here + yield return new DiagnosticRecord() + }} + + /// + /// Retrieves the common name of this rule. + /// + public string GetCommonName() + {{ + return string.Format(CultureInfo.CurrentCulture, Strings.{0}CommonName); + }} + + /// + /// Retrieves the description of this rule. + /// + public string GetDescription() + {{ + return string.Format(CultureInfo.CurrentCulture, Strings.{0}Description); + }} + + /// + /// Retrieves the name of this rule. + /// + public string GetName() + {{ + return string.Format( + CultureInfo.CurrentCulture, + Strings.NameSpaceFormat, + GetSourceName(), + Strings.{0}Name); + }} + + /// + /// Retrieves the severity of the rule: error, warning or information. + /// + public RuleSeverity GetSeverity() + {{ + return RuleSeverity.{1}; + }} + + /// + /// Gets the severity of the returned diagnostic record: error, warning, or information. + /// + /// + public DiagnosticSeverity GetDiagnosticSeverity() + {{ + return DiagnosticSeverity.{1}; + }} + + /// + /// Retrieves the name of the module/assembly the rule is from. + /// + public string GetSourceName() + {{ + return string.Format(CultureInfo.CurrentCulture, Strings.SourceName); + }} + + /// + /// Retrieves the type of the rule, Builtin, Managed or Module. + /// + public SourceType GetSourceType() + {{ + return SourceType.Builtin; + }} + }} +}} +'@ + $ruleTemplate +} + +Function Get-RuleSource($Rule) +{ + $source = (Get-RuleTemplate) -f $Rule.Name,$Rule.Severity + $source +} + +Function New-RuleSource($Rule) +{ + $ruleSourceFilepath = Get-RuleSourcePath $Rule + $ruleSource = Get-RuleSource $Rule + New-Item -Path $ruleSourceFilepath -ItemType File + Set-Content -Path $ruleSourceFilepath -Value $ruleSource -Encoding UTF8 +} + +Function Remove-RuleSource($Rule) +{ + $ruleSourceFilePath = Get-RuleSourcePath $Rule + if (Test-Path $ruleSourceFilePath) + { + Remove-Item $ruleSourceFilePath + } +} + +Function Get-RuleDocumentationPath($Rule) +{ + $root = Get-SolutionRoot + $ruleDocDir = Join-Path $root 'RuleDocumentation' + $ruleDocPath = Join-Path $ruleDocDir ($Rule.Name + ".md") + $ruleDocPath +} + +Function New-RuleDocumentation($Rule) +{ + $ruleDocTemplate = @" +# {0} +**Severity Level: {1}** + +## Description + +## How to Fix + +## Example +### Wrong: +``````PowerShell + +`````` + +### Correct: +``````PowerShell + +`````` +"@ + $ruleDoc = $ruleDocTemplate -f $Rule.Name,$Rule.Severity + $ruleDocPath = Get-RuleDocumentationPath $Rule + Set-Content -Path $ruleDocPath -Value $ruleDoc -Encoding UTF8 +} + +Function Remove-RuleDocumentation($Rule) +{ + $ruleDocPath = Get-RuleDocumentationPath $Rule + Remove-Item $ruleDocPath +} + +Function Get-RuleStringsPath +{ + $ruleRoot = Get-RuleProjectRoot + $stringsFilepath = Join-Path $ruleRoot 'Strings.resx' + $stringsFilepath +} + +Function Get-RuleStrings +{ + $stringsFilepath = Get-RuleStringsPath + [xml]$stringsXml = New-Object xml + $stringsXml.Load($stringsFilepath) +} + +Function Set-RuleStrings +{ + param([xml]$stringsXml) + $stringsFilepath = Get-RuleStringsPath + $stringsXml.Save($stringsFilepath) +} + +Function Add-RuleStrings($Rule) +{ + $stringsXml = Get-RuleStrings $Rule + + Function Add-Node($nodeName, $nodeValue) + { + $dataNode = $stringsXml.CreateElement("data") + $nameAttr = $stringsXml.CreateAttribute("name") + $nameAttr.Value = $nodeName + $xmlspaceAttr = $stringsXml.CreateAttribute("xml:space") + $xmlspaceAttr.Value = "preserve" + $valueElem = $stringsXml.CreateElement("value") + $valueElem.InnerText = $nodeValue + $dataNode.Attributes.Append($nameAttr) + $dataNode.Attributes.Append($xmlspaceAttr) + $dataNode.AppendChild($valueElem) + $stringsXml.AppendChild($dataNode) + } + + Add-Node ($Rule.Name + 'Name') $Rule.Name + Add-Node ($Rule.Name + 'CommonName') $Rule.CommonName + Add-Node ($Rule.Name + 'Description') $Rule.Description + Add-Node ($Rule.Name + 'Error') $Rule.Error + Set-RuleStrings $stringsXml +} + +Function Remove-RuleStrings($Rule) +{ + $stringsXml = Get-RuleStrings $Rule + $nodesToRemove = $stringsXml.root.GetElementsByTagName("data") | ? {$_.name -match $Rule.Name} + $nodesToRemove | Foreach-Object { $stringsXml.root.RemoveChild($_) } + Set-RuleStrings $stringsXml +} + +Function Get-RuleProjectXml +{ + $ruleProject = Get-RuleProjectFile + $projectXml = New-Object -TypeName 'xml' + $projectXml.Load($ruleProject) + $projectXml +} + +Function Set-RuleProjectXml($projectXml) +{ + $ruleProjectFilepath = Get-RuleProjectFile + $projectXml.Save($ruleProjectFilepath) +} + +Function Get-CompileTargetGroup($projectXml) +{ + $projectXml.Project.ItemGroup | ? {$_.Compile -ne $null} +} + +Function Add-RuleToProject($Rule) +{ + $projectXml = Get-RuleProjectXml + $compileItemgroup = Get-CompileTargetGroup $projectXml + $compileElement = $compileItemgroup.Compile.Item(0).Clone() + $compileElement.Include = $Rule.SourceFileName + $compileItemgroup.AppendChild($compileElement) + Set-RuleProjectXml $projectXml +} + +Function Remove-RuleFromProject($Rule) +{ + $projectXml = Get-RuleProjectXml + $compileItemgroup = Get-CompileTargetGroup $projectXml + $itemToRemove = $compileItemgroup.Compile | ? {$_.Include -eq $Rule.SourceFileName} + $compileItemgroup.RemoveChild($itemToRemove) + Set-RuleProjectXml $projectXml +} + +Function New-Rule +{ + param( + [string] $Name, + [string] $Severity, + [string] $CommonName, + [string] $Description, + [string] $Error) + + $rule = New-RuleObject $Name $Severity $CommonName $Description $Error +} \ No newline at end of file From dad270c9544a217f2dad92193109f2468c845159 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 15:35:52 -0700 Subject: [PATCH 02/38] Add add/remove rule functions to RuleMaker --- Engine/RuleMaker.psm1 | 90 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 85 insertions(+), 5 deletions(-) diff --git a/Engine/RuleMaker.psm1 b/Engine/RuleMaker.psm1 index 2506cfec6..63a9e4ee7 100644 --- a/Engine/RuleMaker.psm1 +++ b/Engine/RuleMaker.psm1 @@ -178,7 +178,7 @@ Function Get-RuleSource($Rule) $source } -Function New-RuleSource($Rule) +Function Add-RuleSource($Rule) { $ruleSourceFilepath = Get-RuleSourcePath $Rule $ruleSource = Get-RuleSource $Rule @@ -247,6 +247,7 @@ Function Get-RuleStrings $stringsFilepath = Get-RuleStringsPath [xml]$stringsXml = New-Object xml $stringsXml.Load($stringsFilepath) + $stringsXml } Function Set-RuleStrings @@ -272,7 +273,7 @@ Function Add-RuleStrings($Rule) $dataNode.Attributes.Append($nameAttr) $dataNode.Attributes.Append($xmlspaceAttr) $dataNode.AppendChild($valueElem) - $stringsXml.AppendChild($dataNode) + $stringsXml.root.AppendChild($dataNode) } Add-Node ($Rule.Name + 'Name') $Rule.Name @@ -328,14 +329,93 @@ Function Remove-RuleFromProject($Rule) Set-RuleProjectXml $projectXml } -Function New-Rule +Function Get-RuleTestFilePath($Rule) +{ + $testRoot = Join-Path (Get-SolutionRoot) 'Tests' + $ruleTestRoot = Join-Path $testRoot 'Rules' + $ruleTestFileName = $Rule.Name + ".tests.ps1" + $ruleTestFilePath = Join-Path $ruleTestRoot $ruleTestFileName + $ruleTestFilePath +} + + +Function Add-RuleTest($Rule) +{ + $ruleTestFilePath = Get-RuleTestFilePath $Rule + New-Item -Path $ruleTestFilePath -ItemType File + $ruleTestTemplate = @' +Import-Module PSScriptAnalyzer +$ruleName = "{0}" + +Describe "{0}" {{ + Context "" {{ + It "" {{ + }} + }} +}} +'@ + $ruleTestSource = $ruleTestTemplate -f $Rule.Name + Set-Content -Path $ruleTestFilePath -Value $ruleTestSource -Encoding UTF8 +} + +Function Remove-RuleTest($Rule) +{ + $ruleTestFilePath = Get-RuleTestFilePath $Rule + Remove-Item -Path $ruleTestFilePath +} + +Function Add-Rule { param( + [Parameter(Mandatory=$true)] [string] $Name, + + [ValidateSet("Error", "Warning", "Information")] [string] $Severity, + [string] $CommonName, + [string] $Description, + [string] $Error) - $rule = New-RuleObject $Name $Severity $CommonName $Description $Error -} \ No newline at end of file + $rule = New-RuleObject -Name $Name -Severity $Severity -CommonName $CommonName -Description $Description -Error $Error + $undoStack = New-Object 'System.Collections.Stack' + $success = $false + try { + Add-RuleTest $rule + $undoStack.Push((Get-Item -Path Function:\Remove-RuleTest)) + + Add-RuleSource $rule + $undoStack.Push((Get-Item -Path Function:\Remove-RuleSource)) + + Add-RuleStrings $rule + $undoStack.Push((Get-Item -Path Function:\Remove-RuleStrings)) + + Add-RuleToProject $rule + $undoStack.Push((Get-Item -Path Function:\Remove-RuleFromProject)) + + $success = $true + } + finally { + if (-not $success) + { + while ($undoStack.Count -ne 0) + { + & ($undoStack.Pop()) $rule + } + } + } +} + +Function Remove-Rule +{ + param( + [string] $Name + ) + $rule = New-RuleObject -Name $Name + Remove-RuleFromProject $rule + Remove-RuleStrings $rule + Remove-RuleSource $rule + Remove-RuleTest $rule +} From 3ca28fb6cdb19454a8e977c3d5b0a8cc2720f702 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 15:42:39 -0700 Subject: [PATCH 03/38] Export only add/remove from RuleMaker --- Engine/RuleMaker.psm1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Engine/RuleMaker.psm1 b/Engine/RuleMaker.psm1 index 63a9e4ee7..902e1944b 100644 --- a/Engine/RuleMaker.psm1 +++ b/Engine/RuleMaker.psm1 @@ -419,3 +419,6 @@ Function Remove-Rule Remove-RuleSource $rule Remove-RuleTest $rule } + +Export-ModuleMember -Function Add-Rule +Export-ModuleMember -Function Remove-Rule \ No newline at end of file From c6fe396829786c138a9e09dbb64493b0804d284a Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 15:48:44 -0700 Subject: [PATCH 04/38] Add rule documentation to RuleMaker --- Engine/RuleMaker.psm1 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Engine/RuleMaker.psm1 b/Engine/RuleMaker.psm1 index 902e1944b..7455b3f87 100644 --- a/Engine/RuleMaker.psm1 +++ b/Engine/RuleMaker.psm1 @@ -103,7 +103,7 @@ namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules }} // your code goes here - yield return new DiagnosticRecord() + yield return new DiagnosticRecord(); }} /// @@ -203,7 +203,7 @@ Function Get-RuleDocumentationPath($Rule) $ruleDocPath } -Function New-RuleDocumentation($Rule) +Function Add-RuleDocumentation($Rule) { $ruleDocTemplate = @" # {0} @@ -383,6 +383,9 @@ Function Add-Rule $undoStack = New-Object 'System.Collections.Stack' $success = $false try { + Add-RuleDocumentation $rule + $undoStack.Push((Get-Item -Path Function:\Remove-RuleDocumentation)) + Add-RuleTest $rule $undoStack.Push((Get-Item -Path Function:\Remove-RuleTest)) @@ -418,6 +421,7 @@ Function Remove-Rule Remove-RuleStrings $rule Remove-RuleSource $rule Remove-RuleTest $rule + Remove-RuleDocumentation $rule } Export-ModuleMember -Function Add-Rule From 6a15f0b9058602f200c8a87236104d909adf7066 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 15:57:49 -0700 Subject: [PATCH 05/38] Add UseCompatibleCmdlets rule skeleton --- RuleDocumentation/UseCompatibleCmdlets.md | 17 ++++ Rules/ScriptAnalyzerBuiltinRules.csproj | 1 + Rules/Strings.Designer.cs | 38 ++++++- Rules/Strings.resx | 12 +++ Rules/UseCompatibleCmdlets.cs | 109 +++++++++++++++++++++ Tests/Rules/UseCompatibleCmdlets.tests.ps1 | 9 ++ 6 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 RuleDocumentation/UseCompatibleCmdlets.md create mode 100644 Rules/UseCompatibleCmdlets.cs create mode 100644 Tests/Rules/UseCompatibleCmdlets.tests.ps1 diff --git a/RuleDocumentation/UseCompatibleCmdlets.md b/RuleDocumentation/UseCompatibleCmdlets.md new file mode 100644 index 000000000..10040b8ed --- /dev/null +++ b/RuleDocumentation/UseCompatibleCmdlets.md @@ -0,0 +1,17 @@ +# UseCompatibleCmdlets +**Severity Level: Warning** + +## Description + +## How to Fix + +## Example +### Wrong: +```PowerShell + +``` + +### Correct: +```PowerShell + +``` diff --git a/Rules/ScriptAnalyzerBuiltinRules.csproj b/Rules/ScriptAnalyzerBuiltinRules.csproj index 504f683e5..7b02e3b84 100644 --- a/Rules/ScriptAnalyzerBuiltinRules.csproj +++ b/Rules/ScriptAnalyzerBuiltinRules.csproj @@ -114,6 +114,7 @@ + diff --git a/Rules/Strings.Designer.cs b/Rules/Strings.Designer.cs index 9987fb8b8..05f90bae2 100644 --- a/Rules/Strings.Designer.cs +++ b/Rules/Strings.Designer.cs @@ -1716,6 +1716,42 @@ internal static string UseCmdletCorrectlyName { } } + /// + /// Looks up a localized string similar to Use compatible cmdlets. + /// + internal static string UseCompatibleCmdletsCommonName { + get { + return ResourceManager.GetString("UseCompatibleCmdletsCommonName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use cmdlets compatible with the given PowerShell version and edition and operating system. + /// + internal static string UseCompatibleCmdletsDescription { + get { + return ResourceManager.GetString("UseCompatibleCmdletsDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0} is not compatible with PowerShell version {0}, edition {1} and OS {2}. + /// + internal static string UseCompatibleCmdletsError { + get { + return ResourceManager.GetString("UseCompatibleCmdletsError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UseCompatibleCmdlets. + /// + internal static string UseCompatibleCmdletsName { + get { + return ResourceManager.GetString("UseCompatibleCmdletsName", resourceCulture); + } + } + /// /// Looks up a localized string similar to Extra Variables. /// @@ -1834,7 +1870,7 @@ internal static string UseLiteralInitilializerForHashtableCommonName { } /// - /// Looks up a localized string similar to Use literal initializer, \@\{\}, for creating a hashtable as they are case-insensitive by default. + /// Looks up a localized string similar to Use literal initializer, @{{}}, for creating a hashtable as they are case-insensitive by default. /// internal static string UseLiteralInitilializerForHashtableDescription { get { diff --git a/Rules/Strings.resx b/Rules/Strings.resx index 345f5367e..2d179aeb6 100644 --- a/Rules/Strings.resx +++ b/Rules/Strings.resx @@ -834,4 +834,16 @@ UseLiteralInitializerForHashtable + + UseCompatibleCmdlets + + + Use compatible cmdlets + + + Use cmdlets compatible with the given PowerShell version and edition and operating system + + + {0} is not compatible with PowerShell version {0}, edition {1} and OS {2} + \ No newline at end of file diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs new file mode 100644 index 000000000..077b3cd12 --- /dev/null +++ b/Rules/UseCompatibleCmdlets.cs @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using System.Collections.Generic; +#if !CORECLR +using System.ComponentModel.Composition; +#endif +using System.Globalization; +using System.Linq; +using System.Management.Automation.Language; +using Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic; + +namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules +{ + /// + /// A class to walk an AST to check for [violation] + /// + #if !CORECLR + [Export(typeof(IScriptRule))] +#endif + class UseCompatibleCmdlets : IScriptRule + { + /// + /// Analyzes the given ast to find the [violation] + /// + /// AST to be analyzed. This should be non-null + /// Name of file that corresponds to the input AST. + /// A an enumerable type containing the violations + public IEnumerable AnalyzeScript(Ast ast, string fileName) + { + if (ast == null) + { + throw new ArgumentNullException("ast"); + } + + // your code goes here + yield return new DiagnosticRecord(); + } + + /// + /// Retrieves the common name of this rule. + /// + public string GetCommonName() + { + return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsCommonName); + } + + /// + /// Retrieves the description of this rule. + /// + public string GetDescription() + { + return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsDescription); + } + + /// + /// Retrieves the name of this rule. + /// + public string GetName() + { + return string.Format( + CultureInfo.CurrentCulture, + Strings.NameSpaceFormat, + GetSourceName(), + Strings.UseCompatibleCmdletsName); + } + + /// + /// Retrieves the severity of the rule: error, warning or information. + /// + public RuleSeverity GetSeverity() + { + return RuleSeverity.Warning; + } + + /// + /// Gets the severity of the returned diagnostic record: error, warning, or information. + /// + /// + public DiagnosticSeverity GetDiagnosticSeverity() + { + return DiagnosticSeverity.Warning; + } + + /// + /// Retrieves the name of the module/assembly the rule is from. + /// + public string GetSourceName() + { + return string.Format(CultureInfo.CurrentCulture, Strings.SourceName); + } + + /// + /// Retrieves the type of the rule, Builtin, Managed or Module. + /// + public SourceType GetSourceType() + { + return SourceType.Builtin; + } + } +} diff --git a/Tests/Rules/UseCompatibleCmdlets.tests.ps1 b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 new file mode 100644 index 000000000..ec5d88b2b --- /dev/null +++ b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 @@ -0,0 +1,9 @@ +Import-Module PSScriptAnalyzer +$ruleName = "UseCompatibleCmdlets" + +Describe "UseCompatibleCmdlets" { + Context "" { + It "" { + } + } +} From 0af41658b787fae2cd3c914642b1bd80857e4233 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 21:41:05 -0700 Subject: [PATCH 06/38] Add test files for UseCompatibleCmdlets rule --- Tests/Rules/UseCompatibleCmdlets.tests.ps1 | 11 +++++++++-- .../Desktop-5.1.14393.82-windows.json | Bin 0 -> 222302 bytes .../PSScriptAnalyzerSettings.psd1 | 9 +++++++++ .../ScriptWithViolation.ps1 | 1 + .../core-6.0.0-alpha-windows.json | Bin 0 -> 136036 bytes 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json create mode 100644 Tests/Rules/UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 create mode 100644 Tests/Rules/UseCompatibleCmdlets/ScriptWithViolation.ps1 create mode 100644 Tests/Rules/UseCompatibleCmdlets/core-6.0.0-alpha-windows.json diff --git a/Tests/Rules/UseCompatibleCmdlets.tests.ps1 b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 index ec5d88b2b..d60c8f878 100644 --- a/Tests/Rules/UseCompatibleCmdlets.tests.ps1 +++ b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 @@ -1,9 +1,16 @@ Import-Module PSScriptAnalyzer $ruleName = "UseCompatibleCmdlets" +$directory = Split-Path $MyInvocation.MyCommand.Path -Parent +$ruleTestDirectory = Join-Path $directory 'UseCompatibleCmdlets' + Describe "UseCompatibleCmdlets" { - Context "" { - It "" { + Context "script has violation" { + It "detects violation" { + $violationFilePath = Join-Path $ruleTestDirectory 'ScriptWithViolation.ps1' + $settingsFilePath = Join-Path $ruleTestDirectory 'PSScriptAnalyzerSettings.psd1' + $diagnosticRecords = Invoke-ScriptAnalyzer -Path $violationFilePath -IncludeRule $ruleName -Settings + $diagnosticRecords.Count | Should Be 1 } } } diff --git a/Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json b/Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json new file mode 100644 index 0000000000000000000000000000000000000000..f9b1dace0d118a514026ca279794549c4c79523e GIT binary patch literal 222302 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%0A`)dsSCAiqztt$lCUlfw;#;KuI# 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 xoa=}&I2X;B*RBoO>#As7CO+&L-Bm2&ZZ Date: Tue, 13 Sep 2016 21:41:41 -0700 Subject: [PATCH 07/38] Add Newtonsoft.Json to rules project --- Rules/project.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Rules/project.json b/Rules/project.json index 0201c25be..90818ea98 100644 --- a/Rules/project.json +++ b/Rules/project.json @@ -3,7 +3,8 @@ "version": "1.7.0", "dependencies": { "System.Management.Automation": "1.0.0-alpha.9.4808", - "Engine": "1.7.0" + "Engine": "1.7.0", + "Newtonsoft.Json": "*" }, "frameworks": { "net451": { From 326e4535dabb04d6d30577cfa2ef8203153c741b Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 14 Sep 2016 22:10:54 -0700 Subject: [PATCH 08/38] Modify buildCoreClr script to copy json dll --- buildCoreClr.ps1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildCoreClr.ps1 b/buildCoreClr.ps1 index 6d46a7f3e..6c891785a 100644 --- a/buildCoreClr.ps1 +++ b/buildCoreClr.ps1 @@ -25,7 +25,8 @@ if (-not (Test-Path "$solutionDir/global.json")) } $itemsToCopyBinaries = @("$solutionDir\Engine\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.dll", - "$solutionDir\Rules\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll") + "$solutionDir\Rules\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll", + "$solutionDir\Rules\bin\$Configuration\$Framework\Newtonsoft.Json.dll") $itemsToCopyCommon = @("$solutionDir\Engine\PSScriptAnalyzer.psd1", "$solutionDir\Engine\PSScriptAnalyzer.psm1", From c1f1c8288f82833a1886f4e24bda30c919e77512 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 14 Sep 2016 22:11:59 -0700 Subject: [PATCH 09/38] Update test for UseCompatibleCmdlets rule --- Tests/Rules/UseCompatibleCmdlets.tests.ps1 | 7 +++---- .../UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Tests/Rules/UseCompatibleCmdlets.tests.ps1 b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 index d60c8f878..2860de83b 100644 --- a/Tests/Rules/UseCompatibleCmdlets.tests.ps1 +++ b/Tests/Rules/UseCompatibleCmdlets.tests.ps1 @@ -1,15 +1,14 @@ Import-Module PSScriptAnalyzer -$ruleName = "UseCompatibleCmdlets" +$ruleName = "PSUseCompatibleCmdlets" $directory = Split-Path $MyInvocation.MyCommand.Path -Parent $ruleTestDirectory = Join-Path $directory 'UseCompatibleCmdlets' - Describe "UseCompatibleCmdlets" { Context "script has violation" { It "detects violation" { $violationFilePath = Join-Path $ruleTestDirectory 'ScriptWithViolation.ps1' - $settingsFilePath = Join-Path $ruleTestDirectory 'PSScriptAnalyzerSettings.psd1' - $diagnosticRecords = Invoke-ScriptAnalyzer -Path $violationFilePath -IncludeRule $ruleName -Settings + $settingsFilePath = [System.IO.Path]::Combine($ruleTestDirectory, 'PSScriptAnalyzerSettings.psd1'); + $diagnosticRecords = Invoke-ScriptAnalyzer -Path $violationFilePath -IncludeRule $ruleName -Settings $settingsFilePath $diagnosticRecords.Count | Should Be 1 } } diff --git a/Tests/Rules/UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 b/Tests/Rules/UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 index 33679594a..7fea0b3f5 100644 --- a/Tests/Rules/UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 +++ b/Tests/Rules/UseCompatibleCmdlets/PSScriptAnalyzerSettings.psd1 @@ -1,9 +1,9 @@ @{ 'Rules' = @{ 'PSUseCompatibleCmdlets' = @{ - 'mode' = 'offline', - 'path' = '.' - 'compatibility' = @{'core_6.0.0-alpha_windows'} + 'compatibility' = @("core-6.0.0-alpha-windows") + 'mode' = "offline" + 'uri' = "C:\users\kabawany\Source\Repos\PSScriptAnalyzer\Tests\Rules\UseCompatibleCmdlets" } } } \ No newline at end of file From 06712e10a0c1b1fe4019400b32da538b252183ae Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 14 Sep 2016 22:15:21 -0700 Subject: [PATCH 10/38] Make helper ContextExtent method public static --- Engine/Helper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Engine/Helper.cs b/Engine/Helper.cs index ae21638e6..1135bf120 100644 --- a/Engine/Helper.cs +++ b/Engine/Helper.cs @@ -806,7 +806,7 @@ public IScriptExtent GetScriptExtentForFunctionName(FunctionDefinitionAst functi /// /// /// True or False - private bool ContainsExtent(IScriptExtent set, IScriptExtent subset) + public static bool ContainsExtent(IScriptExtent set, IScriptExtent subset) { if (set == null || subset == null) { From 6009a23351d0db07d467bbe888f4c27fb9cb6d61 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 13 Sep 2016 21:42:43 -0700 Subject: [PATCH 11/38] Update UseCompatibleCmdlets rule to use offline data --- Rules/Strings.Designer.cs | 2 +- Rules/Strings.resx | 2 +- Rules/UseCompatibleCmdlets.cs | 246 +++++++++++++++++++++++++++++++++- 3 files changed, 245 insertions(+), 5 deletions(-) diff --git a/Rules/Strings.Designer.cs b/Rules/Strings.Designer.cs index 05f90bae2..199f88278 100644 --- a/Rules/Strings.Designer.cs +++ b/Rules/Strings.Designer.cs @@ -1735,7 +1735,7 @@ internal static string UseCompatibleCmdletsDescription { } /// - /// Looks up a localized string similar to {0} is not compatible with PowerShell version {0}, edition {1} and OS {2}. + /// Looks up a localized string similar to '{0}' is not compatible with PowerShell edition '{1}', version '{2}' and OS '{3}'. /// internal static string UseCompatibleCmdletsError { get { diff --git a/Rules/Strings.resx b/Rules/Strings.resx index 2d179aeb6..67a7efdf1 100644 --- a/Rules/Strings.resx +++ b/Rules/Strings.resx @@ -844,6 +844,6 @@ Use cmdlets compatible with the given PowerShell version and edition and operating system - {0} is not compatible with PowerShell version {0}, edition {1} and OS {2} + '{0}' is not compatible with PowerShell edition '{1}', version '{2}' and OS '{3}' \ No newline at end of file diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index 077b3cd12..50dad7b32 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -14,10 +14,14 @@ using System.ComponentModel.Composition; #endif using System.Globalization; +using System.IO; using System.Linq; using System.Management.Automation.Language; +using System.Text.RegularExpressions; using Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic; +using Newtonsoft.Json; + namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules { /// @@ -26,8 +30,172 @@ namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules #if !CORECLR [Export(typeof(IScriptRule))] #endif - class UseCompatibleCmdlets : IScriptRule + class UseCompatibleCmdlets : AstVisitor, IScriptRule { + private List diagnosticRecords; + private Dictionary> psCmdletMap; + private readonly List validParameters; + private CommandAst curCmdletAst; + private Dictionary curCmdletCompatibilityMap; + private Dictionary platformSpecMap; + private string scriptPath; + + public UseCompatibleCmdlets() + { + diagnosticRecords = new List(); + psCmdletMap = new Dictionary>(); + validParameters = new List { "mode", "uri", "compatibility" }; + curCmdletCompatibilityMap = new Dictionary(StringComparer.OrdinalIgnoreCase); + platformSpecMap = new Dictionary(StringComparer.OrdinalIgnoreCase); + SetupCmdletsDictionary(); + } + + private void SetupCmdletsDictionary() + { + Dictionary ruleArgs = Helper.Instance.GetRuleArguments(GetName()); + if (ruleArgs == null) + { + return; + } + + if (!RuleParamsValid(ruleArgs)) + { + return; + } + + var compatibilityList = ruleArgs["compatibility"] as List; + if (compatibilityList == null) + { + return; + } + + foreach (var compat in compatibilityList) + { + string psedition, psversion, os; + if (GetVersionInfoFromPlatformString(compat, out psedition, out psversion, out os)) + { + platformSpecMap.Add(compat, new { PSEdition = psedition, PSVersion = psversion, OS = os }); + curCmdletCompatibilityMap.Add(compat, false); + } + } + + var mode = GetStringArgFromListStringArg(ruleArgs["mode"]); + switch (mode) + { + case "online": + ProcessOnlineModeArgs(ruleArgs); + break; + + case "offline": + ProcessOfflineModeArgs(ruleArgs); + break; + + case null: + default: + return; + } + } + + private bool GetVersionInfoFromPlatformString( + string fileName, + out string psedition, + out string psversion, + out string os) + { + psedition = null; + psversion = null; + os = null; + const string pattern = @"^(?core|desktop)-(?[\S]+)-(?windows|linux|macOS)$"; + var match = Regex.Match(fileName, pattern, RegexOptions.IgnoreCase); + if (match == Match.Empty) + { + return false; + } + psedition = match.Groups["psedition"].Value; + psversion = match.Groups["psversion"].Value; + os = match.Groups["os"].Value; + return true; + } + + private string GetStringArgFromListStringArg(object arg) + { + if (arg == null) + { + return null; + } + var strList = arg as List; + if (strList == null + || strList.Count != 1) + { + return null; + } + return strList[0]; + } + + private void ProcessOfflineModeArgs(Dictionary ruleArgs) + { + var uri = GetStringArgFromListStringArg(ruleArgs["uri"]); + if (uri == null) + { + // TODO: log this + return; + } + if (!Directory.Exists(uri)) + { + // TODO: log this + return; + } + foreach (var filePath in Directory.EnumerateFiles(uri)) + { + var extension = Path.GetExtension(filePath); + if (String.IsNullOrWhiteSpace(extension) + || !extension.Equals(".json", StringComparison.OrdinalIgnoreCase)) + { + continue; + } + + var fileNameWithoutExt = Path.GetFileNameWithoutExtension(filePath); + if (!platformSpecMap.ContainsKey(fileNameWithoutExt)) + { + continue; + } + + psCmdletMap[fileNameWithoutExt] = GetCmdletsFromData(JsonConvert.DeserializeObject(File.ReadAllText(filePath))); + } + } + + private HashSet GetCmdletsFromData(dynamic deserializedObject) + { + var cmdlets = new HashSet(StringComparer.OrdinalIgnoreCase); + foreach (var module in deserializedObject) + { + if (module.HasValues == false) + { + continue; + } + + foreach (var cmdlet in module.Value) + { + if (cmdlet.Name != null) + { + cmdlets.Add(cmdlet.Name); + } + } + } + return cmdlets; + } + + private void ProcessOnlineModeArgs(Dictionary ruleArgs) + { + throw new NotImplementedException(); + } + + private bool RuleParamsValid(Dictionary ruleArgs) + { + return ruleArgs.Keys.All( + key => validParameters.Any(x => x.Equals(key, StringComparison.OrdinalIgnoreCase))); + } + /// /// Analyzes the given ast to find the [violation] /// @@ -41,8 +209,80 @@ public IEnumerable AnalyzeScript(Ast ast, string fileName) throw new ArgumentNullException("ast"); } - // your code goes here - yield return new DiagnosticRecord(); + scriptPath = fileName; + diagnosticRecords.Clear(); + ast.Visit(this); + foreach(var dr in diagnosticRecords) + { + yield return dr; + } + } + + + public override AstVisitAction VisitCommand(CommandAst commandAst) + { + if (commandAst == null) + { + return AstVisitAction.SkipChildren; + } + + var commandName = commandAst.GetCommandName(); + if (commandName == null) + { + return AstVisitAction.SkipChildren; + } + + curCmdletAst = commandAst; + CheckCompatibility(); + GenerateDiagnosticRecords(); + return AstVisitAction.Continue; + } + + private void GenerateDiagnosticRecords() + { + foreach (var curCmdletCompat in curCmdletCompatibilityMap) + { + if (!curCmdletCompat.Value) + { + var cmdletName = curCmdletAst.GetCommandName(); + var platformInfo = platformSpecMap[curCmdletCompat.Key]; + var funcNameTokens = Helper.Instance.Tokens.Where( + token => + Helper.ContainsExtent(curCmdletAst.Extent, token.Extent) + && token.Text.Equals(cmdletName)); + var funcNameToken = funcNameTokens.FirstOrDefault(); + var extent = funcNameToken == null ? null : funcNameToken.Extent; + diagnosticRecords.Add(new DiagnosticRecord( + String.Format( + Strings.UseCompatibleCmdletsError, + cmdletName, + platformInfo.PSEdition, + platformInfo.PSVersion, + platformInfo.OS), + extent, + GetName(), + GetDiagnosticSeverity(), + scriptPath, + null, + null)); + } + } + } + + private void CheckCompatibility() + { + string commandName = curCmdletAst.GetCommandName(); + foreach (var platformSpec in psCmdletMap) + { + if (platformSpec.Value.Contains(commandName)) + { + curCmdletCompatibilityMap[platformSpec.Key] = true; + } + else + { + curCmdletCompatibilityMap[platformSpec.Key] = false; + } + } } /// From ab586242eb630d320e073d842ae7c51258acee59 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 20 Sep 2016 16:43:28 -0700 Subject: [PATCH 12/38] Add script to create command file --- Utils/New-CmdletDataFile.ps1 | 48 ++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Utils/New-CmdletDataFile.ps1 diff --git a/Utils/New-CmdletDataFile.ps1 b/Utils/New-CmdletDataFile.ps1 new file mode 100644 index 000000000..cab0f6825 --- /dev/null +++ b/Utils/New-CmdletDataFile.ps1 @@ -0,0 +1,48 @@ +$builtinModulePath = Join-Path $pshome 'Modules' +if (-not (Test-Path $builtinModulePath)) +{ + throw new "$builtinModulePath does not exist! Cannot create command data file." +} + +Function IsPSEditionDesktop +{ + $PSEdition -eq $null -or $PSEdition -eq 'Desktop' +} + +Function Get-CmdletDataFileName +{ + $edition = 'core' + $os = 'windows' + if ((IsPSEditionDesktop)) + { + $edition = 'desktop' + } + else + { + if ($IsLinux) + { + $os = 'linux' + } + elseif ($IsOSX) + { + $os = 'osx' + } + # else it is windows, which is already set + } + $sb = New-Object 'System.Text.StringBuilder' + $sb.Append($edition) | Out-Null + $sb.Append('-') | Out-Null + $sb.Append($PSVersionTable.PSVersion.ToString()) | Out-Null + $sb.Append('-') | Out-Null + $sb.Append($os) | Out-Null + $sb.Append('.json') | Out-Null + $sb.ToString() +} + +# Cannot use the ExportedCommands property of moduleinfo object because the parametersets field in an ExportedCommands element is empty +Get-ChildItem -Path $builtinModulePath ` +| Where-Object {$_ -is [System.IO.DirectoryInfo]} ` +| ForEach-Object {Write-Progress $_; Get-Module $_.Name -ListAvailable} ` +| select -Property Name,@{Label='Version';Expression={$_.Version.ToString()}},@{Label='ExportedCommands';Expression={Get-Command -Module $_ | select Name,@{Label='CommandType';Expression={$_.CommandType.ToString()}},ParameterSets}} ` +| ConvertTo-Json -Depth 4 ` +| Out-File ((Get-CmdletDataFileName)) \ No newline at end of file From 8e679e8ae3d61d23eafad4995f72a956312232b8 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Tue, 20 Sep 2016 18:22:26 -0700 Subject: [PATCH 13/38] Update and rename command data generator file --- Utils/New-CmdletDataFile.ps1 | 48 ---------------------------- Utils/New-CommandDataFile.ps1 | 59 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 48 deletions(-) delete mode 100644 Utils/New-CmdletDataFile.ps1 create mode 100644 Utils/New-CommandDataFile.ps1 diff --git a/Utils/New-CmdletDataFile.ps1 b/Utils/New-CmdletDataFile.ps1 deleted file mode 100644 index cab0f6825..000000000 --- a/Utils/New-CmdletDataFile.ps1 +++ /dev/null @@ -1,48 +0,0 @@ -$builtinModulePath = Join-Path $pshome 'Modules' -if (-not (Test-Path $builtinModulePath)) -{ - throw new "$builtinModulePath does not exist! Cannot create command data file." -} - -Function IsPSEditionDesktop -{ - $PSEdition -eq $null -or $PSEdition -eq 'Desktop' -} - -Function Get-CmdletDataFileName -{ - $edition = 'core' - $os = 'windows' - if ((IsPSEditionDesktop)) - { - $edition = 'desktop' - } - else - { - if ($IsLinux) - { - $os = 'linux' - } - elseif ($IsOSX) - { - $os = 'osx' - } - # else it is windows, which is already set - } - $sb = New-Object 'System.Text.StringBuilder' - $sb.Append($edition) | Out-Null - $sb.Append('-') | Out-Null - $sb.Append($PSVersionTable.PSVersion.ToString()) | Out-Null - $sb.Append('-') | Out-Null - $sb.Append($os) | Out-Null - $sb.Append('.json') | Out-Null - $sb.ToString() -} - -# Cannot use the ExportedCommands property of moduleinfo object because the parametersets field in an ExportedCommands element is empty -Get-ChildItem -Path $builtinModulePath ` -| Where-Object {$_ -is [System.IO.DirectoryInfo]} ` -| ForEach-Object {Write-Progress $_; Get-Module $_.Name -ListAvailable} ` -| select -Property Name,@{Label='Version';Expression={$_.Version.ToString()}},@{Label='ExportedCommands';Expression={Get-Command -Module $_ | select Name,@{Label='CommandType';Expression={$_.CommandType.ToString()}},ParameterSets}} ` -| ConvertTo-Json -Depth 4 ` -| Out-File ((Get-CmdletDataFileName)) \ No newline at end of file diff --git a/Utils/New-CommandDataFile.ps1 b/Utils/New-CommandDataFile.ps1 new file mode 100644 index 000000000..1d0b898ce --- /dev/null +++ b/Utils/New-CommandDataFile.ps1 @@ -0,0 +1,59 @@ +$jsonVersion = "0.0.1" +$builtinModulePath = Join-Path $pshome 'Modules' +if (-not (Test-Path $builtinModulePath)) +{ + throw new "$builtinModulePath does not exist! Cannot create command data file." +} + +Function IsPSEditionDesktop +{ + $PSEdition -eq $null -or $PSEdition -eq 'Desktop' +} + +Function Get-CmdletDataFileName +{ + $edition = 'core' + $os = 'windows' + if ((IsPSEditionDesktop)) + { + $edition = 'desktop' + } + else + { + if ($IsLinux) + { + $os = 'linux' + } + elseif ($IsOSX) + { + $os = 'osx' + } + # else it is windows, which is already set + } + $sb = New-Object 'System.Text.StringBuilder' + $sb.Append($edition) | Out-Null + $sb.Append('-') | Out-Null + $sb.Append($PSVersionTable.PSVersion.ToString()) | Out-Null + $sb.Append('-') | Out-Null + $sb.Append($os) | Out-Null + $sb.Append('.json') | Out-Null + $sb.ToString() +} + +$jsonData = @{} +$jsonData['SchemaVersion'] = $jsonVersion +$shortModuleInfos = Get-ChildItem -Path $builtinModulePath ` +| Where-Object {($_ -is [System.IO.DirectoryInfo]) -and (Get-Module $_.Name -ListAvailable)} ` +| ForEach-Object { + $modules = Get-Module $_.Name -ListAvailable + $modules | ForEach-Object { + $module = $_ + Write-Progress $module.Name + $commands = Get-Command -Module $module + $shortCommands = $commands | select -Property Name,@{Label='CommandType';Expression={$_.CommandType.ToString()}},ParameterSets + $shortModuleInfo = $module | select -Property Name,@{Label='Version';Expression={$_.Version.ToString()}} + Add-Member -InputObject $shortModuleInfo -NotePropertyName 'ExportedCommands' -NotePropertyValue $shortCommands -PassThru + } +} +$jsonData['Modules'] = $shortModuleInfos +$jsonData | ConvertTo-Json -Depth 4 | Out-File ((Get-CmdletDataFileName)) \ No newline at end of file From 1a4122fa9fd4d3576fc46ae6d34bf57a45c98d87 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 14:56:01 -0700 Subject: [PATCH 14/38] Copy settings folder through buildcoreclr script --- buildCoreClr.ps1 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/buildCoreClr.ps1 b/buildCoreClr.ps1 index 6c891785a..b8d6eca13 100644 --- a/buildCoreClr.ps1 +++ b/buildCoreClr.ps1 @@ -77,6 +77,9 @@ if ($build) (Get-Content "$destinationDir\PSScriptAnalyzer.psd1") -replace "ModuleVersion = '1.6.0'","ModuleVersion = '0.0.1'" | Out-File "$destinationDir\PSScriptAnalyzer.psd1" -Encoding ascii CopyToDestinationDir $itemsToCopyBinaries $destinationDirBinaries + + # Copy Settings File + Copy-Item -Path "$solutionDir/Engine/Settings" -Destination $destinationDir -Force -Recurse -Verbose } $modulePath = "$HOME\Documents\WindowsPowerShell\Modules"; From f13e5094632df731b99937011d4c08cbcfc2bc8a Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 14:57:57 -0700 Subject: [PATCH 15/38] Change macOS to OSX in usecompatiblecmdlet rule --- Rules/UseCompatibleCmdlets.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index 50dad7b32..d0fd45070 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -105,7 +105,7 @@ private bool GetVersionInfoFromPlatformString( psedition = null; psversion = null; os = null; - const string pattern = @"^(?core|desktop)-(?[\S]+)-(?windows|linux|macOS)$"; + const string pattern = @"^(?core|desktop)-(?[\S]+)-(?windows|linux|osx)$"; var match = Regex.Match(fileName, pattern, RegexOptions.IgnoreCase); if (match == Match.Empty) { From abd558da05bdeb4b0dc4c44fc67e9410e1fe54a6 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 14:59:57 -0700 Subject: [PATCH 16/38] Parse object[] for compatibility arg in UseCompatibleCmdlet rule --- Rules/UseCompatibleCmdlets.cs | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index d0fd45070..e5aad76fe 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -63,15 +63,36 @@ private void SetupCmdletsDictionary() return; } - var compatibilityList = ruleArgs["compatibility"] as List; - if (compatibilityList == null) + var compatibilityObjectArr = ruleArgs["compatibility"] as object[]; + var compatibilityList = new List(); + if (compatibilityObjectArr == null) { - return; + compatibilityList = ruleArgs["compatibility"] as List; + if (compatibilityList == null) + { + return; + } + } + else + { + foreach (var compatItem in compatibilityObjectArr) + { + var compatString = compatItem as string; + if (compatString == null) + { + // ignore (warn) non-string invalid entries + continue; + } + + compatibilityList.Add(compatString); + } } foreach (var compat in compatibilityList) { string psedition, psversion, os; + + // ignore (warn) invalid entries if (GetVersionInfoFromPlatformString(compat, out psedition, out psversion, out os)) { platformSpecMap.Add(compat, new { PSEdition = psedition, PSVersion = psversion, OS = os }); From de8338dd8d754ab0aa66f3ef3db31bfb007da000 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 15:01:28 -0700 Subject: [PATCH 17/38] Read command data files from module settings folder --- Rules/UseCompatibleCmdlets.cs | 52 +++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index e5aad76fe..dc80333b0 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -17,6 +17,7 @@ using System.IO; using System.Linq; using System.Management.Automation.Language; +using System.Reflection; using System.Text.RegularExpressions; using Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic; @@ -100,21 +101,42 @@ private void SetupCmdletsDictionary() } } - var mode = GetStringArgFromListStringArg(ruleArgs["mode"]); - switch (mode) + object modeObject; + if (ruleArgs.TryGetValue("mode", out modeObject)) { - case "online": - ProcessOnlineModeArgs(ruleArgs); - break; + // This is for testing only. User should not be specifying mode! + var mode = GetStringArgFromListStringArg(modeObject); + switch (mode) + { + case "online": + ProcessOnlineModeArgs(ruleArgs); + break; - case "offline": - ProcessOfflineModeArgs(ruleArgs); - break; + case "offline": + ProcessOfflineModeArgs(ruleArgs); + break; - case null: - default: - return; + case null: + default: + break; + } + + return; + } + + // Find the compatibility files in Settings folder + var path = this.GetType().GetTypeInfo().Assembly.Location; + if (String.IsNullOrWhiteSpace(path)) + { + return; } + + var settingsPath = Path.Combine(Path.GetDirectoryName(path), "Settings"); + if (!Directory.Exists(settingsPath)) + { + return; + } + ProcessDirectory(settingsPath); } private bool GetVersionInfoFromPlatformString( @@ -166,7 +188,13 @@ private void ProcessOfflineModeArgs(Dictionary ruleArgs) // TODO: log this return; } - foreach (var filePath in Directory.EnumerateFiles(uri)) + + ProcessDirectory(uri); + } + + private void ProcessDirectory(string path) + { + foreach (var filePath in Directory.EnumerateFiles(path)) { var extension = Path.GetExtension(filePath); if (String.IsNullOrWhiteSpace(extension) From 7e4a2f8a8eb666958a76ab8a6e24d357caca44ce Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 15:01:46 -0700 Subject: [PATCH 18/38] Read updated json from usecompatiblecmdlets rule --- Rules/UseCompatibleCmdlets.cs | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index dc80333b0..a8e152610 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -21,7 +21,7 @@ using System.Text.RegularExpressions; using Microsoft.Windows.PowerShell.ScriptAnalyzer.Generic; -using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules { @@ -209,28 +209,23 @@ private void ProcessDirectory(string path) continue; } - psCmdletMap[fileNameWithoutExt] = GetCmdletsFromData(JsonConvert.DeserializeObject(File.ReadAllText(filePath))); + psCmdletMap[fileNameWithoutExt] = GetCmdletsFromData(JObject.Parse(File.ReadAllText(filePath))); } } private HashSet GetCmdletsFromData(dynamic deserializedObject) { var cmdlets = new HashSet(StringComparer.OrdinalIgnoreCase); - foreach (var module in deserializedObject) + dynamic modules = deserializedObject.Modules; + foreach (var module in modules) { - if (module.HasValues == false) + foreach (var cmdlet in module.ExportedCommands) { - continue; - } - - foreach (var cmdlet in module.Value) - { - if (cmdlet.Name != null) - { - cmdlets.Add(cmdlet.Name); - } + var name = cmdlet.Name.Value as string; + cmdlets.Add(name); } } + return cmdlets; } From 3d9e91afc918a43e5636e65cc6c8b02e7164056d Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 15:02:38 -0700 Subject: [PATCH 19/38] Update usecompatiblecmdlets rule tests --- .../Desktop-5.1.14393.82-windows.json | Bin 222302 -> 0 bytes .../PSScriptAnalyzerSettings.psd1 | 2 -- .../core-6.0.0-alpha-windows.json | Bin 136036 -> 427982 bytes 3 files changed, 2 deletions(-) delete mode 100644 Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json diff --git a/Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json b/Tests/Rules/UseCompatibleCmdlets/Desktop-5.1.14393.82-windows.json deleted file mode 100644 index f9b1dace0d118a514026ca279794549c4c79523e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222302 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%0A`)dsSCAiqztt$lCUlfw;#;KuI# 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 V|M>rEsj%Cu#lIfUQ}Vx2{tIM9CpG{8 From ef18cc0b31255a5e4ae5470a8d400293388834b5 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 17:29:59 -0700 Subject: [PATCH 20/38] Copy newtonsoft.json.dll if framework is net451 --- buildCoreClr.ps1 | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/buildCoreClr.ps1 b/buildCoreClr.ps1 index b8d6eca13..e50de5230 100644 --- a/buildCoreClr.ps1 +++ b/buildCoreClr.ps1 @@ -25,19 +25,18 @@ if (-not (Test-Path "$solutionDir/global.json")) } $itemsToCopyBinaries = @("$solutionDir\Engine\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.dll", - "$solutionDir\Rules\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll", - "$solutionDir\Rules\bin\$Configuration\$Framework\Newtonsoft.Json.dll") + "$solutionDir\Rules\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll") $itemsToCopyCommon = @("$solutionDir\Engine\PSScriptAnalyzer.psd1", "$solutionDir\Engine\PSScriptAnalyzer.psm1", "$solutionDir\Engine\ScriptAnalyzer.format.ps1xml", "$solutionDir\Engine\ScriptAnalyzer.types.ps1xml") -$destinationDir = "$solutionDir/out/PSScriptAnalyzer" -$destinationDirBinaries = "$destinationDir" +$destinationDir = "$solutionDir\out\PSScriptAnalyzer" +$destinationDirBinaries = $destinationDir if ($Framework -eq "netstandard1.6") { - $destinationDirBinaries = "$destinationDir/coreclr" + $destinationDirBinaries = "$destinationDir\coreclr" } if ($build) @@ -79,7 +78,13 @@ if ($build) CopyToDestinationDir $itemsToCopyBinaries $destinationDirBinaries # Copy Settings File - Copy-Item -Path "$solutionDir/Engine/Settings" -Destination $destinationDir -Force -Recurse -Verbose + Copy-Item -Path "$solutionDir\Engine\Settings" -Destination $destinationDir -Force -Recurse -Verbose + + # copy newtonsoft dll if net451 framework + if ($Framework -eq "net451") + { + copy-item -path "$solutionDir\Rules\bin\$Configuration\$Framework\Newtonsoft.Json.dll" -Destination $destinationDir -Verbose + } } $modulePath = "$HOME\Documents\WindowsPowerShell\Modules"; From 51df2f9958d5dd0fda452440b0433d382e4cd728 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 17:34:47 -0700 Subject: [PATCH 21/38] Delay initializing data structures in UseCompatibleCmdlets rule --- Rules/UseCompatibleCmdlets.cs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index a8e152610..e3fabc1c9 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -40,15 +40,22 @@ class UseCompatibleCmdlets : AstVisitor, IScriptRule private Dictionary curCmdletCompatibilityMap; private Dictionary platformSpecMap; private string scriptPath; + private bool IsInitialized; public UseCompatibleCmdlets() + { + validParameters = new List { "mode", "uri", "compatibility" }; + IsInitialized = false; + } + + private void Initialize() { diagnosticRecords = new List(); psCmdletMap = new Dictionary>(); - validParameters = new List { "mode", "uri", "compatibility" }; curCmdletCompatibilityMap = new Dictionary(StringComparer.OrdinalIgnoreCase); platformSpecMap = new Dictionary(StringComparer.OrdinalIgnoreCase); SetupCmdletsDictionary(); + IsInitialized = true; } private void SetupCmdletsDictionary() @@ -134,7 +141,14 @@ private void SetupCmdletsDictionary() var settingsPath = Path.Combine(Path.GetDirectoryName(path), "Settings"); if (!Directory.Exists(settingsPath)) { - return; + // try one level down as the PSScriptAnalyzer module structure is not consistent + // CORECLR binaries are in PSScriptAnalyzer/coreclr/, PowerShell v3 binaries are in PSScriptAnalyzer/PSv3/ + // and PowerShell v5 binaries are in PSScriptAnalyzer/ + settingsPath = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(path)), "Settings"); + if (!Directory.Exists(settingsPath)) + { + return; + } } ProcessDirectory(settingsPath); } @@ -248,6 +262,13 @@ private bool RuleParamsValid(Dictionary ruleArgs) /// A an enumerable type containing the violations public IEnumerable AnalyzeScript(Ast ast, string fileName) { + // we do not want to initialize the data structures if the rule is not being used for analysis + // hence we initialize when this method is called for the first time + if (!IsInitialized) + { + Initialize(); + } + if (ast == null) { throw new ArgumentNullException("ast"); From 3ed42e2df406088072d47b0375eb9fe99797ea54 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Wed, 21 Sep 2016 17:36:08 -0700 Subject: [PATCH 22/38] Increment total number of rules in tests --- Tests/Engine/GetScriptAnalyzerRule.tests.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Engine/GetScriptAnalyzerRule.tests.ps1 b/Tests/Engine/GetScriptAnalyzerRule.tests.ps1 index d06ad73f0..39e0c02b5 100644 --- a/Tests/Engine/GetScriptAnalyzerRule.tests.ps1 +++ b/Tests/Engine/GetScriptAnalyzerRule.tests.ps1 @@ -61,10 +61,10 @@ Describe "Test Name parameters" { It "get Rules with no parameters supplied" { $defaultRules = Get-ScriptAnalyzerRule - $expectedNumRules = 42 + $expectedNumRules = 43 if ((Test-PSEditionCoreClr)) { - $expectedNumRules = 41 + $expectedNumRules = 42 } $defaultRules.Count | Should be $expectedNumRules } From c5df6416a2cf9ec09f009660c87573c94d5085e5 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 13:03:34 -0700 Subject: [PATCH 23/38] Remove unused compatibility arguments --- Rules/UseCompatibleCmdlets.cs | 47 ++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index e3fabc1c9..73bc709e4 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -131,11 +131,31 @@ private void SetupCmdletsDictionary() return; } + var settingsPath = GetSettingsDirectory(); + if (settingsPath == null) + { + return; + } + + ProcessDirectory(settingsPath); + } + + private void ResetCurCmdletCompatibilityMap() + { + // cannot iterate over collection and change the values, hence the conversion to list + foreach(var key in curCmdletCompatibilityMap.Keys.ToList()) + { + curCmdletCompatibilityMap[key] = true; + } + } + + private string GetSettingsDirectory() + { // Find the compatibility files in Settings folder var path = this.GetType().GetTypeInfo().Assembly.Location; if (String.IsNullOrWhiteSpace(path)) { - return; + return null; } var settingsPath = Path.Combine(Path.GetDirectoryName(path), "Settings"); @@ -147,10 +167,11 @@ private void SetupCmdletsDictionary() settingsPath = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(path)), "Settings"); if (!Directory.Exists(settingsPath)) { - return; + return null; } } - ProcessDirectory(settingsPath); + + return settingsPath; } private bool GetVersionInfoFromPlatformString( @@ -225,6 +246,26 @@ private void ProcessDirectory(string path) psCmdletMap[fileNameWithoutExt] = GetCmdletsFromData(JObject.Parse(File.ReadAllText(filePath))); } + + RemoveUnavailableKeys(); + } + + private void RemoveUnavailableKeys() + { + var keysToRemove = new List(); + foreach (var key in platformSpecMap.Keys) + { + if (!psCmdletMap.ContainsKey(key)) + { + keysToRemove.Add(key); + } + } + + foreach (var key in keysToRemove) + { + platformSpecMap.Remove(key); + curCmdletCompatibilityMap.Remove(key); + } } private HashSet GetCmdletsFromData(dynamic deserializedObject) From 1b3e7cf43136f2ea72a605989da51f11e8cc86a4 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 13:15:15 -0700 Subject: [PATCH 24/38] Set default compatibility value to true --- Rules/UseCompatibleCmdlets.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index 73bc709e4..bd532050c 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -31,7 +31,7 @@ namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules #if !CORECLR [Export(typeof(IScriptRule))] #endif - class UseCompatibleCmdlets : AstVisitor, IScriptRule + public class UseCompatibleCmdlets : AstVisitor, IScriptRule { private List diagnosticRecords; private Dictionary> psCmdletMap; @@ -104,7 +104,7 @@ private void SetupCmdletsDictionary() if (GetVersionInfoFromPlatformString(compat, out psedition, out psversion, out os)) { platformSpecMap.Add(compat, new { PSEdition = psedition, PSVersion = psversion, OS = os }); - curCmdletCompatibilityMap.Add(compat, false); + curCmdletCompatibilityMap.Add(compat, true); } } @@ -339,6 +339,7 @@ public override AstVisitAction VisitCommand(CommandAst commandAst) } curCmdletAst = commandAst; + ResetCurCmdletCompatibilityMap(); CheckCompatibility(); GenerateDiagnosticRecords(); return AstVisitAction.Continue; From bf201133f6e473410770f4f503451bb5e6e1a604 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 14:14:24 -0700 Subject: [PATCH 25/38] Add inline documentation to UseCompatibleCmdlets rule source --- Rules/UseCompatibleCmdlets.cs | 339 +++++++++++++++++++--------------- 1 file changed, 189 insertions(+), 150 deletions(-) diff --git a/Rules/UseCompatibleCmdlets.cs b/Rules/UseCompatibleCmdlets.cs index bd532050c..97a542595 100644 --- a/Rules/UseCompatibleCmdlets.cs +++ b/Rules/UseCompatibleCmdlets.cs @@ -26,7 +26,7 @@ namespace Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules { /// - /// A class to walk an AST to check for [violation] + /// A class to check if a script uses Cmdlets compatible with a given version and edition of PowerShell. /// #if !CORECLR [Export(typeof(IScriptRule))] @@ -48,6 +48,158 @@ public UseCompatibleCmdlets() IsInitialized = false; } + /// + /// Retrieves the common name of this rule. + /// + public string GetCommonName() + { + return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsCommonName); + } + + /// + /// Retrieves the description of this rule. + /// + public string GetDescription() + { + return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsDescription); + } + + /// + /// Retrieves the name of this rule. + /// + public string GetName() + { + return string.Format( + CultureInfo.CurrentCulture, + Strings.NameSpaceFormat, + GetSourceName(), + Strings.UseCompatibleCmdletsName); + } + + /// + /// Retrieves the severity of the rule: error, warning or information. + /// + public RuleSeverity GetSeverity() + { + return RuleSeverity.Warning; + } + + /// + /// Gets the severity of the returned diagnostic record: error, warning, or information. + /// + /// + public DiagnosticSeverity GetDiagnosticSeverity() + { + return DiagnosticSeverity.Warning; + } + + /// + /// Retrieves the name of the module/assembly the rule is from. + /// + public string GetSourceName() + { + return string.Format(CultureInfo.CurrentCulture, Strings.SourceName); + } + + /// + /// Retrieves the type of the rule, Builtin, Managed or Module. + /// + public SourceType GetSourceType() + { + return SourceType.Builtin; + } + + /// + /// Analyzes the given ast to find the [violation] + /// + /// AST to be analyzed. This should be non-null + /// Name of file that corresponds to the input AST. + /// A an enumerable type containing the violations + public IEnumerable AnalyzeScript(Ast ast, string fileName) + { + // we do not want to initialize the data structures if the rule is not being used for analysis + // hence we initialize when this method is called for the first time + if (!IsInitialized) + { + Initialize(); + } + + if (ast == null) + { + throw new ArgumentNullException("ast"); + } + + scriptPath = fileName; + diagnosticRecords.Clear(); + ast.Visit(this); + foreach (var dr in diagnosticRecords) + { + yield return dr; + } + } + + + /// + /// Visits the CommandAst type node in an AST + /// + /// CommandAst node + public override AstVisitAction VisitCommand(CommandAst commandAst) + { + if (commandAst == null) + { + return AstVisitAction.SkipChildren; + } + + var commandName = commandAst.GetCommandName(); + if (commandName == null) + { + return AstVisitAction.SkipChildren; + } + + curCmdletAst = commandAst; + ResetCurCmdletCompatibilityMap(); + CheckCompatibility(); + GenerateDiagnosticRecords(); + return AstVisitAction.Continue; + } + + /// + /// Create an instance of DiagnosticRecord and add it to a list + /// + private void GenerateDiagnosticRecords() + { + foreach (var curCmdletCompat in curCmdletCompatibilityMap) + { + if (!curCmdletCompat.Value) + { + var cmdletName = curCmdletAst.GetCommandName(); + var platformInfo = platformSpecMap[curCmdletCompat.Key]; + var funcNameTokens = Helper.Instance.Tokens.Where( + token => + Helper.ContainsExtent(curCmdletAst.Extent, token.Extent) + && token.Text.Equals(cmdletName)); + var funcNameToken = funcNameTokens.FirstOrDefault(); + var extent = funcNameToken == null ? null : funcNameToken.Extent; + diagnosticRecords.Add(new DiagnosticRecord( + String.Format( + Strings.UseCompatibleCmdletsError, + cmdletName, + platformInfo.PSEdition, + platformInfo.PSVersion, + platformInfo.OS), + extent, + GetName(), + GetDiagnosticSeverity(), + scriptPath, + null, + null)); + } + } + } + + /// + /// Initialize data structures need to check cmdlet compatibility + /// private void Initialize() { diagnosticRecords = new List(); @@ -58,6 +210,9 @@ private void Initialize() IsInitialized = true; } + /// + /// Sets up a dictionaries indexed by PowerShell version/edition and OS + /// private void SetupCmdletsDictionary() { Dictionary ruleArgs = Helper.Instance.GetRuleArguments(GetName()); @@ -115,14 +270,11 @@ private void SetupCmdletsDictionary() var mode = GetStringArgFromListStringArg(modeObject); switch (mode) { - case "online": - ProcessOnlineModeArgs(ruleArgs); - break; - case "offline": ProcessOfflineModeArgs(ruleArgs); break; + case "online": // not implemented yet. case null: default: break; @@ -140,6 +292,9 @@ private void SetupCmdletsDictionary() ProcessDirectory(settingsPath); } + /// + /// Resets the values in curCmdletCompatibilityMap to true + /// private void ResetCurCmdletCompatibilityMap() { // cannot iterate over collection and change the values, hence the conversion to list @@ -149,6 +304,9 @@ private void ResetCurCmdletCompatibilityMap() } } + /// + /// Retrieves the Settings directory from the Module directory structure + /// private string GetSettingsDirectory() { // Find the compatibility files in Settings folder @@ -174,6 +332,10 @@ private string GetSettingsDirectory() return settingsPath; } + /// + /// Gets PowerShell Edition, Version and OS from input string + /// + /// True if it can retrieve information from string, otherwise, False private bool GetVersionInfoFromPlatformString( string fileName, out string psedition, @@ -195,6 +357,9 @@ private bool GetVersionInfoFromPlatformString( return true; } + /// + /// Gets the string from a one element string array + /// private string GetStringArgFromListStringArg(object arg) { if (arg == null) @@ -210,6 +375,9 @@ private string GetStringArgFromListStringArg(object arg) return strList[0]; } + /// + /// Process arguments when 'offline' mode is specified + /// private void ProcessOfflineModeArgs(Dictionary ruleArgs) { var uri = GetStringArgFromListStringArg(ruleArgs["uri"]); @@ -227,6 +395,9 @@ private void ProcessOfflineModeArgs(Dictionary ruleArgs) ProcessDirectory(uri); } + /// + /// Search a directory for files of form [PSEdition]-[PSVersion]-[OS].json + /// private void ProcessDirectory(string path) { foreach (var filePath in Directory.EnumerateFiles(path)) @@ -250,6 +421,9 @@ private void ProcessDirectory(string path) RemoveUnavailableKeys(); } + /// + /// Remove keys that are not present in psCmdletMap but present in platformSpecMap and curCmdletCompatibilityMap + /// private void RemoveUnavailableKeys() { var keysToRemove = new List(); @@ -268,6 +442,11 @@ private void RemoveUnavailableKeys() } } + /// + /// Get a hashset of cmdlet names from a deserialized json file + /// + /// + /// private HashSet GetCmdletsFromData(dynamic deserializedObject) { var cmdlets = new HashSet(StringComparer.OrdinalIgnoreCase); @@ -284,11 +463,9 @@ private HashSet GetCmdletsFromData(dynamic deserializedObject) return cmdlets; } - private void ProcessOnlineModeArgs(Dictionary ruleArgs) - { - throw new NotImplementedException(); - } - + /// + /// Check if rule arguments are valid + /// private bool RuleParamsValid(Dictionary ruleArgs) { return ruleArgs.Keys.All( @@ -296,86 +473,9 @@ private bool RuleParamsValid(Dictionary ruleArgs) } /// - /// Analyzes the given ast to find the [violation] + /// Check if current command is present in the whitelists + /// If not, flag the corresponding value in curCmdletCompatibilityMap /// - /// AST to be analyzed. This should be non-null - /// Name of file that corresponds to the input AST. - /// A an enumerable type containing the violations - public IEnumerable AnalyzeScript(Ast ast, string fileName) - { - // we do not want to initialize the data structures if the rule is not being used for analysis - // hence we initialize when this method is called for the first time - if (!IsInitialized) - { - Initialize(); - } - - if (ast == null) - { - throw new ArgumentNullException("ast"); - } - - scriptPath = fileName; - diagnosticRecords.Clear(); - ast.Visit(this); - foreach(var dr in diagnosticRecords) - { - yield return dr; - } - } - - - public override AstVisitAction VisitCommand(CommandAst commandAst) - { - if (commandAst == null) - { - return AstVisitAction.SkipChildren; - } - - var commandName = commandAst.GetCommandName(); - if (commandName == null) - { - return AstVisitAction.SkipChildren; - } - - curCmdletAst = commandAst; - ResetCurCmdletCompatibilityMap(); - CheckCompatibility(); - GenerateDiagnosticRecords(); - return AstVisitAction.Continue; - } - - private void GenerateDiagnosticRecords() - { - foreach (var curCmdletCompat in curCmdletCompatibilityMap) - { - if (!curCmdletCompat.Value) - { - var cmdletName = curCmdletAst.GetCommandName(); - var platformInfo = platformSpecMap[curCmdletCompat.Key]; - var funcNameTokens = Helper.Instance.Tokens.Where( - token => - Helper.ContainsExtent(curCmdletAst.Extent, token.Extent) - && token.Text.Equals(cmdletName)); - var funcNameToken = funcNameTokens.FirstOrDefault(); - var extent = funcNameToken == null ? null : funcNameToken.Extent; - diagnosticRecords.Add(new DiagnosticRecord( - String.Format( - Strings.UseCompatibleCmdletsError, - cmdletName, - platformInfo.PSEdition, - platformInfo.PSVersion, - platformInfo.OS), - extent, - GetName(), - GetDiagnosticSeverity(), - scriptPath, - null, - null)); - } - } - } - private void CheckCompatibility() { string commandName = curCmdletAst.GetCommandName(); @@ -391,66 +491,5 @@ private void CheckCompatibility() } } } - - /// - /// Retrieves the common name of this rule. - /// - public string GetCommonName() - { - return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsCommonName); - } - - /// - /// Retrieves the description of this rule. - /// - public string GetDescription() - { - return string.Format(CultureInfo.CurrentCulture, Strings.UseCompatibleCmdletsDescription); - } - - /// - /// Retrieves the name of this rule. - /// - public string GetName() - { - return string.Format( - CultureInfo.CurrentCulture, - Strings.NameSpaceFormat, - GetSourceName(), - Strings.UseCompatibleCmdletsName); - } - - /// - /// Retrieves the severity of the rule: error, warning or information. - /// - public RuleSeverity GetSeverity() - { - return RuleSeverity.Warning; - } - - /// - /// Gets the severity of the returned diagnostic record: error, warning, or information. - /// - /// - public DiagnosticSeverity GetDiagnosticSeverity() - { - return DiagnosticSeverity.Warning; - } - - /// - /// Retrieves the name of the module/assembly the rule is from. - /// - public string GetSourceName() - { - return string.Format(CultureInfo.CurrentCulture, Strings.SourceName); - } - - /// - /// Retrieves the type of the rule, Builtin, Managed or Module. - /// - public SourceType GetSourceType() - { - return SourceType.Builtin; - } } } From 7e13d764ab16bf8dfb25369fecf40ef9ad241975 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 14:33:36 -0700 Subject: [PATCH 26/38] Add UseCompatibleCmdlets rule documentation --- RuleDocumentation/README.md | 3 ++- RuleDocumentation/UseCompatibleCmdlets.md | 19 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/RuleDocumentation/README.md b/RuleDocumentation/README.md index f219f2a93..3e33dc54c 100644 --- a/RuleDocumentation/README.md +++ b/RuleDocumentation/README.md @@ -45,4 +45,5 @@ |[UseShouldProcessForStateChangingFunctions](./UseShouldProcessForStateChangingFunctions.md) | Warning| |[UseSingularNouns](./UseSingularNouns.md) | Warning| |[UseStandardDSCFunctionsInResource](./UseStandardDSCFunctionsInResource.md) | Error | -|[UseToExportFieldsInManifest](./UseToExportFieldsInManifest.md) | Warning| \ No newline at end of file +|[UseToExportFieldsInManifest](./UseToExportFieldsInManifest.md) | Warning| +|[UseCompatibleCmdlets](./UseCompatibleCmdlets.md) | Warning| \ No newline at end of file diff --git a/RuleDocumentation/UseCompatibleCmdlets.md b/RuleDocumentation/UseCompatibleCmdlets.md index 10040b8ed..4fbcc78b7 100644 --- a/RuleDocumentation/UseCompatibleCmdlets.md +++ b/RuleDocumentation/UseCompatibleCmdlets.md @@ -2,16 +2,15 @@ **Severity Level: Warning** ## Description - -## How to Fix - -## Example -### Wrong: +This rule flags cmdlets that are not available in a given Edition/Version of PowerShell on a given Operating System. It works by comparing a cmdlet against a set of whitelists which ship with PSScriptAnalyzer. They can be found at `/path/to/PSScriptAnalyzerModule/Settings`. These files are of the form, `PSEDITION-PSVERSION-OS.json` where `PSEDITION` can be either `core` or `desktop`, `OS` can be either `windows`, `linux` or `osx`, and `version` is the PowerShell version. To enable the rule to check if your script is compatible on PowerShell Core on windows, put the following your settings file: ```PowerShell - +@{ + 'Rules' = @{ + 'PSUseCompatibleCmdlets' = @{ + 'compatibility' = @("core-6.0.0-alpha-windows") + } + } +} ``` -### Correct: -```PowerShell - -``` +The parameter `compatibility` is a list that contain any of the following `{core-6.0.0-alpha-windows, core-6.0.0-alpha-linux, core-6.0.0-alpha-osx}`. \ No newline at end of file From b732c7448a02df7ea6bf66513233c6bc7842ecc9 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 14:34:55 -0700 Subject: [PATCH 27/38] Move RuleMaker module to Utils directory --- {Engine => Utils}/RuleMaker.psm1 | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {Engine => Utils}/RuleMaker.psm1 (100%) diff --git a/Engine/RuleMaker.psm1 b/Utils/RuleMaker.psm1 similarity index 100% rename from Engine/RuleMaker.psm1 rename to Utils/RuleMaker.psm1 From 67eb2ac5e728ea4ab40e80bbc288158657cab5fc Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 14:58:07 -0700 Subject: [PATCH 28/38] Add comment based help to exported function in RuleMaker --- Utils/RuleMaker.psm1 | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/Utils/RuleMaker.psm1 b/Utils/RuleMaker.psm1 index 7455b3f87..6f026d177 100644 --- a/Utils/RuleMaker.psm1 +++ b/Utils/RuleMaker.psm1 @@ -364,19 +364,57 @@ Function Remove-RuleTest($Rule) Remove-Item -Path $ruleTestFilePath } +<# +.SYNOPSIS + Adds a C# based builtin rule to Rules project in PSScriptAnalyzer solution +.EXAMPLE + C:\PS> Add-Rule -Name UseCompatibleCmdlets -Severity Warning -CommonName 'Use Compatible Cmdlets' -Description 'Checks if a cmdlet is compatible with a given PowerShell version, edition and os combination' -Error '{0} command is not compatible with PowerShell version {1}, edition {2} and OS {3}' + + This will result in the following. + - create {PScriptAnalyzerSolutionRoot}/Rules/UseCompatibleCmdlets.cs + - create {PScriptAnalyzerSolutionRoot}/Tests/Rules/UseCompatibleCmdlets.tests.ps1 + - create {PScriptAnalyzerSolutionRoot}/RuleDocumentation/UseCompatibleCmdlets.md + - update {PScriptAnalyzerSolutionRoot}/Rules/Strings.resx + - update {PScriptAnalyzerSolutionRoot}/Rules/ScriptAnalyzerBuiltinRules.csproj + +.PARAMETER Name + Rule name. An entry in Strings.resx is created for this value. + +.PARAMETER Severity + Severity of the rule from on the following values: {Information, Warning, Error} + +.PARAMETER CommonName + A somewhat verbose name of of the rule. An entry in Strings.resx is created for this value. + +.PARAMETER Description + Rule description. An entry in Strings.resx is created for this value. + +.PARAMETER Error + Error message. An entry in Strings.resx is created for this value. + +.INPUTS + None + +.OUTPUTS + None +#> Function Add-Rule { param( [Parameter(Mandatory=$true)] [string] $Name, + [Parameter(Mandatory=$true)] [ValidateSet("Error", "Warning", "Information")] [string] $Severity, + [Parameter(Mandatory=$true)] [string] $CommonName, + [Parameter(Mandatory=$true)] [string] $Description, + [Parameter(Mandatory=$true)] [string] $Error) $rule = New-RuleObject -Name $Name -Severity $Severity -CommonName $CommonName -Description $Description -Error $Error @@ -411,6 +449,26 @@ Function Add-Rule } } +<# +.SYNOPSIS + Removes a rule from builtin rules + +.EXAMPLE + C:\PS> Remove-Rule -Name UseCompatibleCmdlets + + This will result in the following. + - remove {PScriptAnalyzerSolutionRoot}/Rules/UseCompatibleCmdlets.cs + - remove {PScriptAnalyzerSolutionRoot}/Tests/Rules/UseCompatibleCmdlets.tests.ps1 + - remove {PScriptAnalyzerSolutionRoot}/RuleDocumentation/UseCompatibleCmdlets.md + - remove UseCompatibleCmdlets entries from {PScriptAnalyzerSolutionRoot}/Rules/Strings.resx + - remove UseCompatibleCmdlets entries from {PScriptAnalyzerSolutionRoot}/Rules/ScriptAnalyzerBuiltinRules.csproj + +.INPUTS + None + +.OUTPUTS + None +#> Function Remove-Rule { param( From 24186395a6f94a19e38b802f75acb03ae19b65d4 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Thu, 22 Sep 2016 15:05:50 -0700 Subject: [PATCH 29/38] Add documentation to New-CommandDataFile.ps1 --- Utils/New-CommandDataFile.ps1 | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Utils/New-CommandDataFile.ps1 b/Utils/New-CommandDataFile.ps1 index 1d0b898ce..d4736a6e4 100644 --- a/Utils/New-CommandDataFile.ps1 +++ b/Utils/New-CommandDataFile.ps1 @@ -1,3 +1,34 @@ +<# +.SYNOPSIS + Create a JSON file containing module found in $pshome and their corresponding exported commands + +.EXAMPLE + C:\PS> ./New-CommandDataFile.ps1 + + Suppose this file is run on the following version of PowerShell: PSVersion = 6.0.0-aplha, PSEdition = Core, and Windows 10 operating system. Then this script will create a file named core-6.0.0-alpha-windows.json that contains a JSON object of the following form: + { + "Modules" : [ + "Module1" : { + "Name" : "Module1" + . + . + "ExportedCommands" : {...} + } + . + . + . + ] + "JsonVersion" : "0.0.1" + } + +.INPUTS + None + +.OUTPUTS + None + +#> + $jsonVersion = "0.0.1" $builtinModulePath = Join-Path $pshome 'Modules' if (-not (Test-Path $builtinModulePath)) From ad32c6375d899a25a738264823cba4d25f3b629b Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 12:03:28 -0700 Subject: [PATCH 30/38] Use dotnet cli for compilation in AppVeyor --- appveyor.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 03278fec7..c3397b206 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,5 @@ os: - - "WMF 5" - "Visual Studio 2015" - - "Windows Server 2012" # clone directory clone_folder: c:\projects\psscriptanalyzer @@ -13,13 +11,11 @@ install: build_script: - ps: | - $buildConfig = 'Release' - if ($PSVersionTable.PSVersion -lt [Version]'5.0') - { - $buildConfig = 'PSV3 Release' - } - & 'C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe' 'C:\projects\psscriptanalyzer\PSScriptAnalyzer.sln' /P:Configuration=$buildConfig /logger:'C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll' + Push-Location C:\projects\psscriptanalyzer + dotnet restore + C:\projects\psscriptanalyzer\buildCoreClr.ps1 -Framework net451 -Configuration Release -Build C:\projects\psscriptanalyzer\build.ps1 -BuildDocs + Pop-Location # branches to build branches: From c35d7201c54fc0d683212a244379719d83ed0eb0 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:31:59 -0700 Subject: [PATCH 31/38] Add nuget config file --- NuGet.Config | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 NuGet.Config diff --git a/NuGet.Config b/NuGet.Config new file mode 100644 index 000000000..1dc373452 --- /dev/null +++ b/NuGet.Config @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file From e6ecd273c1de9f4fd59a559108573f49706c5b5e Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:33:53 -0700 Subject: [PATCH 32/38] Change S.M.A version in project json --- Engine/project.json | 2 +- Rules/project.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Engine/project.json b/Engine/project.json index b6ec92d72..ddeb1a846 100644 --- a/Engine/project.json +++ b/Engine/project.json @@ -2,7 +2,7 @@ "name": "Microsoft.Windows.PowerShell.ScriptAnalyzer", "version": "1.7.0", "dependencies": { -"System.Management.Automation": "1.0.0-alpha.9.4808" +"System.Management.Automation": "1.0.0-alpha10" }, "frameworks": { "net451": { diff --git a/Rules/project.json b/Rules/project.json index 90818ea98..c0536d520 100644 --- a/Rules/project.json +++ b/Rules/project.json @@ -2,9 +2,9 @@ "name": "Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules", "version": "1.7.0", "dependencies": { - "System.Management.Automation": "1.0.0-alpha.9.4808", + "System.Management.Automation": "1.0.0-alpha10", "Engine": "1.7.0", - "Newtonsoft.Json": "*" + "Newtonsoft.Json": "9.0.1" }, "frameworks": { "net451": { From ef5bdf5a4bdf329a971c2bd1497685a6d4b5c6a6 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:41:18 -0700 Subject: [PATCH 33/38] Remove version number modification in buildCoreClr.ps1 --- buildCoreClr.ps1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/buildCoreClr.ps1 b/buildCoreClr.ps1 index e50de5230..d6bace3c0 100644 --- a/buildCoreClr.ps1 +++ b/buildCoreClr.ps1 @@ -39,6 +39,7 @@ if ($Framework -eq "netstandard1.6") $destinationDirBinaries = "$destinationDir\coreclr" } + if ($build) { @@ -73,8 +74,6 @@ if ($build) } } CopyToDestinationDir $itemsToCopyCommon $destinationDir - (Get-Content "$destinationDir\PSScriptAnalyzer.psd1") -replace "ModuleVersion = '1.6.0'","ModuleVersion = '0.0.1'" | Out-File "$destinationDir\PSScriptAnalyzer.psd1" -Encoding ascii - CopyToDestinationDir $itemsToCopyBinaries $destinationDirBinaries # Copy Settings File From 5122d567f4ae32fee4b9cb0054d4c63c9ec0e924 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:42:25 -0700 Subject: [PATCH 34/38] Add command data files to settings --- Engine/Settings/core-6.0.0-alpha-linux.json | 1465 +++++++++++++ Engine/Settings/core-6.0.0-alpha-windows.json | 1840 +++++++++++++++++ 2 files changed, 3305 insertions(+) create mode 100644 Engine/Settings/core-6.0.0-alpha-linux.json create mode 100644 Engine/Settings/core-6.0.0-alpha-windows.json diff --git a/Engine/Settings/core-6.0.0-alpha-linux.json b/Engine/Settings/core-6.0.0-alpha-linux.json new file mode 100644 index 000000000..c0443f0ed --- /dev/null +++ b/Engine/Settings/core-6.0.0-alpha-linux.json @@ -0,0 +1,1465 @@ +{ + "SchemaVersion": "0.0.1", + "Modules": [ + { + "Name": "Microsoft.PowerShell.Archive", + "Version": "1.0.1.0", + "ExportedCommands": [ + { + "Name": "Compress-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [-DestinationPath] [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath [-CompressionLevel ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Expand-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-DestinationPath] ] [-Force] [-WhatIf] [-Confirm] [] [[-DestinationPath] ] -LiteralPath [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Host", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "Start-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-LiteralPath] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-OutputDirectory] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Management", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "Add-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Clear-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Clear-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Clear-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Convert-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Copy-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] [] [[-Destination] ] -LiteralPath [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] []" + }, + { + "Name": "Copy-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Debug-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] -InputObject [-WhatIf] [-Confirm] []" + }, + { + "Name": "Get-ChildItem", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Filter] ] [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [] [[-Filter] ] -LiteralPath [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] []" + }, + { + "Name": "Get-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] [] -LiteralPath [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Get-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] []" + }, + { + "Name": "Get-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [[-Name] ] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-ItemPropertyValue", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Name] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [-Name] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PSProvider ] [-PSDrive ] [] [-Stack] [-StackName ] []" + }, + { + "Name": "Get-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ComputerName ] [-Module] [-FileVersionInfo] [] [[-Name] ] -IncludeUserName [] -Id [-ComputerName ] [-Module] [-FileVersionInfo] [] -Id -IncludeUserName [] -InputObject -IncludeUserName [] -InputObject [-ComputerName ] [-Module] [-FileVersionInfo] []" + }, + { + "Name": "Get-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Scope ] [-PSProvider ] [] [-LiteralName] [-Scope ] [-PSProvider ] []" + }, + { + "Name": "Get-PSProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-PSProvider] ] []" + }, + { + "Name": "Invoke-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Join-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ChildPath] [[-AdditionalChildPath] ] [-Resolve] [-Credential ] []" + }, + { + "Name": "Move-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [[-Destination] ] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Move-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [] [[-Path] ] -Name [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider] [-Root] [-Description ] [-Scope ] [-Persist] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Pop-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PassThru] [-StackName ] []" + }, + { + "Name": "Push-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [-StackName ] [] [-LiteralPath ] [-PassThru] [-StackName ] []" + }, + { + "Name": "Remove-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Remove-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] [] [-LiteralName] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-NewName] [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [-NewName] -LiteralPath [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-NewName] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-NewName] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Resolve-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Relative] [-Credential ] [] -LiteralPath [-Relative] [-Credential ] []" + }, + { + "Name": "Set-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Set-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Value] ] [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [[-Value] ] -LiteralPath [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Value] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Path] -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-Value] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [] -LiteralPath [-PassThru] [] [-PassThru] [-StackName ] []" + }, + { + "Name": "Split-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Parent] [-Resolve] [-Credential ] [] [-Path] [-NoQualifier] [-Resolve] [-Credential ] [] [-Path] [-Leaf] [-Resolve] [-Credential ] [] [-Path] [-Qualifier] [-Resolve] [-Credential ] [] [-Path] [-Resolve] [-IsAbsolute] [-Credential ] [] -LiteralPath [-Resolve] [-Credential ] []" + }, + { + "Name": "Start-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-ArgumentList] ] [-Credential ] [-WorkingDirectory ] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError ] [-RedirectStandardInput ] [-RedirectStandardOutput ] [-Wait] [-UseNewEnvironment] []" + }, + { + "Name": "Stop-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -Name [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Test-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] []" + }, + { + "Name": "Wait-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Timeout] ] [] [-Id] [[-Timeout] ] [] [[-Timeout] ] -InputObject []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Security", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "ConvertFrom-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-SecureString] [[-SecureKey] ] [] [-SecureString] [-Key ] []" + }, + { + "Name": "ConvertTo-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-String] [[-SecureKey] ] [] [-String] [-AsPlainText] [-Force] [] [-String] [-Key ] []" + }, + { + "Name": "Get-Credential", + "CommandType": "Cmdlet", + "ParameterSets": "[-Credential] [] [[-UserName] ] -Message []" + }, + { + "Name": "Get-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Scope] ] [-List] []" + }, + { + "Name": "Set-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[-ExecutionPolicy] [[-Scope] ] [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Utility", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "Format-Hex", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath [] -InputObject [-Encoding ] [-Raw] []" + }, + { + "Name": "Get-FileHash", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Algorithm ] [] -LiteralPath [-Algorithm ] [] -InputStream [-Algorithm ] []" + }, + { + "Name": "Import-PowerShellDataFile", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [] [-LiteralPath ] []" + }, + { + "Name": "New-Guid", + "CommandType": "Function", + "ParameterSets": "[]" + }, + { + "Name": "New-TemporaryFile", + "CommandType": "Function", + "ParameterSets": "[-WhatIf] [-Confirm] []" + }, + { + "Name": "Add-Member", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -TypeName [-PassThru] [] [-NotePropertyName] [-NotePropertyValue] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-MemberType] [-Name] [[-Value] ] [[-SecondValue] ] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-NotePropertyMembers] -InputObject [-TypeName ] [-Force] [-PassThru] []" + }, + { + "Name": "Add-Type", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeDefinition] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Name] [-MemberDefinition] [-Namespace ] [-UsingNamespace ] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Path] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -LiteralPath [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -AssemblyName [-PassThru] [-IgnoreWarnings] []" + }, + { + "Name": "Clear-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Compare-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-ReferenceObject] [-DifferenceObject] [-SyncWindow ] [-Property ] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "ConvertFrom-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-Header ] [] [-InputObject] -UseCulture [-Header ] []" + }, + { + "Name": "ConvertFrom-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] []" + }, + { + "Name": "ConvertFrom-StringData", + "CommandType": "Cmdlet", + "ParameterSets": "[-StringData] []" + }, + { + "Name": "ConvertTo-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-NoTypeInformation] [] [-InputObject] [-UseCulture] [-NoTypeInformation] []" + }, + { + "Name": "ConvertTo-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-Compress] []" + }, + { + "Name": "ConvertTo-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-NoTypeInformation] [-As ] []" + }, + { + "Name": "Debug-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[-Runspace] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] [-InstanceId] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] [] [-Id] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Enable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-WhatIf] [-Confirm] [] [-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Enable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [-BreakAll] [] [-RunspaceId] [-BreakAll] [] [-Runspace] [-BreakAll] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Export-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] [] [[-Name] ] -LiteralPath [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-NoTypeInformation] [-WhatIf] [-Confirm] [] [[-Path] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-UseCulture] [-NoTypeInformation] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -Path [-Force] [-NoClobber] [-IncludeScriptBlock] [] -InputObject -LiteralPath [-Force] [-NoClobber] [-IncludeScriptBlock] []" + }, + { + "Name": "Format-Custom", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Depth ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-List", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Table", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-HideTableHeaders] [-Wrap] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Wide", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-Column ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Get-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Exclude ] [-Scope ] [] [-Exclude ] [-Scope ] [-Definition ] []" + }, + { + "Name": "Get-Culture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-Format ] [] [[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-UFormat ] []" + }, + { + "Name": "Get-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [] [-EventIdentifier] []" + }, + { + "Name": "Get-EventSubscriber", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Force] [] [-SubscriptionId] [-Force] []" + }, + { + "Name": "Get-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] [-PowerShellVersion ] []" + }, + { + "Name": "Get-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Member", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-InputObject ] [-MemberType ] [-View ] [-Static] [-Force] []" + }, + { + "Name": "Get-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Script] ] [] -Variable [-Script ] [] -Command [-Script ] [] [-Type] [-Script ] [] [-Id] []" + }, + { + "Name": "Get-PSCallStack", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Random", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Maximum] ] [-SetSeed ] [-Minimum ] [] [-InputObject] [-SetSeed ] [-Count ] []" + }, + { + "Name": "Get-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] [-Id] [] [-InstanceId] []" + }, + { + "Name": "Get-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Get-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Get-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] []" + }, + { + "Name": "Get-UICulture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Unique", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject ] [-AsString] [] [-InputObject ] [-OnType] []" + }, + { + "Name": "Get-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ValueOnly] [-Include ] [-Exclude ] [-Scope ] []" + }, + { + "Name": "Group-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-NoElement] [-AsHashTable] [-AsString] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Import-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Import-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-IncludeTotalCount] [-Skip ] [-First ] [] -LiteralPath [-IncludeTotalCount] [-Skip ] [-First ] []" + }, + { + "Name": "Import-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] [-LiteralPath ] [-Header ] [-Encoding ] [] [[-Path] ] -UseCulture [-LiteralPath ] [-Header ] [-Encoding ] []" + }, + { + "Name": "Import-LocalizedData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-BindingVariable] ] [[-UICulture] ] [-BaseDirectory ] [-FileName ] [-SupportedCommand ] []" + }, + { + "Name": "Invoke-Expression", + "CommandType": "Cmdlet", + "ParameterSets": "[-Command] []" + }, + { + "Name": "Invoke-RestMethod", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-Method ] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Invoke-WebRequest", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Method ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Measure-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Expression] [-InputObject ] []" + }, + { + "Name": "Measure-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-Sum] [-Average] [-Maximum] [-Minimum] [] [[-Property] ] [-InputObject ] [-Line] [-Word] [-Character] [-IgnoreWhiteSpace] []" + }, + { + "Name": "New-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Sender] ] [[-EventArguments] ] [[-MessageData] ] []" + }, + { + "Name": "New-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeName] [[-ArgumentList] ] [-Property ] [] [-ComObject] [-Strict] [-Property ] []" + }, + { + "Name": "New-TimeSpan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Start] ] [[-End] ] [] [-Days ] [-Hours ] [-Minutes ] [-Seconds ] []" + }, + { + "Name": "New-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Description ] [-Option ] [-Visibility ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-File", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-Encoding] ] [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] [] [[-Encoding] ] -LiteralPath [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Stream] [-Width ] [-InputObject ] []" + }, + { + "Name": "Read-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Prompt] ] [-AsSecureString] []" + }, + { + "Name": "Register-EngineEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Register-ObjectEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-EventName] [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Remove-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-WhatIf] [-Confirm] [] [-EventIdentifier] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "-TypeData [-WhatIf] [-Confirm] [] [-TypeName] [-WhatIf] [-Confirm] [] -Path [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Select-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-Last ] [-First ] [-Skip ] [-Wait] [] [[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-SkipLast ] [] [-InputObject ] [-Unique] [-Wait] [-Index ] []" + }, + { + "Name": "Select-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Pattern] [-Path] [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -InputObject [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -LiteralPath [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] []" + }, + { + "Name": "Select-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-XPath] [-Xml] [-Namespace ] [] [-XPath] [-Path] [-Namespace ] [] [-XPath] -LiteralPath [-Namespace ] [] [-XPath] -Content [-Namespace ] []" + }, + { + "Name": "Set-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[-Date] [-DisplayHint ] [-WhatIf] [-Confirm] [] [-Adjust] [-DisplayHint ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Script] [-Line] [[-Column] ] [-Action ] [] [[-Script] ] -Command [-Action ] [] [[-Script] ] -Variable [-Action ] [-Mode ] []" + }, + { + "Name": "Set-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Option] ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [-PassThru] [] [-Name] [-RemoveListener ] [] [-Name] [-RemoveFileListener ] []" + }, + { + "Name": "Set-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Include ] [-Exclude ] [-Description ] [-Option ] [-Force] [-Visibility ] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Sort-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Descending] [-Unique] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Start-Sleep", + "CommandType": "Cmdlet", + "ParameterSets": "[-Seconds] [] -Milliseconds []" + }, + { + "Name": "Tee-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [-InputObject ] [-Append] [] -LiteralPath [-InputObject ] [] -Variable [-InputObject ] []" + }, + { + "Name": "Trace-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Expression] [[-Option] ] [-InputObject ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [] [-Name] [-Command] [[-Option] ] [-InputObject ] [-ArgumentList ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] []" + }, + { + "Name": "Unregister-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-Force] [-WhatIf] [-Confirm] [] [-SubscriptionId] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] [] -TypeName [-MemberType ] [-MemberName ] [-Value ] [-SecondValue ] [-TypeConverter ] [-TypeAdapter ] [-SerializationMethod ] [-TargetTypeForDeserialization ] [-SerializationDepth ] [-DefaultDisplayProperty ] [-InheritPropertySerializationSet ] [-StringSerializationSource ] [-DefaultDisplayPropertySet ] [-DefaultKeyPropertySet ] [-PropertySerializationSet ] [-Force] [-WhatIf] [-Confirm] [] [-TypeData] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Wait-Debugger", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Wait-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Timeout ] []" + }, + { + "Name": "Write-Debug", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Error", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -Exception [-Message ] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -ErrorRecord [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] []" + }, + { + "Name": "Write-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Object] ] [-NoNewline] [-Separator ] [-ForegroundColor ] [-BackgroundColor ] []" + }, + { + "Name": "Write-Information", + "CommandType": "Cmdlet", + "ParameterSets": "[-MessageData] [[-Tags] ] []" + }, + { + "Name": "Write-Output", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-NoEnumerate] []" + }, + { + "Name": "Write-Progress", + "CommandType": "Cmdlet", + "ParameterSets": "[-Activity] [[-Status] ] [[-Id] ] [-PercentComplete ] [-SecondsRemaining ] [-CurrentOperation ] [-ParentId ] [-Completed] [-SourceId ] []" + }, + { + "Name": "Write-Verbose", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Warning", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + } + ] + }, + { + "Name": "PackageManagement", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Find-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-AllVersions] [-Source ] [-IncludeDependencies] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Destination ] [-ExcludeVersion] [-Scope ] [] [[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Get-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ListAvailable] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Import-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Install-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-InputObject] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Install-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Credential ] [-Scope ] [-Source ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Save-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Set-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Location ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Uninstall-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Unregister-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Source] ] [-Location ] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + } + ] + }, + { + "Name": "Pester", + "Version": "3.3.9", + "ExportedCommands": [ + { + "Name": "AfterAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "AfterEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Assert-MockCalled", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-Times] ] [[-ParameterFilter] ] [[-ModuleName] ] [[-Scope] ] [-Exactly] [] [-CommandName] [[-Times] ] [[-ModuleName] ] [[-Scope] ] -ExclusiveFilter [-Exactly] []" + }, + { + "Name": "Assert-VerifiableMocks", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Context", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] []" + }, + { + "Name": "Describe", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] [-Tags ] []" + }, + { + "Name": "Get-MockDynamicParameters", + "CommandType": "Function", + "ParameterSets": "-CmdletName [-Parameters ] [-Cmdlet ] [] -FunctionName [-ModuleName ] [-Parameters ] [-Cmdlet ] []" + }, + { + "Name": "Get-TestDriveItem", + "CommandType": "Function", + "ParameterSets": "[[-Path] ]" + }, + { + "Name": "In", + "CommandType": "Function", + "ParameterSets": "[[-path] ] [[-execute] ]" + }, + { + "Name": "InModuleScope", + "CommandType": "Function", + "ParameterSets": "[-ModuleName] [-ScriptBlock] []" + }, + { + "Name": "Invoke-Mock", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-ModuleName] ] [[-BoundParameters] ] [[-ArgumentList] ] [[-CallerSessionState] ] []" + }, + { + "Name": "Invoke-Pester", + "CommandType": "Function", + "ParameterSets": "[[-Script] ] [[-TestName] ] [-EnableExit] [[-OutputXml] ] [[-Tag] ] [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] [] [[-Script] ] [[-TestName] ] [-EnableExit] [[-Tag] ] -OutputFile -OutputFormat [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] []" + }, + { + "Name": "It", + "CommandType": "Function", + "ParameterSets": "[-name] [[-test] ] [-TestCases ] [] [-name] [[-test] ] [-TestCases ] [-Pending] [] [-name] [[-test] ] [-TestCases ] [-Skip] []" + }, + { + "Name": "Mock", + "CommandType": "Function", + "ParameterSets": "[[-CommandName] ] [[-MockWith] ] [[-ParameterFilter] ] [[-ModuleName] ] [-Verifiable]" + }, + { + "Name": "New-Fixture", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [-Name] []" + }, + { + "Name": "Set-DynamicParameterVariables", + "CommandType": "Function", + "ParameterSets": "[-SessionState] [[-Parameters] ] [[-Metadata] ] []" + }, + { + "Name": "Setup", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [[-Content] ] [-Dir] [-File] [-PassThru]" + }, + { + "Name": "Should", + "CommandType": "Function", + "ParameterSets": "" + } + ] + }, + { + "Name": "PowerShellGet", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Command", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Find-RoleCapability", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Get-InstalledModule", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] []" + }, + { + "Name": "Get-InstalledScript", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] []" + }, + { + "Name": "Get-PSRepository", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Install-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Install-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] -Description [-Version ] [-Author ] [-Guid ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Module", + "CommandType": "Function", + "ParameterSets": "-Name [-RequiredVersion ] [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] [] -Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Script", + "CommandType": "Function", + "ParameterSets": "-Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [-SourceLocation] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] [] -Default [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] []" + }, + { + "Name": "Save-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Save-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-SourceLocation] ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] []" + }, + { + "Name": "Test-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Uninstall-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Uninstall-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Unregister-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] []" + }, + { + "Name": "Update-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ModuleManifest", + "CommandType": "Function", + "ParameterSets": "[-Path] [-NestedModules ] [-Guid ] [-Author ] [-CompanyName ] [-Copyright ] [-RootModule ] [-ModuleVersion ] [-Description ] [-ProcessorArchitecture ] [-CompatiblePSEditions ] [-PowerShellVersion ] [-ClrVersion ] [-DotNetFrameworkVersion ] [-PowerShellHostName ] [-PowerShellHostVersion ] [-RequiredModules ] [-TypesToProcess ] [-FormatsToProcess ] [-ScriptsToProcess ] [-RequiredAssemblies ] [-FileList ] [-ModuleList ] [-FunctionsToExport ] [-AliasesToExport ] [-VariablesToExport ] [-CmdletsToExport ] [-DscResourcesToExport ] [-PrivateData ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-HelpInfoUri ] [-PassThru] [-DefaultCommandPrefix ] [-ExternalModuleDependencies ] [-PackageManagementProviders ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-LiteralPath] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "PSDesiredStateConfiguration", + "Version": "0.0", + "ExportedCommands": [ + { + "Name": "Add-NodeKeys", + "CommandType": "Function", + "ParameterSets": "[-ResourceKey] [-keywordName] []" + }, + { + "Name": "AddDscResourceProperty", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "AddDscResourcePropertyFromMetadata", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "CheckResourceFound", + "CommandType": "Function", + "ParameterSets": "[[-names] ] [[-Resources] ]" + }, + { + "Name": "Configuration", + "CommandType": "Function", + "ParameterSets": "[[-ResourceModuleTuplesToImport] ] [[-OutputPath] ] [[-Name] ] [[-Body] ] [[-ArgsToBody] ] [[-ConfigurationData] ] [[-InstanceName] ] []" + }, + { + "Name": "ConvertTo-MOFInstance", + "CommandType": "Function", + "ParameterSets": "[-Type] [-Properties] []" + }, + { + "Name": "Generate-VersionInfo", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [-Value] []" + }, + { + "Name": "Get-CompatibleVersionAddtionaPropertiesStr", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-ComplexResourceQualifier", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [[-Module] ] [-Syntax] []" + }, + { + "Name": "Get-DSCResourceModules", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-EncryptedPassword", + "CommandType": "Function", + "ParameterSets": "[[-Value] ] []" + }, + { + "Name": "Get-InnerMostErrorRecord", + "CommandType": "Function", + "ParameterSets": "[-ErrorRecord] []" + }, + { + "Name": "Get-MofInstanceName", + "CommandType": "Function", + "ParameterSets": "[[-mofInstance] ]" + }, + { + "Name": "Get-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-aliasId] []" + }, + { + "Name": "Get-PositionInfo", + "CommandType": "Function", + "ParameterSets": "[[-sourceMetadata] ]" + }, + { + "Name": "Get-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigDocumentInstVersionInfo", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigurationProcessed", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PublicKeyFromFile", + "CommandType": "Function", + "ParameterSets": "[-certificatefile] []" + }, + { + "Name": "Get-PublicKeyFromStore", + "CommandType": "Function", + "ParameterSets": "[-certificateid] []" + }, + { + "Name": "GetCompositeResource", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-configInfo] [[-ignoreParameters] ] [-modules] []" + }, + { + "Name": "GetImplementingModulePath", + "CommandType": "Function", + "ParameterSets": "[-schemaFileName] []" + }, + { + "Name": "GetModule", + "CommandType": "Function", + "ParameterSets": "[-modules] [-schemaFileName] []" + }, + { + "Name": "GetPatterns", + "CommandType": "Function", + "ParameterSets": "[[-names] ]" + }, + { + "Name": "GetResourceFromKeyword", + "CommandType": "Function", + "ParameterSets": "[-keyword] [[-patterns] ] [-modules] []" + }, + { + "Name": "GetSyntax", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "ImportCimAndScriptKeywordsFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-resource] [[-functionsToDefine] ] []" + }, + { + "Name": "ImportClassResourcesFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-Resources] [[-functionsToDefine] ] []" + }, + { + "Name": "Initialize-ConfigurationRuntimeState", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] []" + }, + { + "Name": "IsHiddenResource", + "CommandType": "Function", + "ParameterSets": "[-ResourceName] []" + }, + { + "Name": "IsPatternMatched", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-Name] []" + }, + { + "Name": "New-DscChecksum", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-OutPath] ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Node", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [[-Name] ] [-Value] [-sourceMetadata] []" + }, + { + "Name": "ReadEnvironmentFile", + "CommandType": "Function", + "ParameterSets": "[-FilePath] []" + }, + { + "Name": "Set-NodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-exclusiveResource] []" + }, + { + "Name": "Set-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedManagers] []" + }, + { + "Name": "Set-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-requiredResourceList] []" + }, + { + "Name": "Set-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedResourceSources] []" + }, + { + "Name": "Set-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "[[-nodeName] ] []" + }, + { + "Name": "Set-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "[[-documentText] ] []" + }, + { + "Name": "Set-PSMetaConfigDocInsProcessedBeforeMeta", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSMetaConfigVersionInfoV2", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "StrongConnect", + "CommandType": "Function", + "ParameterSets": "[[-resourceId] ]" + }, + { + "Name": "Test-ConflictingResources", + "CommandType": "Function", + "ParameterSets": "[[-keyword] ] [-properties] [-keywordData] []" + }, + { + "Name": "Test-ModuleReloadRequired", + "CommandType": "Function", + "ParameterSets": "[-SchemaFilePath] []" + }, + { + "Name": "Test-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-instanceText] []" + }, + { + "Name": "Test-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "ThrowError", + "CommandType": "Function", + "ParameterSets": "[-ExceptionName] [-ExceptionMessage] [[-ExceptionObject] ] [-errorId] [-errorCategory] []" + }, + { + "Name": "Update-ConfigurationDocumentRef", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] [-ConfigurationName] []" + }, + { + "Name": "Update-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Update-DependsOn", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "Update-LocalConfigManager", + "CommandType": "Function", + "ParameterSets": "[[-localConfigManager] ] [[-resourceManagers] ] [[-reportManagers] ] [[-downloadManagers] ] [[-partialConfigurations] ]" + }, + { + "Name": "Update-ModuleVersion", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "ValidateNoCircleInNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeManager", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResourceSource", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNoNameNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateUpdate-ConfigurationData", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationData] ] []" + }, + { + "Name": "Write-Log", + "CommandType": "Function", + "ParameterSets": "[-message] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Write-MetaConfigFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + }, + { + "Name": "Write-NodeMOFFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + }, + { + "Name": "WriteFile", + "CommandType": "Function", + "ParameterSets": "[-Value] [-Path] []" + } + ] + }, + { + "Name": "PSReadLine", + "Version": "1.2", + "ExportedCommands": [ + { + "Name": "PSConsoleHostReadline", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Bound] [-Unbound] []" + }, + { + "Name": "Get-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Remove-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ScriptBlock] [-BriefDescription ] [-Description ] [-ViMode ] [] [-Chord] [-Function] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[-EditMode ] [-ContinuationPrompt ] [-ContinuationPromptForegroundColor ] [-ContinuationPromptBackgroundColor ] [-EmphasisForegroundColor ] [-EmphasisBackgroundColor ] [-ErrorForegroundColor ] [-ErrorBackgroundColor ] [-HistoryNoDuplicates] [-AddToHistoryHandler ] [-CommandValidationHandler ] [-HistorySearchCursorMovesToEnd] [-MaximumHistoryCount ] [-MaximumKillRingCount ] [-ResetTokenColors] [-ShowToolTips] [-ExtraPromptLineCount ] [-DingTone ] [-DingDuration ] [-BellStyle ] [-CompletionQueryItems ] [-WordDelimiters ] [-HistorySearchCaseSensitive] [-HistorySaveStyle ] [-HistorySavePath ] [-ViModeIndicator ] [] [-TokenKind] [[-ForegroundColor] ] [[-BackgroundColor] ] []" + } + ] + } + ] +} diff --git a/Engine/Settings/core-6.0.0-alpha-windows.json b/Engine/Settings/core-6.0.0-alpha-windows.json new file mode 100644 index 000000000..9b992b95c --- /dev/null +++ b/Engine/Settings/core-6.0.0-alpha-windows.json @@ -0,0 +1,1840 @@ +{ + "SchemaVersion": "0.0.1", + "Modules": [ + { + "Name": "CimCmdlets", + "Version": "1.0.0.0", + "ExportedCommands": [ + { + "Name": "Get-CimAssociatedInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Association] ] [-ResultClassName ] [-Namespace ] [-OperationTimeoutSec ] [-ResourceUri ] [-ComputerName ] [-KeyOnly] [] [-InputObject] [[-Association] ] -CimSession [-ResultClassName ] [-Namespace ] [-OperationTimeoutSec ] [-ResourceUri ] [-KeyOnly] []" + }, + { + "Name": "Get-CimClass", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ClassName] ] [[-Namespace] ] [-OperationTimeoutSec ] [-ComputerName ] [-MethodName ] [-PropertyName ] [-QualifierName ] [] [[-ClassName] ] [[-Namespace] ] -CimSession [-OperationTimeoutSec ] [-MethodName ] [-PropertyName ] [-QualifierName ] []" + }, + { + "Name": "Get-CimInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ClassName] [-ComputerName ] [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] [-Filter ] [-Property ] [] -CimSession -Query [-ResourceUri ] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] [] [-InputObject] -CimSession [-ResourceUri ] [-OperationTimeoutSec ] [] [-ClassName] -CimSession [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] [-Filter ] [-Property ] [] -CimSession -ResourceUri [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-Shallow] [-Filter ] [-Property ] [] -ResourceUri [-ComputerName ] [-KeyOnly] [-Namespace ] [-OperationTimeoutSec ] [-Shallow] [-Filter ] [-Property ] [] [-InputObject] [-ResourceUri ] [-ComputerName ] [-OperationTimeoutSec ] [] -Query [-ResourceUri ] [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-Shallow] []" + }, + { + "Name": "Get-CimSession", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [] [-Id] [] -InstanceId [] -Name []" + }, + { + "Name": "Invoke-CimMethod", + "CommandType": "Cmdlet", + "ParameterSets": "[-ClassName] [[-Arguments] ] [-MethodName] [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-ClassName] [[-Arguments] ] [-MethodName] -CimSession [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-InputObject] [[-Arguments] ] [-MethodName] [-ResourceUri ] [-ComputerName ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-InputObject] [[-Arguments] ] [-MethodName] -CimSession [-ResourceUri ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [[-Arguments] ] [-MethodName] -ResourceUri [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [[-Arguments] ] [-MethodName] -ResourceUri -CimSession [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-CimClass] [[-Arguments] ] [-MethodName] [-ComputerName ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-CimClass] [[-Arguments] ] [-MethodName] -CimSession [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [[-Arguments] ] [-MethodName] -Query [-QueryDialect ] [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [[-Arguments] ] [-MethodName] -Query -CimSession [-QueryDialect ] [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-CimInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ClassName] [[-Property] ] [-Key ] [-Namespace ] [-OperationTimeoutSec ] [-ComputerName ] [-ClientOnly] [-WhatIf] [-Confirm] [] [-ClassName] [[-Property] ] -CimSession [-Key ] [-Namespace ] [-OperationTimeoutSec ] [-ClientOnly] [-WhatIf] [-Confirm] [] [[-Property] ] -ResourceUri [-Key ] [-Namespace ] [-OperationTimeoutSec ] [-ComputerName ] [-WhatIf] [-Confirm] [] [[-Property] ] -ResourceUri -CimSession [-Key ] [-Namespace ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-CimClass] [[-Property] ] -CimSession [-OperationTimeoutSec ] [-ClientOnly] [-WhatIf] [-Confirm] [] [-CimClass] [[-Property] ] [-OperationTimeoutSec ] [-ComputerName ] [-ClientOnly] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-CimSession", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [[-Credential] ] [-Authentication ] [-Name ] [-OperationTimeoutSec ] [-SkipTestConnection] [-Port ] [-SessionOption ] [] [[-ComputerName] ] [-CertificateThumbprint ] [-Name ] [-OperationTimeoutSec ] [-SkipTestConnection] [-Port ] [-SessionOption ] []" + }, + { + "Name": "New-CimSessionOption", + "CommandType": "Cmdlet", + "ParameterSets": "[-Protocol] [-UICulture ] [-Culture ] [] [-NoEncryption] [-SkipCACheck] [-SkipCNCheck] [-SkipRevocationCheck] [-EncodePortInServicePrincipalName] [-Encoding ] [-HttpPrefix ] [-MaxEnvelopeSizeKB ] [-ProxyAuthentication ] [-ProxyCertificateThumbprint ] [-ProxyCredential ] [-ProxyType ] [-UseSsl] [-UICulture ] [-Culture ] [] [-Impersonation ] [-PacketIntegrity] [-PacketPrivacy] [-UICulture ] [-Culture ] []" + }, + { + "Name": "Register-CimIndicationEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-ClassName] [[-SourceIdentifier] ] [[-Action] ] [-Namespace ] [-OperationTimeoutSec ] [-ComputerName ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] [-ClassName] [[-SourceIdentifier] ] [[-Action] ] -CimSession [-Namespace ] [-OperationTimeoutSec ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] [-Query] [[-SourceIdentifier] ] [[-Action] ] -CimSession [-Namespace ] [-QueryDialect ] [-OperationTimeoutSec ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] [] [-Query] [[-SourceIdentifier] ] [[-Action] ] [-Namespace ] [-QueryDialect ] [-OperationTimeoutSec ] [-ComputerName ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Remove-CimInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-ResourceUri ] [-ComputerName ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-InputObject] -CimSession [-ResourceUri ] [-OperationTimeoutSec ] [-WhatIf] [-Confirm] [] [-Query] [[-Namespace] ] -CimSession [-OperationTimeoutSec ] [-QueryDialect ] [-WhatIf] [-Confirm] [] [-Query] [[-Namespace] ] [-ComputerName ] [-OperationTimeoutSec ] [-QueryDialect ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-CimSession", + "CommandType": "Cmdlet", + "ParameterSets": "[-CimSession] [-WhatIf] [-Confirm] [] [-ComputerName] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] -InstanceId [-WhatIf] [-Confirm] [] -Name [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-CimInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-ComputerName ] [-ResourceUri ] [-OperationTimeoutSec ] [-Property ] [-PassThru] [-WhatIf] [-Confirm] [] [-InputObject] -CimSession [-ResourceUri ] [-OperationTimeoutSec ] [-Property ] [-PassThru] [-WhatIf] [-Confirm] [] [-Query] -CimSession -Property [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-PassThru] [-WhatIf] [-Confirm] [] [-Query] -Property [-ComputerName ] [-Namespace ] [-OperationTimeoutSec ] [-QueryDialect ] [-PassThru] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Archive", + "Version": "1.0.1.0", + "ExportedCommands": [ + { + "Name": "Compress-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [-DestinationPath] [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath [-CompressionLevel ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Expand-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-DestinationPath] ] [-Force] [-WhatIf] [-Confirm] [] [[-DestinationPath] ] -LiteralPath [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Diagnostics", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "Get-WinEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[[-LogName] ] [-MaxEvents ] [-ComputerName ] [-Credential ] [-FilterXPath ] [-Force] [-Oldest] [] [-ListLog] [-ComputerName ] [-Credential ] [-Force] [] [-ListProvider] [-ComputerName ] [-Credential ] [] [-ProviderName] [-MaxEvents ] [-ComputerName ] [-Credential ] [-FilterXPath ] [-Force] [-Oldest] [] [-Path] [-MaxEvents ] [-Credential ] [-FilterXPath ] [-Oldest] [] [-FilterHashtable] [-MaxEvents ] [-ComputerName ] [-Credential ] [-Force] [-Oldest] [] [-FilterXml] [-MaxEvents ] [-ComputerName ] [-Credential ] [-Oldest] []" + }, + { + "Name": "New-WinEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-ProviderName] [-Id] [[-Payload] ] [-Version ] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Host", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "Start-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-LiteralPath] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-OutputDirectory] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + } + ] + }, + { + "Name": "Microsoft.PowerShell.LocalAccounts", + "Version": "1.0.0.0", + "ExportedCommands": [ + { + "Name": "Add-LocalGroupMember", + "CommandType": "Cmdlet", + "ParameterSets": "[-Group] [-Member] [-WhatIf] [-Confirm] [] [-Name] [-Member] [-WhatIf] [-Confirm] [] [-SID] [-Member] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-SID] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Enable-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-SID] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Get-LocalGroup", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] [[-SID] ] []" + }, + { + "Name": "Get-LocalGroupMember", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Member] ] [] [-Group] [[-Member] ] [] [-SID] [[-Member] ] []" + }, + { + "Name": "Get-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] [[-SID] ] []" + }, + { + "Name": "New-LocalGroup", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Description ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] -Password [-AccountExpires ] [-AccountNeverExpires] [-Description ] [-Disabled] [-FullName ] [-PasswordNeverExpires] [-UserMayNotChangePassword] [-WhatIf] [-Confirm] [] [-Name] -NoPassword [-AccountExpires ] [-AccountNeverExpires] [-Description ] [-Disabled] [-FullName ] [-UserMayNotChangePassword] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-LocalGroup", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-SID] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-LocalGroupMember", + "CommandType": "Cmdlet", + "ParameterSets": "[-Group] [-Member] [-WhatIf] [-Confirm] [] [-Name] [-Member] [-WhatIf] [-Confirm] [] [-SID] [-Member] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-SID] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-LocalGroup", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-NewName] [-WhatIf] [-Confirm] [] [-Name] [-NewName] [-WhatIf] [-Confirm] [] [-SID] [-NewName] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-NewName] [-WhatIf] [-Confirm] [] [-Name] [-NewName] [-WhatIf] [-Confirm] [] [-SID] [-NewName] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-LocalGroup", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] -Description [-WhatIf] [-Confirm] [] [-Name] -Description [-WhatIf] [-Confirm] [] [-SID] -Description [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-LocalUser", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-AccountExpires ] [-AccountNeverExpires] [-Description ] [-FullName ] [-Password ] [-PasswordNeverExpires ] [-UserMayChangePassword ] [-WhatIf] [-Confirm] [] [-InputObject] [-AccountExpires ] [-AccountNeverExpires] [-Description ] [-FullName ] [-Password ] [-PasswordNeverExpires ] [-UserMayChangePassword ] [-WhatIf] [-Confirm] [] [-SID] [-AccountExpires ] [-AccountNeverExpires] [-Description ] [-FullName ] [-Password ] [-PasswordNeverExpires ] [-UserMayChangePassword ] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Management", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "Add-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Clear-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Clear-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Clear-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Convert-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Copy-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] [] [[-Destination] ] -LiteralPath [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] []" + }, + { + "Name": "Copy-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Debug-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] -InputObject [-WhatIf] [-Confirm] []" + }, + { + "Name": "Get-ChildItem", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Filter] ] [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [] [[-Filter] ] -LiteralPath [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] []" + }, + { + "Name": "Get-ComputerInfo", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] []" + }, + { + "Name": "Get-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] [] -LiteralPath [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Get-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] []" + }, + { + "Name": "Get-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [[-Name] ] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-ItemPropertyValue", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Name] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [-Name] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PSProvider ] [-PSDrive ] [] [-Stack] [-StackName ] []" + }, + { + "Name": "Get-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ComputerName ] [-Module] [-FileVersionInfo] [] [[-Name] ] -IncludeUserName [] -Id -IncludeUserName [] -Id [-ComputerName ] [-Module] [-FileVersionInfo] [] -InputObject [-ComputerName ] [-Module] [-FileVersionInfo] [] -InputObject -IncludeUserName []" + }, + { + "Name": "Get-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Scope ] [-PSProvider ] [] [-LiteralName] [-Scope ] [-PSProvider ] []" + }, + { + "Name": "Get-PSProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-PSProvider] ] []" + }, + { + "Name": "Get-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ComputerName ] [-DependentServices] [-RequiredServices] [-Include ] [-Exclude ] [] -DisplayName [-ComputerName ] [-DependentServices] [-RequiredServices] [-Include ] [-Exclude ] [] [-ComputerName ] [-DependentServices] [-RequiredServices] [-Include ] [-Exclude ] [-InputObject ] []" + }, + { + "Name": "Get-TimeZone", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] -Id [] -ListAvailable []" + }, + { + "Name": "Invoke-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Join-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ChildPath] [[-AdditionalChildPath] ] [-Resolve] [-Credential ] []" + }, + { + "Name": "Move-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [[-Destination] ] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Move-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [] [[-Path] ] -Name [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider] [-Root] [-Description ] [-Scope ] [-Persist] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-BinaryPathName] [-DisplayName ] [-Description ] [-StartupType ] [-Credential ] [-DependsOn ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Pop-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PassThru] [-StackName ] []" + }, + { + "Name": "Push-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [-StackName ] [] [-LiteralPath ] [-PassThru] [-StackName ] []" + }, + { + "Name": "Remove-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Remove-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] [] [-LiteralName] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-Computer", + "CommandType": "Cmdlet", + "ParameterSets": "[-NewName] [-ComputerName ] [-PassThru] [-DomainCredential ] [-LocalCredential ] [-Force] [-Restart] [-WsmanAuthentication ] [-Protocol ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-NewName] [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [-NewName] -LiteralPath [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-NewName] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-NewName] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Resolve-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Relative] [-Credential ] [] -LiteralPath [-Relative] [-Credential ] []" + }, + { + "Name": "Restart-Computer", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [[-Credential] ] [-DcomAuthentication ] [-Impersonation ] [-WsmanAuthentication ] [-Protocol ] [-Force] [-Wait] [-Timeout ] [-For ] [-Delay ] [-WhatIf] [-Confirm] [] [[-ComputerName] ] [[-Credential] ] [-AsJob] [-DcomAuthentication ] [-Impersonation ] [-Force] [-ThrottleLimit ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Restart-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Force] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-Name] [-Force] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] -DisplayName [-Force] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Resume-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-Name] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] -DisplayName [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Set-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Value] ] [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [[-Value] ] -LiteralPath [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Value] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Path] -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-Value] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [] -LiteralPath [-PassThru] [] [-PassThru] [-StackName ] []" + }, + { + "Name": "Set-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-ComputerName ] [-DisplayName ] [-Description ] [-StartupType ] [-Status ] [-PassThru] [-WhatIf] [-Confirm] [] [-ComputerName ] [-DisplayName ] [-Description ] [-StartupType ] [-Status ] [-InputObject ] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-TimeZone", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PassThru] [-WhatIf] [-Confirm] [] -Id [-PassThru] [-WhatIf] [-Confirm] [] [-InputObject] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Split-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Parent] [-Resolve] [-Credential ] [] [-Path] [-Leaf] [-Resolve] [-Credential ] [] [-Path] [-Qualifier] [-Resolve] [-Credential ] [] [-Path] [-NoQualifier] [-Resolve] [-Credential ] [] [-Path] [-Resolve] [-IsAbsolute] [-Credential ] [] -LiteralPath [-Resolve] [-Credential ] []" + }, + { + "Name": "Start-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-ArgumentList] ] [-Credential ] [-WorkingDirectory ] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError ] [-RedirectStandardInput ] [-RedirectStandardOutput ] [-Wait] [-UseNewEnvironment] []" + }, + { + "Name": "Start-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-Name] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] -DisplayName [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Computer", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [[-Credential] ] [-AsJob] [-DcomAuthentication ] [-WsmanAuthentication ] [-Protocol ] [-Impersonation ] [-ThrottleLimit ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -Name [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Force] [-NoWait] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-Name] [-Force] [-NoWait] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] -DisplayName [-Force] [-NoWait] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Suspend-Service", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-Name] [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] -DisplayName [-PassThru] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Test-Connection", + "CommandType": "Cmdlet", + "ParameterSets": "[-ComputerName] [-AsJob] [-DcomAuthentication ] [-WsmanAuthentication ] [-Protocol ] [-BufferSize ] [-Count ] [-Impersonation ] [-ThrottleLimit ] [-TimeToLive ] [-Delay ] [] [-ComputerName] [-Source] [-AsJob] [-DcomAuthentication ] [-WsmanAuthentication ] [-Protocol ] [-BufferSize ] [-Count ] [-Credential ] [-Impersonation ] [-ThrottleLimit ] [-TimeToLive ] [-Delay ] [] [-ComputerName] [-DcomAuthentication ] [-WsmanAuthentication ] [-Protocol ] [-BufferSize ] [-Count ] [-Impersonation ] [-TimeToLive ] [-Delay ] [-Quiet] []" + }, + { + "Name": "Test-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] []" + }, + { + "Name": "Wait-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Timeout] ] [] [-Id] [[-Timeout] ] [] [[-Timeout] ] -InputObject []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Security", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "ConvertFrom-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-SecureString] [[-SecureKey] ] [] [-SecureString] [-Key ] []" + }, + { + "Name": "ConvertTo-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-String] [[-SecureKey] ] [] [-String] [-AsPlainText] [-Force] [] [-String] [-Key ] []" + }, + { + "Name": "Get-Acl", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Audit] [-Filter ] [-Include ] [-Exclude ] [] -InputObject [-Audit] [-Filter ] [-Include ] [-Exclude ] [] [-LiteralPath ] [-Audit] [-Filter ] [-Include ] [-Exclude ] []" + }, + { + "Name": "Get-AuthenticodeSignature", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [] -LiteralPath [] -SourcePathOrExtension -Content []" + }, + { + "Name": "Get-Credential", + "CommandType": "Cmdlet", + "ParameterSets": "[-Credential] [] [[-UserName] ] -Message []" + }, + { + "Name": "Get-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Scope] ] [-List] []" + }, + { + "Name": "New-FileCatalog", + "CommandType": "Cmdlet", + "ParameterSets": "[-CatalogFilePath] [[-Path] ] [-CatalogVersion ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Acl", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-AclObject] [-ClearCentralAccessPolicy] [-Passthru] [-Filter ] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-InputObject] [-AclObject] [-Passthru] [-Filter ] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] [] [-AclObject] -LiteralPath [-ClearCentralAccessPolicy] [-Passthru] [-Filter ] [-Include ] [-Exclude ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-AuthenticodeSignature", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [-Certificate] [-IncludeChain ] [-TimestampServer ] [-HashAlgorithm ] [-Force] [-WhatIf] [-Confirm] [] [-Certificate] -LiteralPath [-IncludeChain ] [-TimestampServer ] [-HashAlgorithm ] [-Force] [-WhatIf] [-Confirm] [] [-Certificate] -SourcePathOrExtension -Content [-IncludeChain ] [-TimestampServer ] [-HashAlgorithm ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[-ExecutionPolicy] [[-Scope] ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Test-FileCatalog", + "CommandType": "Cmdlet", + "ParameterSets": "[-CatalogFilePath] [[-Path] ] [-Detailed] [-FilesToSkip ] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Utility", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "ConvertFrom-SddlString", + "CommandType": "Function", + "ParameterSets": "[-Sddl] [-Type ] []" + }, + { + "Name": "Format-Hex", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath [] -InputObject [-Encoding ] [-Raw] []" + }, + { + "Name": "Get-FileHash", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Algorithm ] [] -LiteralPath [-Algorithm ] [] -InputStream [-Algorithm ] []" + }, + { + "Name": "Import-PowerShellDataFile", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [] [-LiteralPath ] []" + }, + { + "Name": "New-Guid", + "CommandType": "Function", + "ParameterSets": "[]" + }, + { + "Name": "New-TemporaryFile", + "CommandType": "Function", + "ParameterSets": "[-WhatIf] [-Confirm] []" + }, + { + "Name": "Add-Member", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -TypeName [-PassThru] [] [-NotePropertyName] [-NotePropertyValue] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-MemberType] [-Name] [[-Value] ] [[-SecondValue] ] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-NotePropertyMembers] -InputObject [-TypeName ] [-Force] [-PassThru] []" + }, + { + "Name": "Add-Type", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeDefinition] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Name] [-MemberDefinition] [-Namespace ] [-UsingNamespace ] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Path] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -LiteralPath [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -AssemblyName [-PassThru] [-IgnoreWarnings] []" + }, + { + "Name": "Clear-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Compare-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-ReferenceObject] [-DifferenceObject] [-SyncWindow ] [-Property ] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "ConvertFrom-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-Header ] [] [-InputObject] -UseCulture [-Header ] []" + }, + { + "Name": "ConvertFrom-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] []" + }, + { + "Name": "ConvertFrom-StringData", + "CommandType": "Cmdlet", + "ParameterSets": "[-StringData] []" + }, + { + "Name": "ConvertTo-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-NoTypeInformation] [] [-InputObject] [-UseCulture] [-NoTypeInformation] []" + }, + { + "Name": "ConvertTo-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-Compress] []" + }, + { + "Name": "ConvertTo-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-NoTypeInformation] [-As ] []" + }, + { + "Name": "Debug-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[-Runspace] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] [-InstanceId] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] [] [-Id] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Enable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-WhatIf] [-Confirm] [] [-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Enable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [-BreakAll] [] [-Runspace] [-BreakAll] [] [-RunspaceId] [-BreakAll] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Export-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] [] [[-Name] ] -LiteralPath [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-NoTypeInformation] [-WhatIf] [-Confirm] [] [[-Path] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-UseCulture] [-NoTypeInformation] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -Path [-Force] [-NoClobber] [-IncludeScriptBlock] [] -InputObject -LiteralPath [-Force] [-NoClobber] [-IncludeScriptBlock] []" + }, + { + "Name": "Format-Custom", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Depth ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-List", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Table", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-HideTableHeaders] [-Wrap] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Wide", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-Column ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Get-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Exclude ] [-Scope ] [] [-Exclude ] [-Scope ] [-Definition ] []" + }, + { + "Name": "Get-Culture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-Format ] [] [[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-UFormat ] []" + }, + { + "Name": "Get-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [] [-EventIdentifier] []" + }, + { + "Name": "Get-EventSubscriber", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Force] [] [-SubscriptionId] [-Force] []" + }, + { + "Name": "Get-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] [-PowerShellVersion ] []" + }, + { + "Name": "Get-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Member", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-InputObject ] [-MemberType ] [-View ] [-Static] [-Force] []" + }, + { + "Name": "Get-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Script] ] [] -Variable [-Script ] [] -Command [-Script ] [] [-Type] [-Script ] [] [-Id] []" + }, + { + "Name": "Get-PSCallStack", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Random", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Maximum] ] [-SetSeed ] [-Minimum ] [] [-InputObject] [-SetSeed ] [-Count ] []" + }, + { + "Name": "Get-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] [-Id] [] [-InstanceId] []" + }, + { + "Name": "Get-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Get-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Get-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] []" + }, + { + "Name": "Get-UICulture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Unique", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject ] [-AsString] [] [-InputObject ] [-OnType] []" + }, + { + "Name": "Get-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ValueOnly] [-Include ] [-Exclude ] [-Scope ] []" + }, + { + "Name": "Group-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-NoElement] [-AsHashTable] [-AsString] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Import-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Import-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-IncludeTotalCount] [-Skip ] [-First ] [] -LiteralPath [-IncludeTotalCount] [-Skip ] [-First ] []" + }, + { + "Name": "Import-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] [-LiteralPath ] [-Header ] [-Encoding ] [] [[-Path] ] -UseCulture [-LiteralPath ] [-Header ] [-Encoding ] []" + }, + { + "Name": "Import-LocalizedData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-BindingVariable] ] [[-UICulture] ] [-BaseDirectory ] [-FileName ] [-SupportedCommand ] []" + }, + { + "Name": "Invoke-Expression", + "CommandType": "Cmdlet", + "ParameterSets": "[-Command] []" + }, + { + "Name": "Invoke-RestMethod", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-Method ] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Invoke-WebRequest", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Method ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Measure-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Expression] [-InputObject ] []" + }, + { + "Name": "Measure-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-Sum] [-Average] [-Maximum] [-Minimum] [] [[-Property] ] [-InputObject ] [-Line] [-Word] [-Character] [-IgnoreWhiteSpace] []" + }, + { + "Name": "New-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Sender] ] [[-EventArguments] ] [[-MessageData] ] []" + }, + { + "Name": "New-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeName] [[-ArgumentList] ] [-Property ] [] [-ComObject] [-Strict] [-Property ] []" + }, + { + "Name": "New-TimeSpan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Start] ] [[-End] ] [] [-Days ] [-Hours ] [-Minutes ] [-Seconds ] []" + }, + { + "Name": "New-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Description ] [-Option ] [-Visibility ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-File", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-Encoding] ] [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] [] [[-Encoding] ] -LiteralPath [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Stream] [-Width ] [-InputObject ] []" + }, + { + "Name": "Read-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Prompt] ] [-AsSecureString] []" + }, + { + "Name": "Register-EngineEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Register-ObjectEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-EventName] [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Remove-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-WhatIf] [-Confirm] [] [-EventIdentifier] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "-TypeData [-WhatIf] [-Confirm] [] [-TypeName] [-WhatIf] [-Confirm] [] -Path [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Select-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-Last ] [-First ] [-Skip ] [-Wait] [] [[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-SkipLast ] [] [-InputObject ] [-Unique] [-Wait] [-Index ] []" + }, + { + "Name": "Select-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Pattern] [-Path] [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -InputObject [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -LiteralPath [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] []" + }, + { + "Name": "Select-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-XPath] [-Xml] [-Namespace ] [] [-XPath] [-Path] [-Namespace ] [] [-XPath] -LiteralPath [-Namespace ] [] [-XPath] -Content [-Namespace ] []" + }, + { + "Name": "Set-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[-Date] [-DisplayHint ] [-WhatIf] [-Confirm] [] [-Adjust] [-DisplayHint ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Script] [-Line] [[-Column] ] [-Action ] [] [[-Script] ] -Command [-Action ] [] [[-Script] ] -Variable [-Action ] [-Mode ] []" + }, + { + "Name": "Set-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Option] ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [-PassThru] [] [-Name] [-RemoveListener ] [] [-Name] [-RemoveFileListener ] []" + }, + { + "Name": "Set-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Include ] [-Exclude ] [-Description ] [-Option ] [-Force] [-Visibility ] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Sort-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Descending] [-Unique] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Start-Sleep", + "CommandType": "Cmdlet", + "ParameterSets": "[-Seconds] [] -Milliseconds []" + }, + { + "Name": "Tee-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [-InputObject ] [-Append] [] -LiteralPath [-InputObject ] [] -Variable [-InputObject ] []" + }, + { + "Name": "Trace-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Expression] [[-Option] ] [-InputObject ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [] [-Name] [-Command] [[-Option] ] [-InputObject ] [-ArgumentList ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] []" + }, + { + "Name": "Unblock-File", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-WhatIf] [-Confirm] [] -LiteralPath [-WhatIf] [-Confirm] []" + }, + { + "Name": "Unregister-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-Force] [-WhatIf] [-Confirm] [] [-SubscriptionId] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] [] -TypeName [-MemberType ] [-MemberName ] [-Value ] [-SecondValue ] [-TypeConverter ] [-TypeAdapter ] [-SerializationMethod ] [-TargetTypeForDeserialization ] [-SerializationDepth ] [-DefaultDisplayProperty ] [-InheritPropertySerializationSet ] [-StringSerializationSource ] [-DefaultDisplayPropertySet ] [-DefaultKeyPropertySet ] [-PropertySerializationSet ] [-Force] [-WhatIf] [-Confirm] [] [-TypeData] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Wait-Debugger", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Wait-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Timeout ] []" + }, + { + "Name": "Write-Debug", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Error", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -Exception [-Message ] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -ErrorRecord [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] []" + }, + { + "Name": "Write-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Object] ] [-NoNewline] [-Separator ] [-ForegroundColor ] [-BackgroundColor ] []" + }, + { + "Name": "Write-Information", + "CommandType": "Cmdlet", + "ParameterSets": "[-MessageData] [[-Tags] ] []" + }, + { + "Name": "Write-Output", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-NoEnumerate] []" + }, + { + "Name": "Write-Progress", + "CommandType": "Cmdlet", + "ParameterSets": "[-Activity] [[-Status] ] [[-Id] ] [-PercentComplete ] [-SecondsRemaining ] [-CurrentOperation ] [-ParentId ] [-Completed] [-SourceId ] []" + }, + { + "Name": "Write-Verbose", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Warning", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + } + ] + }, + { + "Name": "Microsoft.WSMan.Management", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "Connect-WSMan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [-ApplicationName ] [-OptionSet ] [-Port ] [-SessionOption ] [-UseSSL] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ConnectionURI ] [-OptionSet ] [-Port ] [-SessionOption ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "Disable-WSManCredSSP", + "CommandType": "Cmdlet", + "ParameterSets": "[-Role] []" + }, + { + "Name": "Disconnect-WSMan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] []" + }, + { + "Name": "Enable-WSManCredSSP", + "CommandType": "Cmdlet", + "ParameterSets": "[-Role] [[-DelegateComputer] ] [-Force] []" + }, + { + "Name": "Get-WSManCredSSP", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-WSManInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ResourceURI] [-ApplicationName ] [-ComputerName ] [-ConnectionURI ] [-Dialect ] [-Fragment ] [-OptionSet ] [-Port ] [-SelectorSet ] [-SessionOption ] [-UseSSL] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ResourceURI] -Enumerate [-ApplicationName ] [-BasePropertiesOnly] [-ComputerName ] [-ConnectionURI ] [-Dialect ] [-Filter ] [-OptionSet ] [-Port ] [-Associations] [-ReturnType ] [-SessionOption ] [-Shallow] [-UseSSL] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "Invoke-WSManAction", + "CommandType": "Cmdlet", + "ParameterSets": "[-ResourceURI] [-Action] [[-SelectorSet] ] [-ConnectionURI ] [-FilePath ] [-OptionSet ] [-SessionOption ] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ResourceURI] [-Action] [[-SelectorSet] ] [-ApplicationName ] [-ComputerName ] [-FilePath ] [-OptionSet ] [-Port ] [-SessionOption ] [-UseSSL] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "New-WSManInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ResourceURI] [-SelectorSet] [-ApplicationName ] [-ComputerName ] [-FilePath ] [-OptionSet ] [-Port ] [-SessionOption ] [-UseSSL] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ResourceURI] [-SelectorSet] [-ConnectionURI ] [-FilePath ] [-OptionSet ] [-SessionOption ] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "New-WSManSessionOption", + "CommandType": "Cmdlet", + "ParameterSets": "[-ProxyAccessType ] [-ProxyAuthentication ] [-ProxyCredential ] [-SkipCACheck] [-SkipCNCheck] [-SkipRevocationCheck] [-SPNPort ] [-OperationTimeout ] [-NoEncryption] [-UseUTF16] []" + }, + { + "Name": "Remove-WSManInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ResourceURI] [-SelectorSet] [-ApplicationName ] [-ComputerName ] [-OptionSet ] [-Port ] [-SessionOption ] [-UseSSL] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ResourceURI] [-SelectorSet] [-ConnectionURI ] [-OptionSet ] [-SessionOption ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "Set-WSManInstance", + "CommandType": "Cmdlet", + "ParameterSets": "[-ResourceURI] [[-SelectorSet] ] [-ApplicationName ] [-ComputerName ] [-Dialect ] [-FilePath ] [-Fragment ] [-OptionSet ] [-Port ] [-SessionOption ] [-UseSSL] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] [] [-ResourceURI] [[-SelectorSet] ] [-ConnectionURI ] [-Dialect ] [-FilePath ] [-Fragment ] [-OptionSet ] [-SessionOption ] [-ValueSet ] [-Credential ] [-Authentication ] [-CertificateThumbprint ] []" + }, + { + "Name": "Set-WSManQuickConfig", + "CommandType": "Cmdlet", + "ParameterSets": "[-UseSSL] [-Force] [-SkipNetworkProfileCheck] []" + }, + { + "Name": "Test-WSMan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-ComputerName] ] [-Authentication ] [-Port ] [-UseSSL] [-ApplicationName ] [-Credential ] [-CertificateThumbprint ] []" + } + ] + }, + { + "Name": "PackageManagement", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Find-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-AllVersions] [-Source ] [-IncludeDependencies] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Destination ] [-ExcludeVersion] [-Scope ] [] [[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Get-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ListAvailable] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Import-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Install-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-InputObject] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Install-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Credential ] [-Scope ] [-Source ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Save-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Set-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Location ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Uninstall-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Unregister-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Source] ] [-Location ] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + } + ] + }, + { + "Name": "Pester", + "Version": "3.3.9", + "ExportedCommands": [ + { + "Name": "AfterAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "AfterEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Assert-MockCalled", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-Times] ] [[-ParameterFilter] ] [[-ModuleName] ] [[-Scope] ] [-Exactly] [] [-CommandName] [[-Times] ] [[-ModuleName] ] [[-Scope] ] -ExclusiveFilter [-Exactly] []" + }, + { + "Name": "Assert-VerifiableMocks", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Context", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] []" + }, + { + "Name": "Describe", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] [-Tags ] []" + }, + { + "Name": "Get-MockDynamicParameters", + "CommandType": "Function", + "ParameterSets": "-CmdletName [-Parameters ] [-Cmdlet ] [] -FunctionName [-ModuleName ] [-Parameters ] [-Cmdlet ] []" + }, + { + "Name": "Get-TestDriveItem", + "CommandType": "Function", + "ParameterSets": "[[-Path] ]" + }, + { + "Name": "In", + "CommandType": "Function", + "ParameterSets": "[[-path] ] [[-execute] ]" + }, + { + "Name": "InModuleScope", + "CommandType": "Function", + "ParameterSets": "[-ModuleName] [-ScriptBlock] []" + }, + { + "Name": "Invoke-Mock", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-ModuleName] ] [[-BoundParameters] ] [[-ArgumentList] ] [[-CallerSessionState] ] []" + }, + { + "Name": "Invoke-Pester", + "CommandType": "Function", + "ParameterSets": "[[-Script] ] [[-TestName] ] [-EnableExit] [[-OutputXml] ] [[-Tag] ] [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] [] [[-Script] ] [[-TestName] ] [-EnableExit] [[-Tag] ] -OutputFile -OutputFormat [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] []" + }, + { + "Name": "It", + "CommandType": "Function", + "ParameterSets": "[-name] [[-test] ] [-TestCases ] [] [-name] [[-test] ] [-TestCases ] [-Pending] [] [-name] [[-test] ] [-TestCases ] [-Skip] []" + }, + { + "Name": "Mock", + "CommandType": "Function", + "ParameterSets": "[[-CommandName] ] [[-MockWith] ] [[-ParameterFilter] ] [[-ModuleName] ] [-Verifiable]" + }, + { + "Name": "New-Fixture", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [-Name] []" + }, + { + "Name": "Set-DynamicParameterVariables", + "CommandType": "Function", + "ParameterSets": "[-SessionState] [[-Parameters] ] [[-Metadata] ] []" + }, + { + "Name": "Setup", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [[-Content] ] [-Dir] [-File] [-PassThru]" + }, + { + "Name": "Should", + "CommandType": "Function", + "ParameterSets": "" + } + ] + }, + { + "Name": "PowerShellGet", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Command", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Find-RoleCapability", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Get-InstalledModule", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] []" + }, + { + "Name": "Get-InstalledScript", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] []" + }, + { + "Name": "Get-PSRepository", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Install-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Install-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] -Description [-Version ] [-Author ] [-Guid ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Module", + "CommandType": "Function", + "ParameterSets": "-Name [-RequiredVersion ] [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] [] -Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Script", + "CommandType": "Function", + "ParameterSets": "-Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [-SourceLocation] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] [] -Default [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] []" + }, + { + "Name": "Save-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Save-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-SourceLocation] ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] []" + }, + { + "Name": "Test-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Uninstall-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Uninstall-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Unregister-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] []" + }, + { + "Name": "Update-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ModuleManifest", + "CommandType": "Function", + "ParameterSets": "[-Path] [-NestedModules ] [-Guid ] [-Author ] [-CompanyName ] [-Copyright ] [-RootModule ] [-ModuleVersion ] [-Description ] [-ProcessorArchitecture ] [-CompatiblePSEditions ] [-PowerShellVersion ] [-ClrVersion ] [-DotNetFrameworkVersion ] [-PowerShellHostName ] [-PowerShellHostVersion ] [-RequiredModules ] [-TypesToProcess ] [-FormatsToProcess ] [-ScriptsToProcess ] [-RequiredAssemblies ] [-FileList ] [-ModuleList ] [-FunctionsToExport ] [-AliasesToExport ] [-VariablesToExport ] [-CmdletsToExport ] [-DscResourcesToExport ] [-PrivateData ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-HelpInfoUri ] [-PassThru] [-DefaultCommandPrefix ] [-ExternalModuleDependencies ] [-PackageManagementProviders ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-LiteralPath] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "PSDesiredStateConfiguration", + "Version": "0.0", + "ExportedCommands": [ + { + "Name": "AddDscResourceProperty", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "AddDscResourcePropertyFromMetadata", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "Add-NodeKeys", + "CommandType": "Function", + "ParameterSets": "[-ResourceKey] [-keywordName] []" + }, + { + "Name": "CheckResourceFound", + "CommandType": "Function", + "ParameterSets": "[[-names] ] [[-Resources] ]" + }, + { + "Name": "Configuration", + "CommandType": "Function", + "ParameterSets": "[[-ResourceModuleTuplesToImport] ] [[-OutputPath] ] [[-Name] ] [[-Body] ] [[-ArgsToBody] ] [[-ConfigurationData] ] [[-InstanceName] ] []" + }, + { + "Name": "ConvertTo-MOFInstance", + "CommandType": "Function", + "ParameterSets": "[-Type] [-Properties] []" + }, + { + "Name": "Generate-VersionInfo", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [-Value] []" + }, + { + "Name": "Get-CompatibleVersionAddtionaPropertiesStr", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-ComplexResourceQualifier", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "GetCompositeResource", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-configInfo] [[-ignoreParameters] ] [-modules] []" + }, + { + "Name": "Get-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [[-Module] ] [-Syntax] []" + }, + { + "Name": "Get-DSCResourceModules", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-EncryptedPassword", + "CommandType": "Function", + "ParameterSets": "[[-Value] ] []" + }, + { + "Name": "GetImplementingModulePath", + "CommandType": "Function", + "ParameterSets": "[-schemaFileName] []" + }, + { + "Name": "Get-InnerMostErrorRecord", + "CommandType": "Function", + "ParameterSets": "[-ErrorRecord] []" + }, + { + "Name": "GetModule", + "CommandType": "Function", + "ParameterSets": "[-modules] [-schemaFileName] []" + }, + { + "Name": "Get-MofInstanceName", + "CommandType": "Function", + "ParameterSets": "[[-mofInstance] ]" + }, + { + "Name": "Get-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-aliasId] []" + }, + { + "Name": "GetPatterns", + "CommandType": "Function", + "ParameterSets": "[[-names] ]" + }, + { + "Name": "Get-PositionInfo", + "CommandType": "Function", + "ParameterSets": "[[-sourceMetadata] ]" + }, + { + "Name": "Get-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigDocumentInstVersionInfo", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigurationProcessed", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PublicKeyFromFile", + "CommandType": "Function", + "ParameterSets": "[-certificatefile] []" + }, + { + "Name": "Get-PublicKeyFromStore", + "CommandType": "Function", + "ParameterSets": "[-certificateid] []" + }, + { + "Name": "GetResourceFromKeyword", + "CommandType": "Function", + "ParameterSets": "[-keyword] [[-patterns] ] [-modules] []" + }, + { + "Name": "GetSyntax", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "ImportCimAndScriptKeywordsFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-resource] [[-functionsToDefine] ] []" + }, + { + "Name": "ImportClassResourcesFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-Resources] [[-functionsToDefine] ] []" + }, + { + "Name": "Initialize-ConfigurationRuntimeState", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] []" + }, + { + "Name": "IsHiddenResource", + "CommandType": "Function", + "ParameterSets": "[-ResourceName] []" + }, + { + "Name": "IsPatternMatched", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-Name] []" + }, + { + "Name": "New-DscChecksum", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-OutPath] ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Node", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [[-Name] ] [-Value] [-sourceMetadata] []" + }, + { + "Name": "ReadEnvironmentFile", + "CommandType": "Function", + "ParameterSets": "[-FilePath] []" + }, + { + "Name": "Set-NodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-exclusiveResource] []" + }, + { + "Name": "Set-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedManagers] []" + }, + { + "Name": "Set-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-requiredResourceList] []" + }, + { + "Name": "Set-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedResourceSources] []" + }, + { + "Name": "Set-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "[[-nodeName] ] []" + }, + { + "Name": "Set-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "[[-documentText] ] []" + }, + { + "Name": "Set-PSMetaConfigDocInsProcessedBeforeMeta", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSMetaConfigVersionInfoV2", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "StrongConnect", + "CommandType": "Function", + "ParameterSets": "[[-resourceId] ]" + }, + { + "Name": "Test-ConflictingResources", + "CommandType": "Function", + "ParameterSets": "[[-keyword] ] [-properties] [-keywordData] []" + }, + { + "Name": "Test-ModuleReloadRequired", + "CommandType": "Function", + "ParameterSets": "[-SchemaFilePath] []" + }, + { + "Name": "Test-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-instanceText] []" + }, + { + "Name": "Test-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "ThrowError", + "CommandType": "Function", + "ParameterSets": "[-ExceptionName] [-ExceptionMessage] [[-ExceptionObject] ] [-errorId] [-errorCategory] []" + }, + { + "Name": "Update-ConfigurationDocumentRef", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] [-ConfigurationName] []" + }, + { + "Name": "Update-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Update-DependsOn", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "Update-LocalConfigManager", + "CommandType": "Function", + "ParameterSets": "[[-localConfigManager] ] [[-resourceManagers] ] [[-reportManagers] ] [[-downloadManagers] ] [[-partialConfigurations] ]" + }, + { + "Name": "Update-ModuleVersion", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "ValidateNoCircleInNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeManager", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResourceSource", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNoNameNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateUpdate-ConfigurationData", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationData] ] []" + }, + { + "Name": "WriteFile", + "CommandType": "Function", + "ParameterSets": "[-Value] [-Path] []" + }, + { + "Name": "Write-Log", + "CommandType": "Function", + "ParameterSets": "[-message] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Write-MetaConfigFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + }, + { + "Name": "Write-NodeMOFFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + } + ] + }, + { + "Name": "PSDiagnostics", + "Version": "1.0.0.0", + "ExportedCommands": [ + { + "Name": "Disable-PSTrace", + "CommandType": "Function", + "ParameterSets": "[-AnalyticOnly]" + }, + { + "Name": "Enable-PSTrace", + "CommandType": "Function", + "ParameterSets": "[-Force] [-AnalyticOnly]" + }, + { + "Name": "Get-LogProperties", + "CommandType": "Function", + "ParameterSets": "[-Name] []" + }, + { + "Name": "Set-LogProperties", + "CommandType": "Function", + "ParameterSets": "[-LogDetails] [-Force] []" + } + ] + }, + { + "Name": "PSReadLine", + "Version": "1.2", + "ExportedCommands": [ + { + "Name": "PSConsoleHostReadline", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Bound] [-Unbound] []" + }, + { + "Name": "Get-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Remove-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ScriptBlock] [-BriefDescription ] [-Description ] [-ViMode ] [] [-Chord] [-Function] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[-EditMode ] [-ContinuationPrompt ] [-ContinuationPromptForegroundColor ] [-ContinuationPromptBackgroundColor ] [-EmphasisForegroundColor ] [-EmphasisBackgroundColor ] [-ErrorForegroundColor ] [-ErrorBackgroundColor ] [-HistoryNoDuplicates] [-AddToHistoryHandler ] [-CommandValidationHandler ] [-HistorySearchCursorMovesToEnd] [-MaximumHistoryCount ] [-MaximumKillRingCount ] [-ResetTokenColors] [-ShowToolTips] [-ExtraPromptLineCount ] [-DingTone ] [-DingDuration ] [-BellStyle ] [-CompletionQueryItems ] [-WordDelimiters ] [-HistorySearchCaseSensitive] [-HistorySaveStyle ] [-HistorySavePath ] [-ViModeIndicator ] [] [-TokenKind] [[-ForegroundColor] ] [[-BackgroundColor] ] []" + } + ] + } + ] +} From 74c44c18c8909763d8fae0934d5ab29dddf99ca2 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:46:01 -0700 Subject: [PATCH 35/38] Add nuget packages to appveyor cache --- appveyor.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index c3397b206..f5e27c7a5 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,10 @@ os: # clone directory clone_folder: c:\projects\psscriptanalyzer +# cache nuget packages +cache: + - '%USERPROFILE%\.nuget\packages -> **\project.json' + # Install Pester install: - cinst -y pester --version 3.4.0 From 36fe25a71c28902050bba6a1f30f3a17dac28737 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Fri, 23 Sep 2016 13:57:03 -0700 Subject: [PATCH 36/38] Save command data json file as UTF-8 --- Utils/New-CommandDataFile.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utils/New-CommandDataFile.ps1 b/Utils/New-CommandDataFile.ps1 index d4736a6e4..28b0789f3 100644 --- a/Utils/New-CommandDataFile.ps1 +++ b/Utils/New-CommandDataFile.ps1 @@ -87,4 +87,4 @@ $shortModuleInfos = Get-ChildItem -Path $builtinModulePath ` } } $jsonData['Modules'] = $shortModuleInfos -$jsonData | ConvertTo-Json -Depth 4 | Out-File ((Get-CmdletDataFileName)) \ No newline at end of file +$jsonData | ConvertTo-Json -Depth 4 | Out-File ((Get-CmdletDataFileName)) -Encoding utf8 \ No newline at end of file From 8adbda8fa72b7c29cd1849549c1ed344c66bc27f Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Mon, 26 Sep 2016 14:32:29 -0700 Subject: [PATCH 37/38] Fix bugs in RuleMaker.ps1 and New-CommandDataFile.psm1 --- Utils/New-CommandDataFile.ps1 | 3 ++- Utils/RuleMaker.psm1 | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Utils/New-CommandDataFile.ps1 b/Utils/New-CommandDataFile.ps1 index 28b0789f3..ec7c0cd1d 100644 --- a/Utils/New-CommandDataFile.ps1 +++ b/Utils/New-CommandDataFile.ps1 @@ -38,7 +38,8 @@ if (-not (Test-Path $builtinModulePath)) Function IsPSEditionDesktop { - $PSEdition -eq $null -or $PSEdition -eq 'Desktop' + $edition = Get-Variable -Name PSEdition -ErrorAction Ignore + ($edition -eq $null) -or ($edition -eq 'Desktop') } Function Get-CmdletDataFileName diff --git a/Utils/RuleMaker.psm1 b/Utils/RuleMaker.psm1 index 6f026d177..a754cff08 100644 --- a/Utils/RuleMaker.psm1 +++ b/Utils/RuleMaker.psm1 @@ -25,7 +25,7 @@ Function Get-SolutionRoot $solutionFilename = 'psscriptanalyzer.sln' if (-not (Test-Path (Join-Path $root $solutionFilename))) { - $null + return $null } $root } @@ -35,7 +35,7 @@ Function Get-RuleProjectRoot $slnRoot = Get-SolutionRoot if ($slnRoot -eq $null) { - $null + return $null } Join-Path $slnRoot "Rules" } @@ -45,7 +45,7 @@ Function Get-RuleProjectFile $prjRoot = Get-RuleProjectRoot if ($prjRoot -eq $null) { - $null + return $null } Join-Path $prjRoot "ScriptAnalyzerBuiltinRules.csproj" } From f1aa7ac7418c8532286938e6c68631fe5d4eb923 Mon Sep 17 00:00:00 2001 From: Kapil Borle Date: Mon, 26 Sep 2016 15:49:48 -0700 Subject: [PATCH 38/38] Add builtin cmdlet metadata file for OSX --- Engine/Settings/core-6.0.0-alpha-osx.json | 1465 +++++++++++++++++++++ 1 file changed, 1465 insertions(+) create mode 100644 Engine/Settings/core-6.0.0-alpha-osx.json diff --git a/Engine/Settings/core-6.0.0-alpha-osx.json b/Engine/Settings/core-6.0.0-alpha-osx.json new file mode 100644 index 000000000..a05a6cd60 --- /dev/null +++ b/Engine/Settings/core-6.0.0-alpha-osx.json @@ -0,0 +1,1465 @@ +{ + "Modules": [ + { + "Name": "Microsoft.PowerShell.Archive", + "Version": "1.0.1.0", + "ExportedCommands": [ + { + "Name": "Compress-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [-DestinationPath] [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-Path] [-DestinationPath] -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Update [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath -Force [-CompressionLevel ] [-WhatIf] [-Confirm] [] [-DestinationPath] -LiteralPath [-CompressionLevel ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Expand-Archive", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-DestinationPath] ] [-Force] [-WhatIf] [-Confirm] [] [[-DestinationPath] ] -LiteralPath [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Host", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "Start-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-LiteralPath] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] [] [[-OutputDirectory] ] [-Append] [-Force] [-NoClobber] [-IncludeInvocationHeader] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Stop-Transcript", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Management", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "Add-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Clear-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Clear-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Clear-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Convert-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Copy-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] [] [[-Destination] ] -LiteralPath [-Container] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [-FromSession ] [-ToSession ] []" + }, + { + "Name": "Copy-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Debug-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] -InputObject [-WhatIf] [-Confirm] []" + }, + { + "Name": "Get-ChildItem", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Filter] ] [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] [] [[-Filter] ] -LiteralPath [-Include ] [-Exclude ] [-Recurse] [-Depth ] [-Force] [-Name] [-Attributes ] [-Directory] [-File] [-Hidden] [-ReadOnly] [-System] []" + }, + { + "Name": "Get-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] [] -LiteralPath [-ReadCount ] [-TotalCount ] [-Tail ] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Delimiter ] [-Wait] [-Raw] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Get-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-Stream ] []" + }, + { + "Name": "Get-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [[-Name] ] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-ItemPropertyValue", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-Name] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [] [-Name] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] []" + }, + { + "Name": "Get-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PSProvider ] [-PSDrive ] [] [-Stack] [-StackName ] []" + }, + { + "Name": "Get-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ComputerName ] [-Module] [-FileVersionInfo] [] [[-Name] ] -IncludeUserName [] -Id [-ComputerName ] [-Module] [-FileVersionInfo] [] -Id -IncludeUserName [] -InputObject [-ComputerName ] [-Module] [-FileVersionInfo] [] -InputObject -IncludeUserName []" + }, + { + "Name": "Get-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Scope ] [-PSProvider ] [] [-LiteralName] [-Scope ] [-PSProvider ] []" + }, + { + "Name": "Get-PSProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-PSProvider] ] []" + }, + { + "Name": "Invoke-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Join-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ChildPath] [[-AdditionalChildPath] ] [-Resolve] [-Credential ] []" + }, + { + "Name": "Move-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Destination] ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [[-Destination] ] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Move-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Destination] [-Name] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Destination] [-Name] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [] [[-Path] ] -Name [-ItemType ] [-Value ] [-Force] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-PropertyType ] [-Value ] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider] [-Root] [-Description ] [-Scope ] [-Persist] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Pop-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[-PassThru] [-StackName ] []" + }, + { + "Name": "Push-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [-StackName ] [] [-LiteralPath ] [-PassThru] [-StackName ] []" + }, + { + "Name": "Remove-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-Recurse] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-Stream ] []" + }, + { + "Name": "Remove-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSDrive", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] [] [-LiteralName] [-PSProvider ] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-NewName] [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] [] [-NewName] -LiteralPath [-Force] [-PassThru] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Rename-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-NewName] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-NewName] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Resolve-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Relative] [-Credential ] [] -LiteralPath [-Relative] [-Credential ] []" + }, + { + "Name": "Set-Content", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Value] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] [] [-Value] -LiteralPath [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Force] [-Credential ] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding ] [-Stream ] []" + }, + { + "Name": "Set-Item", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Value] ] [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [[-Value] ] -LiteralPath [-Force] [-PassThru] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-ItemProperty", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Name] [-Value] [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Path] -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] [-Name] [-Value] -LiteralPath [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-PassThru] [-Force] [-Filter ] [-Include ] [-Exclude ] [-Credential ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Location", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [-PassThru] [] -LiteralPath [-PassThru] [] [-PassThru] [-StackName ] []" + }, + { + "Name": "Split-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Parent] [-Resolve] [-Credential ] [] [-Path] [-Leaf] [-Resolve] [-Credential ] [] [-Path] [-Qualifier] [-Resolve] [-Credential ] [] [-Path] [-NoQualifier] [-Resolve] [-Credential ] [] [-Path] [-Resolve] [-IsAbsolute] [-Credential ] [] -LiteralPath [-Resolve] [-Credential ] []" + }, + { + "Name": "Start-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-ArgumentList] ] [-Credential ] [-WorkingDirectory ] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError ] [-RedirectStandardInput ] [-RedirectStandardOutput ] [-Wait] [-UseNewEnvironment] []" + }, + { + "Name": "Stop-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -Name [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Test-Path", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] [] -LiteralPath [-Filter ] [-Include ] [-Exclude ] [-PathType ] [-IsValid] [-Credential ] [-OlderThan ] [-NewerThan ] []" + }, + { + "Name": "Wait-Process", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Timeout] ] [] [-Id] [[-Timeout] ] [] [[-Timeout] ] -InputObject []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Security", + "Version": "3.0.0.0", + "ExportedCommands": [ + { + "Name": "ConvertFrom-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-SecureString] [[-SecureKey] ] [] [-SecureString] [-Key ] []" + }, + { + "Name": "ConvertTo-SecureString", + "CommandType": "Cmdlet", + "ParameterSets": "[-String] [[-SecureKey] ] [] [-String] [-AsPlainText] [-Force] [] [-String] [-Key ] []" + }, + { + "Name": "Get-Credential", + "CommandType": "Cmdlet", + "ParameterSets": "[-Credential] [] [[-UserName] ] -Message []" + }, + { + "Name": "Get-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Scope] ] [-List] []" + }, + { + "Name": "Set-ExecutionPolicy", + "CommandType": "Cmdlet", + "ParameterSets": "[-ExecutionPolicy] [[-Scope] ] [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "Microsoft.PowerShell.Utility", + "Version": "3.1.0.0", + "ExportedCommands": [ + { + "Name": "Format-Hex", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath [] -InputObject [-Encoding ] [-Raw] []" + }, + { + "Name": "Get-FileHash", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Algorithm ] [] -LiteralPath [-Algorithm ] [] -InputStream [-Algorithm ] []" + }, + { + "Name": "Import-PowerShellDataFile", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [] [-LiteralPath ] []" + }, + { + "Name": "New-Guid", + "CommandType": "Function", + "ParameterSets": "[]" + }, + { + "Name": "New-TemporaryFile", + "CommandType": "Function", + "ParameterSets": "[-WhatIf] [-Confirm] []" + }, + { + "Name": "Add-Member", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -TypeName [-PassThru] [] [-MemberType] [-Name] [[-Value] ] [[-SecondValue] ] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-NotePropertyName] [-NotePropertyValue] -InputObject [-TypeName ] [-Force] [-PassThru] [] [-NotePropertyMembers] -InputObject [-TypeName ] [-Force] [-PassThru] []" + }, + { + "Name": "Add-Type", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeDefinition] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Name] [-MemberDefinition] [-Namespace ] [-UsingNamespace ] [-Language ] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] [-Path] [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -LiteralPath [-ReferencedAssemblies ] [-OutputAssembly ] [-OutputType ] [-PassThru] [-IgnoreWarnings] [] -AssemblyName [-PassThru] [-IgnoreWarnings] []" + }, + { + "Name": "Clear-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Compare-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-ReferenceObject] [-DifferenceObject] [-SyncWindow ] [-Property ] [-ExcludeDifferent] [-IncludeEqual] [-PassThru] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "ConvertFrom-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-Header ] [] [-InputObject] -UseCulture [-Header ] []" + }, + { + "Name": "ConvertFrom-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] []" + }, + { + "Name": "ConvertFrom-StringData", + "CommandType": "Cmdlet", + "ParameterSets": "[-StringData] []" + }, + { + "Name": "ConvertTo-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [[-Delimiter] ] [-NoTypeInformation] [] [-InputObject] [-UseCulture] [-NoTypeInformation] []" + }, + { + "Name": "ConvertTo-Json", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-Compress] []" + }, + { + "Name": "ConvertTo-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-Depth ] [-NoTypeInformation] [-As ] []" + }, + { + "Name": "Debug-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[-Runspace] [-WhatIf] [-Confirm] [] [-Name] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] [] [-InstanceId] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] [] [-Id] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Disable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Enable-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Id] [-PassThru] [-WhatIf] [-Confirm] [] [-Breakpoint] [-PassThru] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Enable-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [-BreakAll] [] [-Runspace] [-BreakAll] [] [-RunspaceId] [-BreakAll] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Export-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [[-Name] ] [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] [] [[-Name] ] -LiteralPath [-PassThru] [-As ] [-Append] [-Force] [-NoClobber] [-Description ] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] [] -LiteralPath -InputObject [-Depth ] [-Force] [-NoClobber] [-Encoding ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-NoTypeInformation] [-WhatIf] [-Confirm] [] [[-Path] ] -InputObject [-LiteralPath ] [-Force] [-NoClobber] [-Encoding ] [-Append] [-UseCulture] [-NoTypeInformation] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Export-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "-InputObject -Path [-Force] [-NoClobber] [-IncludeScriptBlock] [] -InputObject -LiteralPath [-Force] [-NoClobber] [-IncludeScriptBlock] []" + }, + { + "Name": "Format-Custom", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Depth ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-List", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Table", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-HideTableHeaders] [-Wrap] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Format-Wide", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-AutoSize] [-Column ] [-GroupBy ] [-View ] [-ShowError] [-DisplayError] [-Force] [-Expand ] [-InputObject ] []" + }, + { + "Name": "Get-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Exclude ] [-Scope ] [] [-Exclude ] [-Scope ] [-Definition ] []" + }, + { + "Name": "Get-Culture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-Format ] [] [[-Date] ] [-Year ] [-Month ] [-Day ] [-Hour ] [-Minute ] [-Second ] [-Millisecond ] [-DisplayHint ] [-UFormat ] []" + }, + { + "Name": "Get-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [] [-EventIdentifier] []" + }, + { + "Name": "Get-EventSubscriber", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Force] [] [-SubscriptionId] [-Force] []" + }, + { + "Name": "Get-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] [-PowerShellVersion ] []" + }, + { + "Name": "Get-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Member", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-InputObject ] [-MemberType ] [-View ] [-Static] [-Force] []" + }, + { + "Name": "Get-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Script] ] [] -Variable [-Script ] [] -Command [-Script ] [] [-Type] [-Script ] [] [-Id] []" + }, + { + "Name": "Get-PSCallStack", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Random", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Maximum] ] [-SetSeed ] [-Minimum ] [] [-InputObject] [-SetSeed ] [-Count ] []" + }, + { + "Name": "Get-Runspace", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [] [-Id] [] [-InstanceId] []" + }, + { + "Name": "Get-RunspaceDebug", + "CommandType": "Cmdlet", + "ParameterSets": "[[-RunspaceName] ] [] [-Runspace] [] [-RunspaceId] [] [-RunspaceInstanceId] [] [[-ProcessName] ] [[-AppDomainName] ] []" + }, + { + "Name": "Get-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Get-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-TypeName] ] []" + }, + { + "Name": "Get-UICulture", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Get-Unique", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject ] [-AsString] [] [-InputObject ] [-OnType] []" + }, + { + "Name": "Get-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ValueOnly] [-Include ] [-Exclude ] [-Scope ] []" + }, + { + "Name": "Group-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-NoElement] [-AsHashTable] [-AsString] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Import-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-Scope ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Import-Clixml", + "CommandType": "Cmdlet", + "ParameterSets": "[-Path] [-IncludeTotalCount] [-Skip ] [-First ] [] -LiteralPath [-IncludeTotalCount] [-Skip ] [-First ] []" + }, + { + "Name": "Import-Csv", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Path] ] [[-Delimiter] ] [-LiteralPath ] [-Header ] [-Encoding ] [] [[-Path] ] -UseCulture [-LiteralPath ] [-Header ] [-Encoding ] []" + }, + { + "Name": "Import-LocalizedData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-BindingVariable] ] [[-UICulture] ] [-BaseDirectory ] [-FileName ] [-SupportedCommand ] []" + }, + { + "Name": "Invoke-Expression", + "CommandType": "Cmdlet", + "ParameterSets": "[-Command] []" + }, + { + "Name": "Invoke-RestMethod", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-Method ] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Invoke-WebRequest", + "CommandType": "Cmdlet", + "ParameterSets": "[-Uri] [-UseBasicParsing] [-WebSession ] [-SessionVariable ] [-Credential ] [-UseDefaultCredentials] [-CertificateThumbprint ] [-Certificate ] [-UserAgent ] [-DisableKeepAlive] [-TimeoutSec ] [-Headers ] [-MaximumRedirection ] [-Method ] [-Proxy ] [-ProxyCredential ] [-ProxyUseDefaultCredentials] [-Body ] [-ContentType ] [-TransferEncoding ] [-InFile ] [-OutFile ] [-PassThru] []" + }, + { + "Name": "Measure-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Expression] [-InputObject ] []" + }, + { + "Name": "Measure-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-Sum] [-Average] [-Maximum] [-Minimum] [] [[-Property] ] [-InputObject ] [-Line] [-Word] [-Character] [-IgnoreWhiteSpace] []" + }, + { + "Name": "New-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Sender] ] [[-EventArguments] ] [[-MessageData] ] []" + }, + { + "Name": "New-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-TypeName] [[-ArgumentList] ] [-Property ] [] [-ComObject] [-Strict] [-Property ] []" + }, + { + "Name": "New-TimeSpan", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Start] ] [[-End] ] [] [-Days ] [-Hours ] [-Minutes ] [-Seconds ] []" + }, + { + "Name": "New-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Description ] [-Option ] [-Visibility ] [-Force] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-File", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [[-Encoding] ] [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] [] [[-Encoding] ] -LiteralPath [-Append] [-Force] [-NoClobber] [-Width ] [-NoNewline] [-InputObject ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Out-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Stream] [-Width ] [-InputObject ] []" + }, + { + "Name": "Read-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Prompt] ] [-AsSecureString] []" + }, + { + "Name": "Register-EngineEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Register-ObjectEvent", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-EventName] [[-SourceIdentifier] ] [[-Action] ] [-MessageData ] [-SupportEvent] [-Forward] [-MaxTriggerCount ] []" + }, + { + "Name": "Remove-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-WhatIf] [-Confirm] [] [-EventIdentifier] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Breakpoint] [-WhatIf] [-Confirm] [] [-Id] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "-TypeData [-WhatIf] [-Confirm] [] [-TypeName] [-WhatIf] [-Confirm] [] -Path [-WhatIf] [-Confirm] []" + }, + { + "Name": "Remove-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Include ] [-Exclude ] [-Force] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Select-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-Last ] [-First ] [-Skip ] [-Wait] [] [[-Property] ] [-InputObject ] [-ExcludeProperty ] [-ExpandProperty ] [-Unique] [-SkipLast ] [] [-InputObject ] [-Unique] [-Wait] [-Index ] []" + }, + { + "Name": "Select-String", + "CommandType": "Cmdlet", + "ParameterSets": "[-Pattern] [-Path] [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -InputObject [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] [] [-Pattern] -LiteralPath [-SimpleMatch] [-CaseSensitive] [-Quiet] [-List] [-Include ] [-Exclude ] [-NotMatch] [-AllMatches] [-Encoding ] [-Context ] []" + }, + { + "Name": "Select-Xml", + "CommandType": "Cmdlet", + "ParameterSets": "[-XPath] [-Xml] [-Namespace ] [] [-XPath] [-Path] [-Namespace ] [] [-XPath] -LiteralPath [-Namespace ] [] [-XPath] -Content [-Namespace ] []" + }, + { + "Name": "Set-Alias", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Value] [-Description ] [-Option ] [-PassThru] [-Scope ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-Date", + "CommandType": "Cmdlet", + "ParameterSets": "[-Date] [-DisplayHint ] [-WhatIf] [-Confirm] [] [-Adjust] [-DisplayHint ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSBreakpoint", + "CommandType": "Cmdlet", + "ParameterSets": "[-Script] [-Line] [[-Column] ] [-Action ] [] [[-Script] ] -Command [-Action ] [] [[-Script] ] -Variable [-Action ] [-Mode ] []" + }, + { + "Name": "Set-TraceSource", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Option] ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [-PassThru] [] [-Name] [-RemoveListener ] [] [-Name] [-RemoveFileListener ] []" + }, + { + "Name": "Set-Variable", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [[-Value] ] [-Include ] [-Exclude ] [-Description ] [-Option ] [-Force] [-Visibility ] [-PassThru] [-Scope ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Sort-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Property] ] [-Descending] [-Unique] [-InputObject ] [-Culture ] [-CaseSensitive] []" + }, + { + "Name": "Start-Sleep", + "CommandType": "Cmdlet", + "ParameterSets": "[-Seconds] [] -Milliseconds []" + }, + { + "Name": "Tee-Object", + "CommandType": "Cmdlet", + "ParameterSets": "[-FilePath] [-InputObject ] [-Append] [] -LiteralPath [-InputObject ] [] -Variable [-InputObject ] []" + }, + { + "Name": "Trace-Command", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-Expression] [[-Option] ] [-InputObject ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] [] [-Name] [-Command] [[-Option] ] [-InputObject ] [-ArgumentList ] [-ListenerOption ] [-FilePath ] [-Force] [-Debugger] [-PSHost] []" + }, + { + "Name": "Unregister-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[-SourceIdentifier] [-Force] [-WhatIf] [-Confirm] [] [-SubscriptionId] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-FormatData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-TypeData", + "CommandType": "Cmdlet", + "ParameterSets": "[[-AppendPath] ] [-PrependPath ] [-WhatIf] [-Confirm] [] -TypeName [-MemberType ] [-MemberName ] [-Value ] [-SecondValue ] [-TypeConverter ] [-TypeAdapter ] [-SerializationMethod ] [-TargetTypeForDeserialization ] [-SerializationDepth ] [-DefaultDisplayProperty ] [-InheritPropertySerializationSet ] [-StringSerializationSource ] [-DefaultDisplayPropertySet ] [-DefaultKeyPropertySet ] [-PropertySerializationSet ] [-Force] [-WhatIf] [-Confirm] [] [-TypeData] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Wait-Debugger", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Wait-Event", + "CommandType": "Cmdlet", + "ParameterSets": "[[-SourceIdentifier] ] [-Timeout ] []" + }, + { + "Name": "Write-Debug", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Error", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -Exception [-Message ] [-Category ] [-ErrorId ] [-TargetObject ] [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] [] -ErrorRecord [-RecommendedAction ] [-CategoryActivity ] [-CategoryReason ] [-CategoryTargetName ] [-CategoryTargetType ] []" + }, + { + "Name": "Write-Host", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Object] ] [-NoNewline] [-Separator ] [-ForegroundColor ] [-BackgroundColor ] []" + }, + { + "Name": "Write-Information", + "CommandType": "Cmdlet", + "ParameterSets": "[-MessageData] [[-Tags] ] []" + }, + { + "Name": "Write-Output", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-NoEnumerate] []" + }, + { + "Name": "Write-Progress", + "CommandType": "Cmdlet", + "ParameterSets": "[-Activity] [[-Status] ] [[-Id] ] [-PercentComplete ] [-SecondsRemaining ] [-CurrentOperation ] [-ParentId ] [-Completed] [-SourceId ] []" + }, + { + "Name": "Write-Verbose", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + }, + { + "Name": "Write-Warning", + "CommandType": "Cmdlet", + "ParameterSets": "[-Message] []" + } + ] + }, + { + "Name": "PackageManagement", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [[-Name] ] [-IncludeDependencies] [-AllVersions] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Find-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-AllVersions] [-Source ] [-IncludeDependencies] [-Credential ] [-Proxy ] [-ProxyCredential ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Destination ] [-ExcludeVersion] [-Scope ] [] [[-Name] ] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-ProviderName ] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Get-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-ListAvailable] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Get-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [-Location ] [-Force] [-ForceBootstrap] [-ProviderName ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Import-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Force] [-ForceBootstrap] []" + }, + { + "Name": "Install-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-InputObject] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Install-PackageProvider", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Credential ] [-Scope ] [-Source ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [[-Name] ] [[-Location] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Save-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-Source ] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [-Headers ] [-FilterOnTag ] [-Contains ] [-AllowPrereleaseVersions] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [] [-Path ] [-LiteralPath ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Type ] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] []" + }, + { + "Name": "Set-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Name] ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Location ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Proxy ] [-ProxyCredential ] [-Credential ] [-NewLocation ] [-NewName ] [-Trusted] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + }, + { + "Name": "Uninstall-Package", + "CommandType": "Cmdlet", + "ParameterSets": "[-InputObject] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Name] [-RequiredVersion ] [-MinimumVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Destination ] [-ExcludeVersion] [-Scope ] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] [] [-AllVersions] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-Scope ] [-PackageManagementProvider ] [-Type ] [-AllowClobber] [-SkipPublisherCheck] [-InstallUpdate] [-NoPathUpdate] []" + }, + { + "Name": "Unregister-PackageSource", + "CommandType": "Cmdlet", + "ParameterSets": "[[-Source] ] [-Location ] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ProviderName ] [] -InputObject [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-ConfigFile ] [-SkipValidate] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [] [-Credential ] [-Force] [-ForceBootstrap] [-WhatIf] [-Confirm] [-PackageManagementProvider ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] []" + } + ] + }, + { + "Name": "Pester", + "Version": "3.3.9", + "ExportedCommands": [ + { + "Name": "AfterAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "AfterEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Assert-MockCalled", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-Times] ] [[-ParameterFilter] ] [[-ModuleName] ] [[-Scope] ] [-Exactly] [] [-CommandName] [[-Times] ] [[-ModuleName] ] [[-Scope] ] -ExclusiveFilter [-Exactly] []" + }, + { + "Name": "Assert-VerifiableMocks", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeAll", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "BeforeEach", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Context", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] []" + }, + { + "Name": "Describe", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-Fixture] ] [-Tags ] []" + }, + { + "Name": "Get-MockDynamicParameters", + "CommandType": "Function", + "ParameterSets": "-CmdletName [-Parameters ] [-Cmdlet ] [] -FunctionName [-ModuleName ] [-Parameters ] [-Cmdlet ] []" + }, + { + "Name": "Get-TestDriveItem", + "CommandType": "Function", + "ParameterSets": "[[-Path] ]" + }, + { + "Name": "In", + "CommandType": "Function", + "ParameterSets": "[[-path] ] [[-execute] ]" + }, + { + "Name": "InModuleScope", + "CommandType": "Function", + "ParameterSets": "[-ModuleName] [-ScriptBlock] []" + }, + { + "Name": "Invoke-Mock", + "CommandType": "Function", + "ParameterSets": "[-CommandName] [[-ModuleName] ] [[-BoundParameters] ] [[-ArgumentList] ] [[-CallerSessionState] ] []" + }, + { + "Name": "Invoke-Pester", + "CommandType": "Function", + "ParameterSets": "[[-Script] ] [[-TestName] ] [-EnableExit] [[-OutputXml] ] [[-Tag] ] [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] [] [[-Script] ] [[-TestName] ] [-EnableExit] [[-Tag] ] -OutputFile -OutputFormat [-ExcludeTag ] [-PassThru] [-CodeCoverage ] [-Strict] [-Quiet] []" + }, + { + "Name": "It", + "CommandType": "Function", + "ParameterSets": "[-name] [[-test] ] [-TestCases ] [] [-name] [[-test] ] [-TestCases ] [-Pending] [] [-name] [[-test] ] [-TestCases ] [-Skip] []" + }, + { + "Name": "Mock", + "CommandType": "Function", + "ParameterSets": "[[-CommandName] ] [[-MockWith] ] [[-ParameterFilter] ] [[-ModuleName] ] [-Verifiable]" + }, + { + "Name": "New-Fixture", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [-Name] []" + }, + { + "Name": "Set-DynamicParameterVariables", + "CommandType": "Function", + "ParameterSets": "[-SessionState] [[-Parameters] ] [[-Metadata] ] []" + }, + { + "Name": "Setup", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] [[-Content] ] [-Dir] [-File] [-PassThru]" + }, + { + "Name": "Should", + "CommandType": "Function", + "ParameterSets": "" + } + ] + }, + { + "Name": "PowerShellGet", + "Version": "1.0.0.1", + "ExportedCommands": [ + { + "Name": "Find-Command", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-DscResource ] [-RoleCapability ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Find-RoleCapability", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-ModuleName ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-Tag ] [-Filter ] [-Proxy ] [-ProxyCredential ] [-Repository ] []" + }, + { + "Name": "Find-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-AllVersions] [-IncludeDependencies] [-Filter ] [-Tag ] [-Includes ] [-Command ] [-Proxy ] [-ProxyCredential ] [-Repository ] [-Credential ] []" + }, + { + "Name": "Get-InstalledModule", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] []" + }, + { + "Name": "Get-InstalledScript", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] []" + }, + { + "Name": "Get-PSRepository", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "Install-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Credential ] [-Scope ] [-Proxy ] [-ProxyCredential ] [-AllowClobber] [-SkipPublisherCheck] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Install-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Scope ] [-NoPathUpdate] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "New-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[[-Path] ] -Description [-Version ] [-Author ] [-Guid ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Module", + "CommandType": "Function", + "ParameterSets": "-Name [-RequiredVersion ] [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] [] -Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-FormatVersion ] [-ReleaseNotes ] [-Tags ] [-LicenseUri ] [-IconUri ] [-ProjectUri ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Publish-Script", + "CommandType": "Function", + "ParameterSets": "-Path [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] -LiteralPath [-NuGetApiKey ] [-Repository ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Register-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [-SourceLocation] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] [] -Default [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] []" + }, + { + "Name": "Save-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Save-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] -Path [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-Name] -LiteralPath [-MinimumVersion ] [-MaximumVersion ] [-RequiredVersion ] [-Repository ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -LiteralPath [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] -Path [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Set-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] [[-SourceLocation] ] [-PublishLocation ] [-ScriptSourceLocation ] [-ScriptPublishLocation ] [-Credential ] [-InstallationPolicy ] [-Proxy ] [-ProxyCredential ] [-PackageManagementProvider ] []" + }, + { + "Name": "Test-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [] -LiteralPath []" + }, + { + "Name": "Uninstall-Module", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-AllVersions] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Uninstall-Script", + "CommandType": "Function", + "ParameterSets": "[-Name] [-MinimumVersion ] [-RequiredVersion ] [-MaximumVersion ] [-Force] [-WhatIf] [-Confirm] [] [-InputObject] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Unregister-PSRepository", + "CommandType": "Function", + "ParameterSets": "[-Name] []" + }, + { + "Name": "Update-Module", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Credential ] [-Proxy ] [-ProxyCredential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ModuleManifest", + "CommandType": "Function", + "ParameterSets": "[-Path] [-NestedModules ] [-Guid ] [-Author ] [-CompanyName ] [-Copyright ] [-RootModule ] [-ModuleVersion ] [-Description ] [-ProcessorArchitecture ] [-CompatiblePSEditions ] [-PowerShellVersion ] [-ClrVersion ] [-DotNetFrameworkVersion ] [-PowerShellHostName ] [-PowerShellHostVersion ] [-RequiredModules ] [-TypesToProcess ] [-FormatsToProcess ] [-ScriptsToProcess ] [-RequiredAssemblies ] [-FileList ] [-ModuleList ] [-FunctionsToExport ] [-AliasesToExport ] [-VariablesToExport ] [-CmdletsToExport ] [-DscResourcesToExport ] [-PrivateData ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-HelpInfoUri ] [-PassThru] [-DefaultCommandPrefix ] [-ExternalModuleDependencies ] [-PackageManagementProviders ] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-Script", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [-RequiredVersion ] [-MaximumVersion ] [-Proxy ] [-ProxyCredential ] [-Credential ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Update-ScriptFileInfo", + "CommandType": "Function", + "ParameterSets": "[-Path] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] [] [-LiteralPath] [-Version ] [-Author ] [-Guid ] [-Description ] [-CompanyName ] [-Copyright ] [-RequiredModules ] [-ExternalModuleDependencies ] [-RequiredScripts ] [-ExternalScriptDependencies ] [-Tags ] [-ProjectUri ] [-LicenseUri ] [-IconUri ] [-ReleaseNotes ] [-PassThru] [-Force] [-WhatIf] [-Confirm] []" + } + ] + }, + { + "Name": "PSDesiredStateConfiguration", + "Version": "0.0", + "ExportedCommands": [ + { + "Name": "Add-NodeKeys", + "CommandType": "Function", + "ParameterSets": "[-ResourceKey] [-keywordName] []" + }, + { + "Name": "AddDscResourceProperty", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "AddDscResourcePropertyFromMetadata", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "CheckResourceFound", + "CommandType": "Function", + "ParameterSets": "[[-names] ] [[-Resources] ]" + }, + { + "Name": "Configuration", + "CommandType": "Function", + "ParameterSets": "[[-ResourceModuleTuplesToImport] ] [[-OutputPath] ] [[-Name] ] [[-Body] ] [[-ArgsToBody] ] [[-ConfigurationData] ] [[-InstanceName] ] []" + }, + { + "Name": "ConvertTo-MOFInstance", + "CommandType": "Function", + "ParameterSets": "[-Type] [-Properties] []" + }, + { + "Name": "Generate-VersionInfo", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [-Value] []" + }, + { + "Name": "Get-CompatibleVersionAddtionaPropertiesStr", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-ComplexResourceQualifier", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-DscResource", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] [[-Module] ] [-Syntax] []" + }, + { + "Name": "Get-DSCResourceModules", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-EncryptedPassword", + "CommandType": "Function", + "ParameterSets": "[[-Value] ] []" + }, + { + "Name": "Get-InnerMostErrorRecord", + "CommandType": "Function", + "ParameterSets": "[-ErrorRecord] []" + }, + { + "Name": "Get-MofInstanceName", + "CommandType": "Function", + "ParameterSets": "[[-mofInstance] ]" + }, + { + "Name": "Get-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-aliasId] []" + }, + { + "Name": "Get-PositionInfo", + "CommandType": "Function", + "ParameterSets": "[[-sourceMetadata] ]" + }, + { + "Name": "Get-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigDocumentInstVersionInfo", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSMetaConfigurationProcessed", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PublicKeyFromFile", + "CommandType": "Function", + "ParameterSets": "[-certificatefile] []" + }, + { + "Name": "Get-PublicKeyFromStore", + "CommandType": "Function", + "ParameterSets": "[-certificateid] []" + }, + { + "Name": "GetCompositeResource", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-configInfo] [[-ignoreParameters] ] [-modules] []" + }, + { + "Name": "GetImplementingModulePath", + "CommandType": "Function", + "ParameterSets": "[-schemaFileName] []" + }, + { + "Name": "GetModule", + "CommandType": "Function", + "ParameterSets": "[-modules] [-schemaFileName] []" + }, + { + "Name": "GetPatterns", + "CommandType": "Function", + "ParameterSets": "[[-names] ]" + }, + { + "Name": "GetResourceFromKeyword", + "CommandType": "Function", + "ParameterSets": "[-keyword] [[-patterns] ] [-modules] []" + }, + { + "Name": "GetSyntax", + "CommandType": "Function", + "ParameterSets": null + }, + { + "Name": "ImportCimAndScriptKeywordsFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-resource] [[-functionsToDefine] ] []" + }, + { + "Name": "ImportClassResourcesFromModule", + "CommandType": "Function", + "ParameterSets": "[-Module] [-Resources] [[-functionsToDefine] ] []" + }, + { + "Name": "Initialize-ConfigurationRuntimeState", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] []" + }, + { + "Name": "IsHiddenResource", + "CommandType": "Function", + "ParameterSets": "[-ResourceName] []" + }, + { + "Name": "IsPatternMatched", + "CommandType": "Function", + "ParameterSets": "[[-patterns] ] [-Name] []" + }, + { + "Name": "New-DscChecksum", + "CommandType": "Function", + "ParameterSets": "[-Path] [[-OutPath] ] [-Force] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Node", + "CommandType": "Function", + "ParameterSets": "[-KeywordData] [[-Name] ] [-Value] [-sourceMetadata] []" + }, + { + "Name": "ReadEnvironmentFile", + "CommandType": "Function", + "ParameterSets": "[-FilePath] []" + }, + { + "Name": "Set-NodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-exclusiveResource] []" + }, + { + "Name": "Set-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedManagers] []" + }, + { + "Name": "Set-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-requiredResourceList] []" + }, + { + "Name": "Set-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] [-referencedResourceSources] []" + }, + { + "Name": "Set-PSCurrentConfigurationNode", + "CommandType": "Function", + "ParameterSets": "[[-nodeName] ] []" + }, + { + "Name": "Set-PSDefaultConfigurationDocument", + "CommandType": "Function", + "ParameterSets": "[[-documentText] ] []" + }, + { + "Name": "Set-PSMetaConfigDocInsProcessedBeforeMeta", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSMetaConfigVersionInfoV2", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Set-PSTopConfigurationName", + "CommandType": "Function", + "ParameterSets": "[[-Name] ] []" + }, + { + "Name": "StrongConnect", + "CommandType": "Function", + "ParameterSets": "[[-resourceId] ]" + }, + { + "Name": "Test-ConflictingResources", + "CommandType": "Function", + "ParameterSets": "[[-keyword] ] [-properties] [-keywordData] []" + }, + { + "Name": "Test-ModuleReloadRequired", + "CommandType": "Function", + "ParameterSets": "[-SchemaFilePath] []" + }, + { + "Name": "Test-MofInstanceText", + "CommandType": "Function", + "ParameterSets": "[-instanceText] []" + }, + { + "Name": "Test-NodeManager", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResources", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "Test-NodeResourceSource", + "CommandType": "Function", + "ParameterSets": "[-resourceId] []" + }, + { + "Name": "ThrowError", + "CommandType": "Function", + "ParameterSets": "[-ExceptionName] [-ExceptionMessage] [[-ExceptionObject] ] [-errorId] [-errorCategory] []" + }, + { + "Name": "Update-ConfigurationDocumentRef", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] [-ConfigurationName] []" + }, + { + "Name": "Update-ConfigurationErrorCount", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Update-DependsOn", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "Update-LocalConfigManager", + "CommandType": "Function", + "ParameterSets": "[[-localConfigManager] ] [[-resourceManagers] ] [[-reportManagers] ] [[-downloadManagers] ] [[-partialConfigurations] ]" + }, + { + "Name": "Update-ModuleVersion", + "CommandType": "Function", + "ParameterSets": "[-NodeResources] [-NodeInstanceAliases] [-NodeResourceIdAliases] []" + }, + { + "Name": "ValidateNoCircleInNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeExclusiveResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeManager", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNodeResourceSource", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateNoNameNodeResources", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "ValidateUpdate-ConfigurationData", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationData] ] []" + }, + { + "Name": "Write-Log", + "CommandType": "Function", + "ParameterSets": "[-message] [-WhatIf] [-Confirm] []" + }, + { + "Name": "Write-MetaConfigFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + }, + { + "Name": "Write-NodeMOFFile", + "CommandType": "Function", + "ParameterSets": "[[-ConfigurationName] ] [[-mofNode] ] [[-mofNodeHash] ]" + }, + { + "Name": "WriteFile", + "CommandType": "Function", + "ParameterSets": "[-Value] [-Path] []" + } + ] + }, + { + "Name": "PSReadLine", + "Version": "1.2", + "ExportedCommands": [ + { + "Name": "PSConsoleHostReadline", + "CommandType": "Function", + "ParameterSets": "" + }, + { + "Name": "Get-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Bound] [-Unbound] []" + }, + { + "Name": "Get-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[]" + }, + { + "Name": "Remove-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineKeyHandler", + "CommandType": "Cmdlet", + "ParameterSets": "[-Chord] [-ScriptBlock] [-BriefDescription ] [-Description ] [-ViMode ] [] [-Chord] [-Function] [-ViMode ] []" + }, + { + "Name": "Set-PSReadlineOption", + "CommandType": "Cmdlet", + "ParameterSets": "[-EditMode ] [-ContinuationPrompt ] [-ContinuationPromptForegroundColor ] [-ContinuationPromptBackgroundColor ] [-EmphasisForegroundColor ] [-EmphasisBackgroundColor ] [-ErrorForegroundColor ] [-ErrorBackgroundColor ] [-HistoryNoDuplicates] [-AddToHistoryHandler ] [-CommandValidationHandler ] [-HistorySearchCursorMovesToEnd] [-MaximumHistoryCount ] [-MaximumKillRingCount ] [-ResetTokenColors] [-ShowToolTips] [-ExtraPromptLineCount ] [-DingTone ] [-DingDuration ] [-BellStyle ] [-CompletionQueryItems ] [-WordDelimiters ] [-HistorySearchCaseSensitive] [-HistorySaveStyle ] [-HistorySavePath ] [-ViModeIndicator ] [] [-TokenKind] [[-ForegroundColor] ] [[-BackgroundColor] ] []" + } + ] + } + ], + "SchemaVersion": "0.0.1" +}