Downloads:

19,054

Downloads of v 0.9.707:

35

Last Update:

12/4/2018

Package Maintainer(s):

Software Author(s):

  • Chrissy LeMaire

Tags:

admin powershell module template dba sqlserver sql tools database

dbatools (PowerShell Module)

This is not the latest version of dbatools (PowerShell Module) available.

0.9.707 | Updated: 12/4/2018

Downloads:

19,054

Downloads of v 0.9.707:

35

Maintainer(s):

Software Author(s):

  • Chrissy LeMaire

dbatools (PowerShell Module) 0.9.707

This is not the latest version of dbatools (PowerShell Module) available.

All Checks are Passing

2 Passing Test


Validation Testing Passed


Verification Testing Passed

Details

To install dbatools (PowerShell Module), run the following command from the command line or from PowerShell:

>

To upgrade dbatools (PowerShell Module), run the following command from the command line or from PowerShell:

>

To uninstall dbatools (PowerShell Module), run the following command from the command line or from PowerShell:

>

NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://chocolatey.org/api/v2. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to https://chocolatey.org/api/v2)

4. Choose your deployment method:


choco upgrade dbatools -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade dbatools -y --source="'STEP 3 URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Ensure dbatools installed
  win_chocolatey:
    name: dbatools
    state: present
    version: 0.9.707
    source: STEP 3 URL

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.

Coming early 2020! Central Managment Reporting available now! More information...


chocolatey_package 'dbatools' do
  action    :install
  version  '0.9.707'
  source   'STEP 3 URL'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


Chocolatey::Ensure-Package
(
    Name: dbatools,
    Version: 0.9.707,
    Source: STEP 3 URL
);

Requires Otter Chocolatey Extension. See docs at https://inedo.com/den/otter/chocolatey.


cChocoPackageInstaller dbatools
{
   Name     = 'dbatools'
   Ensure   = 'Present'
   Version  = '0.9.707'
   Source   = 'STEP 3 URL'
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'dbatools':
  provider => 'chocolatey',
  ensure   => '0.9.707',
  source   => 'STEP 3 URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


salt '*' chocolatey.install dbatools version="0.9.707" source="STEP 3 URL"

See docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.chocolatey.html.

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved as a trusted package on 12/4/2018.

Description

dbatools logo dbatools is sort of like a command-line SQL Server Management Studio. The project initially started out as Start-SqlMigration.ps1, but has now grown into a collection of over 300 commands that help automate SQL Server tasks and encourage best practices.

NOTE: This module requires a minimum of PowerShell v3.

NOTE: This is an automatically updated package. If you find it is out of date by more than a week, please contact the maintainer(s) and let them know the package is no longer updating correctly.


tools\chocolateyBeforeModify.ps1
$ErrorActionPreference = 'Stop'

$moduleName = 'dbatools'      # this could be different from package name

$module = Get-Module -Name $moduleName
if ($module) {
    Write-Verbose "Module '$moduleName' is imported into the session. Removing it."
    Remove-Module -Name $moduleName -Force -ErrorAction SilentlyContinue

    if ($lib = [appdomain]::CurrentDomain.GetAssemblies() | Where-Object FullName -like "dbatools, *") {
        Write-Verbose "Found locked DLL files for module '$moduleName'."
        $moduleDir = Split-Path $module.Path -Parent
        if ($lib.Location -like "$moduleDir\*") {
            Write-Warning @"
We have detected dbatools to be already imported from '$moduleDir' and the dll files have been locked and cannot be updated.
Please close all consoles that have dbatools imported (Remove-Module dbatools is NOT enough).
"@
            throw 
        }
    }
}
tools\chocolateyInstall.ps1
$ErrorActionPreference = 'Stop'

$toolsDir   = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$moduleName = 'dbatools'  # this may be different from the package name and different case

if ($PSVersionTable.PSVersion.Major -lt 3) {
    throw "$moduleName) module requires a minimum of PowerShell v3."
}

# module may already be installed outside of Chocolatey
Remove-Module -Name $moduleName -Force -ErrorAction SilentlyContinue

$sourcePath = Join-Path -Path $toolsDir -ChildPath "$modulename\*"
$destPath   = Join-Path -Path $env:ProgramFiles -ChildPath "WindowsPowerShell\Modules\$moduleName"

if ($PSVersionTable.PSVersion.Major -ge 5)
{
    $manifestFile = Join-Path -Path $toolsDir -ChildPath "$moduleName\$moduleName.psd1"
    $manifest     = Test-ModuleManifest -Path $manifestFile -WarningAction Ignore -ErrorAction Stop
    $destPath     = Join-Path -Path $destPath -ChildPath $manifest.Version.ToString()
}

Write-Verbose "Creating destination directory '$destPath' for module."
New-Item -Path $destPath -ItemType Directory -Force -ErrorAction SilentlyContinue | Out-Null

Write-Verbose "Moving '$moduleName' files from '$sourcePath' to '$destPath'."
Move-Item -Path $sourcePath -Destination $destPath -Force

if ($PSVersionTable.PSVersion.Major -lt 4)
{
    $modulePaths = [Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';'
    if ($modulePaths -notcontains $destPath)
    {
        Write-Verbose "Adding '$destPath' to PSModulePath."
        $newModulePath = @($destPath, $modulePaths) -join ';'

        [Environment]::SetEnvironmentVariable('PSModulePath', $newModulePath, 'Machine')
        $env:PSModulePath = $newModulePath
    }
}
tools\chocolateyUninstall.ps1
$ErrorActionPreference = 'Stop'

$moduleName = 'dbatools'
$sourcePath = Join-Path -Path $env:ProgramFiles -ChildPath "WindowsPowerShell\Modules\$moduleName"

Write-Verbose "Removing all version of '$moduleName' from '$sourcePath'."
Remove-Item -Path $sourcePath -Recurse -Force -ErrorAction SilentlyContinue

if ($PSVersionTable.PSVersion.Major -lt 4) {
    $modulePaths = [Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';'

    Write-Verbose "Removing '$sourcePath' from PSModulePath."
    $newModulePath = $modulePaths | Where-Object { $_ -ne $sourcePath }

    [Environment]::SetEnvironmentVariable('PSModulePath', $newModulePath, 'Machine')
    $env:PSModulePath = $newModulePath
}
tools\dbatools\.vscode\extensions.json
{
    // See http://go.microsoft.com/fwlink/?LinkId=827846
    // for the documentation about the extensions.json format
    "recommendations": [
        "ms-vscode.PowerShell",
        "dbatools.search"
    ]
}
tools\dbatools\.vscode\settings.json
// Place your settings in this file to overwrite default and user settings.
{
    "files.trimTrailingWhitespace": true,
    "powershell.codeFormatting.preset": "OTBS"
}
tools\dbatools\allcommands.zip
md5: 3DCA341FEDAABC9D4923028403FF9F8B | sha1: A81C0C2AEFD51FC1037B5F164A24108599DA91ED | sha256: D9F5F31EB4883B56B9B7151AB4B97E3D8904D1E2222C8F37337A20F4B1FE99CD | sha512: 7B7A6EBCEA3D53951B2BFA8D8A9598A5EC9546993ED1F28A93ABE6FB1A2039A772FEC94388F85C313427441C9247EEE059AB95EDC7E7D706AAF499BDB0DF3D74
tools\dbatools\bin\bcp\bcp.exe
md5: 0056F153E8574FD9C429946E4983E962 | sha1: 41E89575060091A52A52EAA1656B93D7DF67EA01 | sha256: D59D296E846CBD83F5E55CB5852CC2AAA9E1DECC8E0A324B7D0964C4CDF7B425 | sha512: 61F6608BA778FB3B5D1FC02F3F8EB2A006E5378ED629A70F095A62F116A4E4FA0C34B3033D618BF371E7EAB0EAC9FAD27E2AD586C7EF527BAAF72558F12BCD43
tools\dbatools\bin\build-project.ps1
[CmdletBinding()]
param (
    [string]$ProjectPath = (Resolve-Path -Path (Join-Path -Path $PSModuleRoot -ChildPath 'bin\projects\dbatools\dbatools.sln')),
    [ValidateSet('ps3', 'ps4', 'Release', 'Debug')]
    [string]$MsbuildConfiguration = "Release",
    [string]$MsbuildOptions = "",
    [Parameter(HelpMessage = 'Target to run instead of build')]
    [string]$MsbuildTarget = 'Build'
)

if (-not $PSBoundParameters.ContainsKey('MsbuildConfiguration')) {
    $_MsbuildConfiguration = switch ($PSVersionTable.PSVersion.Major) {
        3 {
            "ps3"
        }
        4 {
            "ps4"
        }
        default {
            "Release"
        }
    }
} else {
    $_MsbuildConfiguration = $MsbuildConfiguration
}

function Get-MsBuildPath {
    [CmdletBinding()]
    [OutputType([string])]
    param ()
    process {
        $rawPath = "$(Split-Path ([string].Assembly.Location))\msbuild.exe"
        (Resolve-Path $rawPath).Path
    }
}

$start = Get-Date
$msbuild = Get-MsBuildPath

if (-not (Test-Path $msbuild)) {
    throw "msbuild not found, cannot compile library! Check your .NET installation health, then try again. Path checked: $msbuild"
}

if ($env:APPVEYOR -eq 'True') {
    $MsbuildOptions = $MsbuildOptions + '/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" '
    $_MsbuildConfiguration = 'Debug'
    
    if (-not (Test-Path "C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll")) {
        throw "msbuild logger not found, cannot compile library! Check your .NET installation health, then try again. Path checked: $msbuild"
    }
}

#$MsbuildOptions = $MsbuildOptions + '/logger:BinaryLogger,"{0}";"{1}" ' -f (Join-Path $PSScriptRoot 'StructuredLogger.dll'), (Resolve-Path '..\msbuild.bin.log').Path

if (-not (Test-Path $ProjectPath)) {
    throw new-object 'System.IO.FileNotFoundException' 'Could not file project or solution', $ProjectPath
}

Write-Verbose -Message "Building the library with command $msbuild $ProjectPath /p:Configuration=$_MsbuildConfiguration $MsbuildOptions /t:$MsBuildTarget"
& $msbuild $ProjectPath "/p:Configuration=$_MsbuildConfiguration" $MsbuildOptions "/t:$MsBuildTarget"

if ($MsbuildTarget -eq 'Build') {
    try {
        Write-Verbose -Message "Found library, trying to copy & import"
        if ($script:alwaysBuildLibrary) {
            Move-Item -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -Destination $script:DllRoot -Force -ErrorAction Stop
        } else {
            Copy-Item -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -Destination $script:DllRoot -Force -ErrorAction Stop
        }
        Add-Type -Path (Resolve-Path -Path "$PSModuleRoot\dbatools.dll") -ErrorAction Stop
    } catch {
        Write-Verbose -Message "Failed to copy & import, attempting to import straight from the module directory"
        Add-Type -Path (Resolve-Path -Path "$PSModuleRoot\bin\dbatools.dll") -ErrorAction Stop
    }
    Write-Verbose -Message "Total duration: $((Get-Date) - $start)"
}
tools\dbatools\bin\csv\LumenWorks.Framework.IO.dll
md5: C76D91D1714B0A395844F80FCC28514E | sha1: 7E6241585218C1578FBCD31233B57B55DEF3877A | sha256: 8B86914D50465C35119F85AAAF9364316E9F98B2C2BE80CA2CA6E4D862E68782 | sha512: C7C77C66CF09EDF58D13952F007599E3F73DD3B223340427277FDDE8277EA088F449A31B18DD2A2B4239E87A99277EEC2ADC2E7794BA4236AD127CA346FE9C2B
tools\dbatools\bin\dbatools-buildref-index.json
{
    "LastUpdated": "2018-11-14T00:00:00",
    "Data": [
    {
        "Version":  "8.0.47",
        "Name": "2000"
    },
    {
        "Version":  "8.0.78"
    },
    {
        "Version":  "8.0.100"
    },
    {
        "Version":  "8.0.190"
    },
    {
        "SP":  "RTM",
        "Version":  "8.0.194",
        "SupportedUntil":  "2000-11-30T00:00:00"
    },
    {
        "Version":  "8.0.204",
        "KBList":  "274329"
    },
    {
        "Version":  "8.0.205",
        "KBList":  "274330"
    },
    {
        "Version":  "8.0.210",
        "KBList":  "275900"
    },
    {
        "Version":  "8.0.211",
        "KBList":  "276329"
    },
    {
        "Version":  "8.0.217",
        "KBList":  "279293"
    },
    {
        "Version":  "8.0.218",
        "KBList":  "279183"
    },
    {
        "Version":  "8.0.222",
        "KBList":  "281769"
    },
    {
        "Version":  "8.0.223",
        "KBList":  "280380"
    },
    {
        "Version":  "8.0.225",
        "KBList":  "281663"
    },
    {
        "Version":  "8.0.226",
        "KBList":  "278239"
    },
    {
        "Version":  "8.0.231",
        "KBList":  "282279"
    },
    {
        "Version":  "8.0.233",
        "KBList":  "282416"
    },
    {
        "Version":  "8.0.239",
        "KBList":  "285290"
    },
    {
        "Version":  "8.0.249",
        "KBList":  "288122"
    },
    {
        "Version":  "8.0.250",
        "KBList":  "291683"
    },
    {
        "Version":  "8.0.251",
        "KBList":  "300194"
    },
    {
        "Version":  "8.0.287",
        "KBList":  "297209"
    },
    {
        "Version":  "8.0.296",
        "KBList":  "299717"
    },
    {
        "SP":  "SP1",
        "Version":  "8.0.384",
        "SupportedUntil":  "2002-02-28T00:00:00",
        "KBList":  "306908"
    },
    {
        "Version":  "8.0.428",
        "KBList":  "304850"
    },
    {
        "Version":  "8.0.443",
        "KBList":  "307538"
    },
    {
        "Version":  "8.0.444",
        "KBList":  [
                       "307655",
                       "30754"
                   ]
    },
    {
        "Version":  "8.0.452",
        "KBList":  "308547"
    },
    {
        "Version":  "8.0.469",
        "KBList":  "313005"
    },
    {
        "Version":  "8.0.471",
        "KBList":  "313302"
    },
    {
        "Version":  "8.0.473",
        "KBList":  "314003"
    },
    {
        "Version":  "8.0.474",
        "KBList":  "315395"
    },
    {
        "Version":  "8.0.475"
    },
    {
        "SP":  "SP2",
        "Version":  "8.0.532",
        "SupportedUntil":  "2003-04-07T00:00:00",
        "KBList":  "306908"
    },
    {
        "Version":  "8.0.534",
        "KBList":  "306908"
    },
    {
        "Version":  "8.0.552",
        "KBList":  [
                       "313002",
                       "313005"
                   ]
    },
    {
        "Version":  "8.0.558",
        "KBList":  [
                       "314003",
                       "315395"
                   ]
    },
    {
        "Version":  "8.0.561"
    },
    {
        "Version":  "8.0.568",
        "KBList":  "317748"
    },
    {
        "Version":  "8.0.578",
        "KBList":  [
                       "318405",
                       "317979"
                   ]
    },
    {
        "Version":  "8.0.584",
        "KBList":  "318530"
    },
    {
        "Version":  "8.0.594",
        "KBList":  [
                       "356774",
                       "319477"
                   ]
    },
    {
        "Version":  "8.0.599",
        "KBList":  "319869"
    },
    {
        "Version":  "8.0.604"
    },
    {
        "Version":  "8.0.608",
        "KBList":  "319507"
    },
    {
        "Version":  "8.0.644",
        "KBList":  "324186"
    },
    {
        "Version":  "8.0.650",
        "KBList":  "322853"
    },
    {
        "Version":  "8.0.652",
        "KBList":  "810010"
    },
    {
        "Version":  "8.0.655"
    },
    {
        "Version":  "8.0.661",
        "KBList":  "326999"
    },
    {
        "Version":  "8.0.665"
    },
    {
        "Version":  "8.0.667"
    },
    {
        "Version":  "8.0.678",
        "KBList":  "328354"
    },
    {
        "Version":  "8.0.679",
        "KBList":  "316333"
    },
    {
        "Version":  "8.0.682",
        "KBList":  "319851"
    },
    {
        "Version":  "8.0.686",
        "KBList":  "316333"
    },
    {
        "Version":  "8.0.688",
        "KBList":  "329487"
    },
    {
        "Version":  "8.0.689",
        "KBList":  "329499"
    },
    {
        "Version":  "8.0.690",
        "KBList":  "311104"
    },
    {
        "Version":  "8.0.693",
        "KBList":  "330212"
    },
    {
        "Version":  "8.0.695",
        "KBList":  [
                       "331965",
                       "331855"
                   ]
    },
    {
        "Version":  "8.0.696",
        "KBList":  [
                       "810052",
                       "810072"
                   ]
    },
    {
        "Version":  "8.0.700",
        "KBList":  "810072"
    },
    {
        "Version":  "8.0.701",
        "KBList":  [
                       "810163",
                       "810026"
                   ]
    },
    {
        "Version":  "8.0.702",
        "KBList":  "328551"
    },
    {
        "Version":  "8.0.703",
        "KBList":  "810526"
    },
    {
        "Version":  "8.0.705",
        "KBList":  "810920"
    },
    {
        "Version":  "8.0.710",
        "KBList":  "811052"
    },
    {
        "Version":  "8.0.713",
        "KBList":  "811205"
    },
    {
        "Version":  "8.0.714",
        "KBList":  "811478"
    },
    {
        "Version":  "8.0.715",
        "KBList":  [
                       "810688",
                       "811611"
                   ]
    },
    {
        "Version":  "8.0.718",
        "KBList":  "811703"
    },
    {
        "Version":  "8.0.721",
        "KBList":  [
                       "812393",
                       "81225"
                   ]
    },
    {
        "Version":  "8.0.723",
        "KBList":  "812798"
    },
    {
        "Version":  "8.0.725",
        "KBList":  [
                       "813494",
                       "812995"
                   ]
    },
    {
        "Version":  "8.0.728",
        "KBList":  "814460"
    },
    {
        "Version":  "8.0.730",
        "KBList":  "813769"
    },
    {
        "Version":  "8.0.733",
        "KBList":  "813759"
    },
    {
        "Version":  "8.0.735",
        "KBList":  "814889"
    },
    {
        "Version":  "8.0.736",
        "KBList":  "816937"
    },
    {
        "Version":  "8.0.741",
        "KBList":  "818096"
    },
    {
        "Version":  "8.0.743",
        "KBList":  [
                       "818406",
                       "818763"
                   ]
    },
    {
        "SP":  "SP3",
        "Version":  "8.0.760",
        "SupportedUntil":  "2007-07-10T00:00:00",
        "KBList":  "306908"
    },
    {
        "Version":  "8.0.762",
        "KBList":  "814032"
    },
    {
        "Version":  "8.0.763",
        "KBList":  "814113"
    },
    {
        "Version":  "8.0.765",
        "KBList":  [
                       "811611",
                       "810688",
                       "810163",
                       "813769"
                   ]
    },
    {
        "Version":  "8.0.769",
        "KBList":  [
                       "814892",
                       "814889"
                   ]
    },
    {
        "Version":  "8.0.775",
        "KBList":  "815115"
    },
    {
        "Version":  "8.0.779",
        "KBList":  "814035"
    },
    {
        "Version":  "8.0.780",
        "KBList":  [
                       "816084",
                       "816039",
                       "801185"
                   ]
    },
    {
        "Version":  "8.0.781",
        "KBList":  "815057"
    },
    {
        "Version":  "8.0.788",
        "KBList":  "816985"
    },
    {
        "Version":  "8.0.789",
        "KBList":  "816840"
    },
    {
        "Version":  "8.0.790",
        "KBList":  "817081"
    },
    {
        "Version":  "8.0.791",
        "KBList":  "815249"
    },
    {
        "Version":  "8.0.794",
        "KBList":  [
                       "817709",
                       "816440",
                       "813524",
                       "817464"
                   ]
    },
    {
        "Version":  "8.0.798",
        "KBList":  "817464"
    },
    {
        "Version":  "8.0.800",
        "KBList":  [
                       "818188",
                       "818097"
                   ]
    },
    {
        "Version":  "8.0.801",
        "KBList":  "181540"
    },
    {
        "Version":  "8.0.804",
        "KBList":  "818729"
    },
    {
        "Version":  "8.0.807",
        "KBList":  "818899"
    },
    {
        "Version":  "8.0.811",
        "KBList":  [
                       "891662",
                       "819248",
                       "818897"
                   ]
    },
    {
        "Version":  "8.0.814",
        "KBList":  "819662"
    },
    {
        "Version":  "8.0.816",
        "KBList":  "818766"
    },
    {
        "Version":  "8.0.818",
        "KBList":  [
                       "821280",
                       "826161",
                       "821277"
                   ]
    },
    {
        "Version":  "8.0.819",
        "KBList":  "826161"
    },
    {
        "Version":  "8.0.837",
        "KBList":  [
                       "823514",
                       "821740",
                       "821548",
                       "821741",
                       "820788"
                   ]
    },
    {
        "Version":  "8.0.839",
        "KBList":  [
                       "824027",
                       "823877"
                   ]
    },
    {
        "Version":  "8.0.840",
        "KBList":  "319477"
    },
    {
        "Version":  "8.0.841",
        "KBList":  "825225"
    },
    {
        "Version":  "8.0.842",
        "KBList":  "825043"
    },
    {
        "Version":  "8.0.844",
        "KBList":  "826080"
    },
    {
        "Version":  "8.0.845",
        "KBList":  [
                       "825854",
                       "826364"
                   ]
    },
    {
        "Version":  "8.0.847",
        "KBList":  "826433"
    },
    {
        "Version":  "8.0.848",
        "KBList":  "826822"
    },
    {
        "Version":  "8.0.850",
        "KBList":  [
                       "826906",
                       "826815",
                       "826860"
                   ]
    },
    {
        "Version":  "8.0.851",
        "KBList":  "826754"
    },
    {
        "Version":  "8.0.852",
        "KBList":  [
                       "827954",
                       "830466"
                   ]
    },
    {
        "Version":  "8.0.854",
        "KBList":  "828699"
    },
    {
        "Version":  "8.0.856",
        "KBList":  "828096"
    },
    {
        "Version":  "8.0.857",
        "KBList":  [
                       "828308",
                       "827714",
                       "828017"
                   ]
    },
    {
        "Version":  "8.0.858",
        "KBList":  "828637"
    },
    {
        "Version":  "8.0.859",
        "KBList":  "821334"
    },
    {
        "Version":  "8.0.863",
        "KBList":  [
                       "829444",
                       "829205"
                   ]
    },
    {
        "Version":  "8.0.865",
        "KBList":  [
                       "828945",
                       "830395"
                   ]
    },
    {
        "Version":  "8.0.866",
        "KBList":  "830366"
    },
    {
        "Version":  "8.0.869",
        "KBList":  "830588"
    },
    {
        "Version":  "8.0.870",
        "KBList":  "830262"
    },
    {
        "Version":  "8.0.871",
        "KBList":  [
                       "830860",
                       "830767"
                   ]
    },
    {
        "Version":  "8.0.873",
        "KBList":  "830887"
    },
    {
        "Version":  "8.0.876",
        "KBList":  [
                       "831997",
                       "830912"
                   ]
    },
    {
        "Version":  "8.0.878",
        "KBList":  "831950"
    },
    {
        "Version":  "8.0.879",
        "KBList":  "832977"
    },
    {
        "Version":  "8.0.891",
        "KBList":  "836141"
    },
    {
        "Version":  "8.0.892",
        "KBList":  "833710"
    },
    {
        "Version":  "8.0.904",
        "KBList":  "834453"
    },
    {
        "Version":  "8.0.908",
        "KBList":  "834290"
    },
    {
        "Version":  "8.0.910",
        "KBList":  "834798"
    },
    {
        "Version":  "8.0.911",
        "KBList":  "837957"
    },
    {
        "Version":  "8.0.913",
        "KBList":  "836651"
    },
    {
        "Version":  "8.0.915",
        "KBList":  "837401"
    },
    {
        "Version":  "8.0.916",
        "KBList":  "317989"
    },
    {
        "Version":  "8.0.919",
        "KBList":  "837957"
    },
    {
        "Version":  "8.0.922",
        "KBList":  "837970"
    },
    {
        "Version":  "8.0.923",
        "KBList":  "838460"
    },
    {
        "Version":  "8.0.926",
        "KBList":  "839523"
    },
    {
        "Version":  "8.0.927",
        "KBList":  "839688"
    },
    {
        "Version":  "8.0.928",
        "KBList":  "839589"
    },
    {
        "Version":  "8.0.929",
        "KBList":  "839529"
    },
    {
        "Version":  "8.0.933",
        "KBList":  "840856"
    },
    {
        "Version":  "8.0.934",
        "KBList":  "841404"
    },
    {
        "Version":  "8.0.935",
        "KBList":  "841404"
    },
    {
        "Version":  "8.0.936",
        "KBList":  "841627"
    },
    {
        "Version":  "8.0.937",
        "KBList":  "841776"
    },
    {
        "Version":  "8.0.944",
        "KBList":  "839280"
    },
    {
        "Version":  "8.0.948",
        "KBList":  "843263"
    },
    {
        "Version":  "8.0.949",
        "KBList":  "843266"
    },
    {
        "Version":  "8.0.952",
        "KBList":  [
                       "867880",
                       "867879",
                       "867878"
                   ]
    },
    {
        "Version":  "8.0.954",
        "KBList":  "843282"
    },
    {
        "Version":  "8.0.955",
        "KBList":  "867798"
    },
    {
        "Version":  "8.0.957",
        "KBList":  "870994"
    },
    {
        "Version":  "8.0.959",
        "KBList":  "878500"
    },
    {
        "Version":  "8.0.961",
        "KBList":  "873446"
    },
    {
        "Version":  "8.0.962",
        "KBList":  "883415"
    },
    {
        "Version":  "8.0.967",
        "KBList":  "878501"
    },
    {
        "Version":  "8.0.970",
        "KBList":  "872842"
    },
    {
        "Version":  "8.0.972",
        "KBList":  "885290"
    },
    {
        "Version":  "8.0.973",
        "KBList":  "884554"
    },
    {
        "Version":  "8.0.977",
        "KBList":  "888007"
    },
    {
        "Version":  "8.0.980",
        "KBList":  "887974"
    },
    {
        "Version":  "8.0.985",
        "KBList":  "889239"
    },
    {
        "Version":  "8.0.988",
        "KBList":  "889166"
    },
    {
        "Version":  "8.0.990",
        "KBList":  "890200"
    },
    {
        "Version":  "8.0.991",
        "KBList":  "889314"
    },
    {
        "Version":  "8.0.993",
        "KBList":  [
                       "890742",
                       "888444",
                       "890925"
                   ]
    },
    {
        "Version":  "8.0.994",
        "KBList":  [
                       "890767",
                       "890768",
                       "890942"
                   ]
    },
    {
        "Version":  "8.0.996",
        "KBList":  [
                       "891268",
                       "891017"
                   ]
    },
    {
        "Version":  "8.0.997",
        "KBList":  "891311"
    },
    {
        "Version":  "8.0.1000",
        "KBList":  "891585"
    },
    {
        "Version":  "8.0.1001",
        "KBList":  "892205"
    },
    {
        "Version":  "8.0.1003",
        "KBList":  "892923"
    },
    {
        "Version":  "8.0.1007",
        "KBList":  "893312"
    },
    {
        "Version":  "8.0.1009",
        "KBList":  "894257"
    },
    {
        "Version":  "8.0.1013",
        "KBList":  "891866"
    },
    {
        "Version":  "8.0.1014",
        "KBList":  [
                       "895187",
                       "895123"
                   ]
    },
    {
        "Version":  "8.0.1017",
        "KBList":  "896425"
    },
    {
        "Version":  "8.0.1019",
        "KBList":  "897572"
    },
    {
        "Version":  "8.0.1020",
        "KBList":  "896985"
    },
    {
        "Version":  "8.0.1021",
        "KBList":  "887700"
    },
    {
        "Version":  "8.0.1024",
        "KBList":  "898709"
    },
    {
        "Version":  "8.0.1025",
        "KBList":  [
                       "899430",
                       "899428"
                   ]
    },
    {
        "Version":  "8.0.1027",
        "KBList":  "900416"
    },
    {
        "Version":  "8.0.1029",
        "KBList":  "902852"
    },
    {
        "Version":  "8.0.1034",
        "KBList":  "915328"
    },
    {
        "Version":  "8.0.1035",
        "KBList":  "917593"
    },
    {
        "Version":  "8.0.1036",
        "KBList":  "929410"
    },
    {
        "Version":  "8.0.1037",
        "KBList":  "930484"
    },
    {
        "Version":  "8.0.1077",
        "KBList":  "983814"
    },
    {
        "Version":  "8.0.1547",
        "KBList":  "899410"
    },
    {
        "Version":  "8.0.2026"
    },
    {
        "SP":  [
                   "SP4",
                   "LATEST"
               ],
        "Version":  "8.0.2039",
        "SupportedUntil":  "2013-04-09T00:00:00",
        "KBList":  "306908"
    },
    {
        "Version":  "8.0.2040",
        "KBList":  "899761"
    },
    {
        "Version":  "8.0.2050",
        "KBList":  [
                       "941203",
                       "94811"
                   ]
    },
    {
        "Version":  "8.0.2055",
        "KBList":  "959240"
    },
    {
        "Version":  "8.0.2145",
        "KBList":  [
                       "826906",
                       "836651"
                   ]
    },
    {
        "Version":  "8.0.2147",
        "KBList":  "899410"
    },
    {
        "Version":  "8.0.2148",
        "KBList":  [
                       "899430",
                       "899431",
                       "900390",
                       "900404",
                       "901212",
                       "902150",
                       "902955"
                   ]
    },
    {
        "Version":  "8.0.2151",
        "KBList":  [
                       "903742",
                       "904244"
                   ]
    },
    {
        "Version":  "8.0.2156"
    },
    {
        "Version":  "8.0.2159",
        "KBList":  "907250"
    },
    {
        "Version":  "8.0.2162",
        "KBList":  "904660"
    },
    {
        "Version":  "8.0.2166",
        "KBList":  "909734"
    },
    {
        "Version":  "8.0.2168",
        "KBList":  "907813"
    },
    {
        "Version":  "8.0.2171",
        "KBList":  "909369"
    },
    {
        "Version":  "8.0.2172",
        "KBList":  "910707"
    },
    {
        "Version":  "8.0.2175",
        "KBList":  "911678"
    },
    {
        "Version":  "8.0.2180",
        "KBList":  [
                       "913684",
                       "913789"
                   ]
    },
    {
        "Version":  "8.0.2187",
        "KBList":  [
                       "916287",
                       "914384",
                       "898709",
                       "915065",
                       "915340"
                   ]
    },
    {
        "Version":  "8.0.2189",
        "KBList":  [
                       "916652",
                       "913438"
                   ]
    },
    {
        "Version":  "8.0.2191",
        "KBList":  [
                       "826906",
                       "836651"
                   ]
    },
    {
        "Version":  "8.0.2192",
        "KBList":  "917606"
    },
    {
        "Version":  "8.0.2194",
        "KBList":  [
                       "917972",
                       "917565"
                   ]
    },
    {
        "Version":  "8.0.2196",
        "KBList":  "919165"
    },
    {
        "Version":  "8.0.2197",
        "KBList":  [
                       "919133",
                       "919068",
                       "919399"
                   ]
    },
    {
        "Version":  "8.0.2199",
        "KBList":  "919221"
    },
    {
        "Version":  "8.0.2201",
        "KBList":  "920930"
    },
    {
        "Version":  "8.0.2207",
        "KBList":  "923344"
    },
    {
        "Version":  "8.0.2209",
        "KBList":  "923797"
    },
    {
        "Version":  "8.0.2215",
        "KBList":  [
                       "924662",
                       "923563",
                       "923796"
                   ]
    },
    {
        "Version":  "8.0.2217",
        "KBList":  "924664"
    },
    {
        "Version":  "8.0.2218",
        "KBList":  "925297"
    },
    {
        "Version":  "8.0.2223",
        "KBList":  [
                       "925678",
                       "925419"
                   ]
    },
    {
        "Version":  "8.0.2226",
        "KBList":  [
                       "925684",
                       "925732"
                   ]
    },
    {
        "Version":  "8.0.2229",
        "KBList":  "927186"
    },
    {
        "Version":  "8.0.2231",
        "KBList":  "928079"
    },
    {
        "Version":  "8.0.2232",
        "KBList":  "928568"
    },
    {
        "Version":  "8.0.2234",
        "KBList":  [
                       "929440",
                       "929131"
                   ]
    },
    {
        "Version":  "8.0.2236",
        "KBList":  "930484"
    },
    {
        "Version":  "8.0.2238",
        "KBList":  "931932"
    },
    {
        "Version":  "8.0.2242",
        "KBList":  "929131"
    },
    {
        "Version":  "8.0.2244",
        "KBList":  "934203"
    },
    {
        "Version":  "8.0.2245",
        "KBList":  "933573"
    },
    {
        "Version":  "8.0.2246",
        "KBList":  "935465"
    },
    {
        "Version":  "8.0.2248",
        "KBList":  "935950"
    },
    {
        "Version":  "8.0.2249",
        "KBList":  "936232"
    },
    {
        "Version":  "8.0.2253",
        "KBList":  "939317"
    },
    {
        "Version":  "8.0.2265",
        "KBList":  "944985"
    },
    {
        "Version":  "8.0.2271",
        "KBList":  "946584"
    },
    {
        "Version":  "8.0.2273",
        "KBList":  [
                       "941203",
                       "948111"
                   ]
    },
    {
        "Version":  "8.0.2279",
        "KBList":  "959678"
    },
    {
        "Version":  "8.0.2282",
        "KBList":  "960083"
    },
    {
        "Version":  "8.0.2283",
        "KBList":  "971524"
    },
    {
        "Version":  "8.0.2301",
        "KBList":  "983809"
    },
    {
        "Version":  "8.0.2305",
        "KBList":  "983811"
    },
    {
        "Version":  "9.0.0",
        "Name": "2005"
    },
    {
        "SP":  "RTM",
        "Version":  "9.0.1399",
        "SupportedUntil":  "2007-07-10T00:00:00"
    },
    {
        "Version":  "9.0.1406",
        "KBList":  "932557"
    },
    {
        "Version":  "9.0.1500",
        "KBList":  "910416"
    },
    {
        "Version":  "9.0.1502",
        "KBList":  "915793"
    },
    {
        "Version":  "9.0.1503",
        "KBList":  "911662"
    },
    {
        "Version":  "9.0.1514",
        "KBList":  "912471"
    },
    {
        "Version":  "9.0.1518",
        "KBList":  [
                       "913371",
                       "912472",
                       "913941"
                   ]
    },
    {
        "Version":  "9.0.1519",
        "KBList":  "913494"
    },
    {
        "Version":  "9.0.1528",
        "KBList":  [
                       "915122",
                       "915306",
                       "915307",
                       "915308",
                       "915309"
                   ]
    },
    {
        "Version":  "9.0.1531",
        "KBList":  "915918"
    },
    {
        "Version":  "9.0.1532",
        "KBList":  "916046"
    },
    {
        "Version":  "9.0.1533",
        "KBList":  "916086"
    },
    {
        "Version":  "9.0.1534",
        "KBList":  "916706"
    },
    {
        "Version":  "9.0.1536",
        "KBList":  "917016"
    },
    {
        "Version":  "9.0.1538",
        "KBList":  "917824"
    },
    {
        "Version":  "9.0.1539",
        "KBList":  "917738"
    },
    {
        "Version":  "9.0.1541",
        "KBList":  [
                       "917971",
                       "917888"
                   ]
    },
    {
        "Version":  "9.0.1545",
        "KBList":  "917905"
    },
    {
        "Version":  "9.0.1547",
        "KBList":  "918276"
    },
    {
        "Version":  "9.0.1550",
        "KBList":  [
                       "921106",
                       "917887"
                   ]
    },
    {
        "Version":  "9.0.1551",
        "KBList":  [
                       "922804",
                       "922527"
                   ]
    },
    {
        "Version":  "9.0.1554",
        "KBList":  "926292"
    },
    {
        "Version":  "9.0.1558",
        "KBList":  "926493"
    },
    {
        "Version":  "9.0.1561",
        "KBList":  "932556"
    },
    {
        "Version":  "9.0.2029"
    },
    {
        "Version":  "9.0.2040"
    },
    {
        "SP":  "SP1",
        "Version":  "9.0.2047",
        "SupportedUntil":  "2008-04-08T00:00:00",
        "KBList":  "913090"
    },
    {
        "Version":  "9.0.2050",
        "KBList":  "932555"
    },
    {
        "Version":  "9.0.2153",
        "KBList":  [
                       "919224",
                       "918222"
                   ]
    },
    {
        "Version":  "9.0.2156",
        "KBList":  "919611"
    },
    {
        "Version":  "9.0.2164",
        "KBList":  [
                       "919775",
                       "919636",
                       "918882",
                       "920206",
                       "921003",
                       "919929",
                       "920347",
                       "920346",
                       "919243"
                   ]
    },
    {
        "Version":  "9.0.2167",
        "KBList":  "920974"
    },
    {
        "Version":  "9.0.2174",
        "KBList":  "922063"
    },
    {
        "Version":  "9.0.2175",
        "KBList":  [
                       "921536",
                       "922438",
                       "922578",
                       "917905",
                       "921395"
                   ]
    },
    {
        "Version":  "9.0.2176",
        "KBList":  [
                       "923296",
                       "922594"
                   ]
    },
    {
        "Version":  "9.0.2181",
        "KBList":  [
                       "923634",
                       "923605"
                   ]
    },
    {
        "Version":  "9.0.2187",
        "KBList":  "923849"
    },
    {
        "Version":  "9.0.2189",
        "KBList":  "925153"
    },
    {
        "Version":  "9.0.2190",
        "KBList":  "925227"
    },
    {
        "Version":  "9.0.2191",
        "KBList":  "925135"
    },
    {
        "Version":  "9.0.2192",
        "KBList":  [
                       "925335",
                       "924954"
                   ]
    },
    {
        "Version":  "9.0.2194",
        "KBList":  "925744"
    },
    {
        "Version":  "9.0.2195",
        "KBList":  "926240"
    },
    {
        "Version":  "9.0.2196",
        "KBList":  [
                       "926335",
                       "926285"
                   ]
    },
    {
        "Version":  "9.0.2198",
        "KBList":  [
                       "925277",
                       "924808",
                       "926611",
                       "926773",
                       "926612",
                       "924624",
                       "924807",
                       "926106",
                       "926613"
                   ]
    },
    {
        "Version":  "9.0.2201",
        "KBList":  "927289"
    },
    {
        "Version":  "9.0.2202",
        "KBList":  "927643"
    },
    {
        "Version":  "9.0.2206",
        "KBList":  [
                       "928529",
                       "926493",
                       "928537",
                       "928083"
                   ]
    },
    {
        "Version":  "9.0.2207",
        "KBList":  [
                       "928789",
                       "928732",
                       "928394"
                   ]
    },
    {
        "Version":  "9.0.2208",
        "KBList":  "929179"
    },
    {
        "Version":  "9.0.2209",
        "KBList":  "929278"
    },
    {
        "Version":  "9.0.2211",
        "KBList":  [
                       "930283",
                       "930284"
                   ]
    },
    {
        "Version":  "9.0.2214",
        "KBList":  [
                       "929240",
                       "930505"
                   ]
    },
    {
        "Version":  "9.0.2216",
        "KBList":  "931821"
    },
    {
        "Version":  "9.0.2218",
        "KBList":  "931843"
    },
    {
        "Version":  "9.0.2219",
        "KBList":  "932115"
    },
    {
        "Version":  "9.0.2221",
        "KBList":  "931593"
    },
    {
        "Version":  "9.0.2223",
        "KBList":  "932393"
    },
    {
        "Version":  "9.0.2226",
        "KBList":  [
                       "933762",
                       "934065"
                   ]
    },
    {
        "Version":  "9.0.2227",
        "KBList":  "933265"
    },
    {
        "Version":  "9.0.2229",
        "KBList":  "935446"
    },
    {
        "Version":  "9.0.2230",
        "KBList":  "936179"
    },
    {
        "Version":  "9.0.2231",
        "KBList":  "934812"
    },
    {
        "Version":  "9.0.2232",
        "KBList":  "937277"
    },
    {
        "Version":  "9.0.2233",
        "KBList":  [
                       "937544",
                       "933499",
                       "937545"
                   ]
    },
    {
        "Version":  "9.0.2234",
        "KBList":  "937343"
    },
    {
        "Version":  "9.0.2236",
        "KBList":  [
                       "940286",
                       "940287"
                   ]
    },
    {
        "Version":  "9.0.2237",
        "KBList":  "940719"
    },
    {
        "Version":  "9.0.2239",
        "KBList":  "940961"
    },
    {
        "Version":  "9.0.2242",
        "KBList":  [
                       "943888",
                       "943389"
                   ]
    },
    {
        "Version":  "9.0.2243",
        "KBList":  "944968"
    },
    {
        "Version":  "9.0.2245",
        "KBList":  "933573"
    },
    {
        "Version":  "9.0.2249",
        "KBList":  "948344"
    },
    {
        "Version":  "9.0.3026",
        "KBList":  "929376"
    },
    {
        "Version":  "9.0.3027"
    },
    {
        "Version":  "9.0.3033"
    },
    {
        "SP":  "SP2",
        "Version":  "9.0.3042",
        "SupportedUntil":  "2010-01-12T00:00:00",
        "KBList":  "921896"
    },
    {
        "Version":  "9.0.3043",
        "KBList":  "933508"
    },
    {
        "Version":  "9.0.3050",
        "KBList":  "933508"
    },
    {
        "Version":  "9.0.3054",
        "KBList":  "934458"
    },
    {
        "Version":  "9.0.3068",
        "KBList":  "948109"
    },
    {
        "Version":  "9.0.3073",
        "KBList":  "954606"
    },
    {
        "Version":  "9.0.3077",
        "KBList":  "959420"
    },
    {
        "Version":  "9.0.3080",
        "KBList":  "970895"
    },
    {
        "Version":  "9.0.3152"
    },
    {
        "Version":  "9.0.3153",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3154",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3155",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3156"
    },
    {
        "Version":  "9.0.3159"
    },
    {
        "Version":  "9.0.3161",
        "CU":  "CU1"
    },
    {
        "Version":  "9.0.3162",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3166",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3169",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3171",
        "KBList":  "937745"
    },
    {
        "Version":  "9.0.3175",
        "CU":  "CU2"
    },
    {
        "Version":  "9.0.3177",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3178",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3179",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3180",
        "KBList":  "939942"
    },
    {
        "Version":  "9.0.3182",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3186",
        "CU":  "CU3"
    },
    {
        "Version":  "9.0.3194",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3195"
    },
    {
        "Version":  "9.0.3200",
        "CU":  "CU4"
    },
    {
        "Version":  "9.0.3203",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3205",
        "KBList":  "937137"
    },
    {
        "Version":  "9.0.3206"
    },
    {
        "Version":  "9.0.3208"
    },
    {
        "Version":  "9.0.3209"
    },
    {
        "Version":  "9.0.3215",
        "CU":  "CU5"
    },
    {
        "Version":  "9.0.3221",
        "KBList":  [
                       "942908",
                       "945442",
                       "945443",
                       "945916"
                   ]
    },
    {
        "Version":  "9.0.3222",
        "KBList":  [
                       "945640",
                       "945641",
                       "947196",
                       "947197"
                   ]
    },
    {
        "Version":  "9.0.3224",
        "KBList":  "947463"
    },
    {
        "Version":  "9.0.3228",
        "CU":  "CU6"
    },
    {
        "Version":  "9.0.3230",
        "KBList":  "949199"
    },
    {
        "Version":  "9.0.3231",
        "KBList":  [
                       "949595",
                       "949687"
                   ]
    },
    {
        "Version":  "9.0.3232",
        "KBList":  "949959"
    },
    {
        "Version":  "9.0.3233",
        "KBList":  "948108"
    },
    {
        "Version":  "9.0.3235",
        "KBList":  "950189"
    },
    {
        "Version":  "9.0.3239",
        "CU":  "CU7"
    },
    {
        "Version":  "9.0.3240",
        "KBList":  "951204"
    },
    {
        "Version":  "9.0.3242",
        "KBList":  "951190"
    },
    {
        "Version":  "9.0.3244",
        "KBList":  "952330"
    },
    {
        "Version":  "9.0.3246",
        "KBList":  "952233"
    },
    {
        "CU":  "CU8",
        "Version":  "9.0.3257",
        "KBList":  "951217"
    },
    {
        "Version":  "9.0.3259",
        "KBList":  [
                       "954669",
                       "954831"
                   ]
    },
    {
        "Version":  "9.0.3260",
        "KBList":  "954950"
    },
    {
        "Version":  "9.0.3282",
        "CU":  "CU9"
    },
    {
        "Version":  "9.0.3294",
        "CU":  "CU10"
    },
    {
        "CU":  "CU11",
        "Version":  "9.0.3301",
        "KBList":  "958735"
    },
    {
        "Version":  "9.0.3302",
        "KBList":  [
                       "961479",
                       "961648"
                   ]
    },
    {
        "Version":  "9.0.3303",
        "KBList":  "962290"
    },
    {
        "Version":  "9.0.3310",
        "KBList":  "960090"
    },
    {
        "CU":  "CU12",
        "Version":  "9.0.3315",
        "KBList":  "962970"
    },
    {
        "Version":  "9.0.3318",
        "KBList":  "967199"
    },
    {
        "Version":  "9.0.3320",
        "KBList":  "969142"
    },
    {
        "CU":  "CU13",
        "Version":  "9.0.3325",
        "KBList":  "967908"
    },
    {
        "Version":  "9.0.3327",
        "CU":  "CU14"
    },
    {
        "CU":  "CU15",
        "Version":  "9.0.3328",
        "KBList":  "970278"
    },
    {
        "Version":  "9.0.3353",
        "KBList":  "970896"
    },
    {
        "CU":  "CU16",
        "Version":  "9.0.3355",
        "KBList":  "974647"
    },
    {
        "CU":  "CU17",
        "Version":  "9.0.3356",
        "KBList":  "976952"
    },
    {
        "Version":  "9.0.4028"
    },
    {
        "SP":  "SP3",
        "Version":  "9.0.4035",
        "SupportedUntil":  "2012-01-10T00:00:00"
    },
    {
        "Version":  "9.0.4053",
        "KBList":  "970892"
    },
    {
        "Version":  "9.0.4060",
        "KBList":  "2494113"
    },
    {
        "Version":  "9.0.4207",
        "CU":  "CU1"
    },
    {
        "Version":  "9.0.4211",
        "CU":  "CU2"
    },
    {
        "Version":  "9.0.4216",
        "KBList":  "967101"
    },
    {
        "CU":  "CU3",
        "Version":  "9.0.4220",
        "KBList":  "967909"
    },
    {
        "Version":  "9.0.4224",
        "KBList":  "917606"
    },
    {
        "Version":  "9.0.4226",
        "CU":  "CU4"
    },
    {
        "CU":  "CU5",
        "Version":  "9.0.4230",
        "KBList":  "972511"
    },
    {
        "Version":  "9.0.4262",
        "KBList":  "970894"
    },
    {
        "CU":  "CU6",
        "Version":  "9.0.4266",
        "KBList":  "974648"
    },
    {
        "Version":  "9.0.4268",
        "KBList":  "977151"
    },
    {
        "CU":  "CU7",
        "Version":  "9.0.4273",
        "KBList":  "976951"
    },
    {
        "CU":  "CU8",
        "Version":  "9.0.4285",
        "KBList":  "978915"
    },
    {
        "CU":  "CU9",
        "Version":  "9.0.4294",
        "KBList":  "980176"
    },
    {
        "CU":  "CU10",
        "Version":  "9.0.4305",
        "KBList":  "983329"
    },
    {
        "CU":  "CU11",
        "Version":  "9.0.4309",
        "KBList":  "2258854"
    },
    {
        "CU":  "CU12",
        "Version":  "9.0.4311",
        "KBList":  "2345449"
    },
    {
        "CU":  "CU13",
        "Version":  "9.0.4315",
        "KBList":  "2438344"
    },
    {
        "CU":  "CU14",
        "Version":  "9.0.4317",
        "KBList":  "2489375"
    },
    {
        "CU":  "CU15",
        "Version":  "9.0.4325",
        "KBList":  "2507766"
    },
    {
        "Version":  "9.0.4340",
        "KBList":  "2494112"
    },
    {
        "Version":  "9.0.4912"
    },
    {
        "SP":  [
                   "SP4",
                   "LATEST"
               ],
        "Version":  "9.0.5000",
        "SupportedUntil":  "2016-04-12T00:00:00",
        "KBList":  "2463332"
    },
    {
        "Version":  "9.0.5057",
        "KBList":  "2494120"
    },
    {
        "Version":  "9.0.5069",
        "KBList":  "2716429"
    },
    {
        "CU":  "CU1",
        "Version":  "9.0.5254",
        "KBList":  "2464079"
    },
    {
        "CU":  "CU2",
        "Version":  "9.0.5259",
        "KBList":  "2489409"
    },
    {
        "CU":  "CU3",
        "Version":  "9.0.5266",
        "KBList":  "2507769"
    },
    {
        "Version":  "9.0.5292",
        "KBList":  "2494123"
    },
    {
        "Version":  "9.0.5294",
        "KBList":  "2572407"
    },
    {
        "Version":  "9.0.5295",
        "KBList":  "2598903"
    },
    {
        "Version":  "9.0.5296",
        "KBList":  "2615425"
    },
    {
        "Version":  "9.0.5324",
        "KBList":  "2716427"
    },
    {
        "Version":  "10.0.0",
        "Name": "2008"
    },
    {
        "Version":  "10.0.1019"
    },
    {
        "Version":  "10.0.1049"
    },
    {
        "Version":  "10.0.1075"
    },
    {
        "Version":  "10.0.1300"
    },
    {
        "Version":  "10.0.1442"
    },
    {
        "SP":  "RTM",
        "Version":  "10.0.1600",
        "SupportedUntil":  "2010-04-13T00:00:00"
    },
    {
        "Version":  "10.0.1750",
        "KBList":  "956718"
    },
    {
        "Version":  "10.0.1755",
        "KBList":  "957387"
    },
    {
        "CU":  "CU1",
        "Version":  "10.0.1763",
        "KBList":  "956717"
    },
    {
        "Version":  "10.0.1767",
        "KBList":  "958208"
    },
    {
        "Version":  "10.0.1771",
        "KBList":  "958611"
    },
    {
        "CU":  "CU2",
        "Version":  "10.0.1779",
        "KBList":  "958186"
    },
    {
        "CU":  "CU3",
        "Version":  "10.0.1787",
        "KBList":  "960484"
    },
    {
        "CU":  "CU4",
        "Version":  "10.0.1798",
        "KBList":  "963036"
    },
    {
        "CU":  "CU5",
        "Version":  "10.0.1806",
        "KBList":  "969531"
    },
    {
        "CU":  "CU6",
        "Version":  "10.0.1812",
        "KBList":  "971490"
    },
    {
        "CU":  "CU7",
        "Version":  "10.0.1818",
        "KBList":  "973601"
    },
    {
        "CU":  "CU8",
        "Version":  "10.0.1823",
        "KBList":  "975976"
    },
    {
        "CU":  "CU9",
        "Version":  "10.0.1828",
        "KBList":  "977444"
    },
    {
        "CU":  "CU10",
        "Version":  "10.0.1835",
        "KBList":  "979064"
    },
    {
        "Version":  "10.0.2520",
        "KBList":  "968369"
    },
    {
        "SP":  "SP1",
        "Version":  "10.0.2531",
        "SupportedUntil":  "2011-10-11T00:00:00",
        "KBList":  "968369"
    },
    {
        "Version":  "10.0.2573",
        "KBList":  "2494096"
    },
    {
        "CU":  "CU1",
        "Version":  "10.0.2710",
        "KBList":  "969099"
    },
    {
        "Version":  "10.0.2712",
        "KBList":  "970507"
    },
    {
        "CU":  "CU2",
        "Version":  "10.0.2714",
        "KBList":  "970315"
    },
    {
        "CU":  "CU3",
        "Version":  "10.0.2723",
        "KBList":  "971491"
    },
    {
        "CU":  "CU4",
        "Version":  "10.0.2734",
        "KBList":  "973602"
    },
    {
        "Version":  "10.0.2740",
        "KBList":  "976761"
    },
    {
        "CU":  "CU5",
        "Version":  "10.0.2746",
        "KBList":  "975977"
    },
    {
        "CU":  "CU6",
        "Version":  "10.0.2757",
        "KBList":  "977443"
    },
    {
        "CU":  "CU7",
        "Version":  "10.0.2766",
        "KBList":  "979065"
    },
    {
        "CU":  "CU8",
        "Version":  "10.0.2775",
        "KBList":  "981702"
    },
    {
        "Version":  "10.0.2787",
        "KBList":  "2231277"
    },
    {
        "CU":  "CU9",
        "Version":  "10.0.2789",
        "KBList":  "2083921"
    },
    {
        "CU":  "CU10",
        "Version":  "10.0.2799",
        "KBList":  "2279604"
    },
    {
        "CU":  "CU11",
        "Version":  "10.0.2804",
        "KBList":  "2413738"
    },
    {
        "CU":  "CU12",
        "Version":  "10.0.2808",
        "KBList":  "2467236"
    },
    {
        "CU":  "CU13",
        "Version":  "10.0.2816",
        "KBList":  "2497673"
    },
    {
        "CU":  "CU14",
        "Version":  "10.0.2821",
        "KBList":  "2527187"
    },
    {
        "Version":  "10.0.2841"
    },
    {
        "CU":  "CU15",
        "Version":  "10.0.2847",
        "KBList":  "2555406"
    },
    {
        "CU":  "CU16",
        "Version":  "10.0.2850",
        "KBList":  "2582282"
    },
    {
        "Version":  "10.0.3798",
        "KBList":  "979450"
    },
    {
        "SP":  "SP2",
        "Version":  "10.0.4000",
        "SupportedUntil":  "2012-10-09T00:00:00",
        "KBList":  "979450"
    },
    {
        "Version":  "10.0.4064",
        "KBList":  "2494088"
    },
    {
        "Version":  "10.0.4067",
        "KBList":  "2716434"
    },
    {
        "CU":  "CU1",
        "Version":  "10.0.4266",
        "KBList":  "2289254"
    },
    {
        "CU":  "CU2",
        "Version":  "10.0.4272",
        "KBList":  "2467239"
    },
    {
        "CU":  "CU3",
        "Version":  "10.0.4279",
        "KBList":  "2498535"
    },
    {
        "CU":  "CU4",
        "Version":  "10.0.4285",
        "KBList":  "2527180"
    },
    {
        "CU":  "CU5",
        "Version":  "10.0.4316",
        "KBList":  "2555408"
    },
    {
        "CU":  "CU6",
        "Version":  "10.0.4321",
        "KBList":  "2582285"
    },
    {
        "CU":  "CU7",
        "Version":  "10.0.4323",
        "KBList":  "2617148"
    },
    {
        "CU":  "CU8",
        "Version":  "10.0.4326",
        "KBList":  "2648096"
    },
    {
        "CU":  "CU9",
        "Version":  "10.0.4330",
        "KBList":  "2402659"
    },
    {
        "CU":  "CU10",
        "Version":  "10.0.4332",
        "KBList":  "2696625"
    },
    {
        "CU":  "CU11",
        "Version":  "10.0.4333",
        "KBList":  "2715951"
    },
    {
        "Version":  "10.0.4371",
        "KBList":  "2716433"
    },
    {
        "Version":  "10.0.5416",
        "KBList":  "2546945"
    },
    {
        "SP":  "SP3",
        "Version":  "10.0.5500",
        "SupportedUntil":  "2015-10-13T00:00:00",
        "KBList":  "2546951"
    },
    {
        "Version":  "10.0.5512",
        "KBList":  "2716436"
    },
    {
        "Version":  "10.0.5520",
        "KBList":  "2977321"
    },
    {
        "Version":  "10.0.5538",
        "KBList":  "3045305"
    },
    {
        "Version":  "10.0.5544",
        "KBList":  "3135244"
    },
    {
        "CU":  "CU1",
        "Version":  "10.0.5766",
        "KBList":  "2617146"
    },
    {
        "CU":  "CU2",
        "Version":  "10.0.5768",
        "KBList":  "2633143"
    },
    {
        "CU":  "CU3",
        "Version":  "10.0.5770",
        "KBList":  "2648098"
    },
    {
        "CU":  "CU4",
        "Version":  "10.0.5775",
        "KBList":  "2673383"
    },
    {
        "CU":  "CU5",
        "Version":  "10.0.5785",
        "KBList":  "2696626"
    },
    {
        "CU":  "CU6",
        "Version":  "10.0.5788",
        "KBList":  "271953"
    },
    {
        "CU":  "CU7",
        "Version":  "10.0.5794",
        "KBList":  "2738350"
    },
    {
        "Version":  "10.0.5826",
        "KBList":  "2716435"
    },
    {
        "CU":  "CU8",
        "Version":  "10.0.5828",
        "KBList":  "2771833"
    },
    {
        "CU":  "CU9",
        "Version":  "10.0.5829",
        "KBList":  "2799883"
    },
    {
        "Version":  "10.0.5835",
        "KBList":  "2814783"
    },
    {
        "CU":  "CU10",
        "Version":  "10.0.5840",
        "KBList":  "2834048"
    },
    {
        "CU":  "CU11",
        "Version":  "10.0.5841",
        "KBList":  "2834048"
    },
    {
        "CU":  "CU12",
        "Version":  "10.0.5844",
        "KBList":  "2863205"
    },
    {
        "CU":  "CU13",
        "Version":  "10.0.5846",
        "KBList":  "2880350"
    },
    {
        "CU":  "CU14",
        "Version":  "10.0.5848",
        "KBList":  "2893410"
    },
    {
        "CU":  "CU15",
        "Version":  "10.0.5850",
        "KBList":  "2923520"
    },
    {
        "CU":  "CU16",
        "Version":  "10.0.5852",
        "KBList":  "2936421"
    },
    {
        "CU":  "CU17",
        "Version":  "10.0.5861",
        "KBList":  "2958696"
    },
    {
        "Version":  "10.0.5867",
        "KBList":  "2877204"
    },
    {
        "Version":  "10.0.5869",
        "KBList":  "2977322"
    },
    {
        "Version":  "10.0.5890",
        "KBList":  "3045303"
    },
    {
        "Version":  "10.0.5894",
        "KBList":  "3135244"
    },
    {
        "SP":  [
                   "SP4",
                   "LATEST"
               ],
        "Version":  "10.0.6000",
        "SupportedUntil":  "2019-07-09T00:00:00",
        "KBList":  "2979596"
    },
    {
        "Version":  "10.0.6241",
        "KBList":  "3045311"
    },
    {
        "Version":  "10.0.6526",
        "KBList":  "3034373"
    },
    {
        "Version":  "10.0.6535",
        "KBList":  "3045308"
    },
    {
        "Version":  "10.0.6543",
        "KBList":  "3135244"
    },
    {
        "Version":  "10.0.6547",
        "KBList":  "3146034"
    },
    {
        "Version": "10.0.6556",
        "KBList": "4057114"
    },
    {
        "Version":  "10.50.1092",
        "Name": "2008R2"
    },
    {
        "Version":  "10.50.1352"
    },
    {
        "SP":  "RTM",
        "Version":  "10.50.1600",
        "SupportedUntil":  "2012-07-10T00:00:00"
    },
    {
        "Version":  "10.50.1617",
        "KBList":  "2494088"
    },
    {
        "CU":  "CU1",
        "Version":  "10.50.1702",
        "KBList":  "981355"
    },
    {
        "CU":  "CU2",
        "Version":  "10.50.1720",
        "KBList":  "2072493"
    },
    {
        "CU":  "CU3",
        "Version":  "10.50.1734",
        "KBList":  "2261464"
    },
    {
        "CU":  "CU4",
        "Version":  "10.50.1746",
        "KBList":  "2345451"
    },
    {
        "CU":  "CU5",
        "Version":  "10.50.1753",
        "KBList":  "2438347"
    },
    {
        "CU":  "CU6",
        "Version":  "10.50.1765",
        "KBList":  "2489376"
    },
    {
        "Version":  "10.50.1769",
        "KBList":  "2520808"
    },
    {
        "CU":  "CU7",
        "Version":  "10.50.1777",
        "KBList":  "2507770"
    },
    {
        "Version":  "10.50.1790",
        "KBList":  "2494086"
    },
    {
        "CU":  "CU8",
        "Version":  "10.50.1797",
        "KBList":  "2534352"
    },
    {
        "Version":  "10.50.1804",
        "KBList":  "2567713"
    },
    {
        "CU":  "CU9",
        "Version":  "10.50.1807",
        "KBList":  "2591746"
    },
    {
        "CU":  "CU10",
        "Version":  "10.50.1809",
        "KBList":  "2633145"
    },
    {
        "CU":  "CU11",
        "Version":  "10.50.1810",
        "KBList":  "2659692"
    },
    {
        "CU":  "CU12",
        "Version":  "10.50.1815",
        "KBList":  "2679366"
    },
    {
        "CU":  "CU13",
        "Version":  "10.50.1817",
        "KBList":  "2703280"
    },
    {
        "CU":  "CU14",
        "Version":  "10.50.2425",
        "KBList":  "2463333"
    },
    {
        "SP":  "SP1",
        "Version":  "10.50.2500",
        "SupportedUntil":  "2013-10-08T00:00:00",
        "KBList":  "2528583"
    },
    {
        "Version":  "10.50.2550",
        "KBList":  "27116440"
    },
    {
        "CU":  "CU1",
        "Version":  "10.50.2769",
        "KBList":  "2544793"
    },
    {
        "CU":  "CU2",
        "Version":  "10.50.2772",
        "KBList":  "2567714"
    },
    {
        "Version":  "10.50.2776"
    },
    {
        "CU":  "CU3",
        "Version":  "10.50.2789",
        "KBList":  "2591748"
    },
    {
        "CU":  "CU4",
        "Version":  "10.50.2796",
        "KBList":  "2633146"
    },
    {
        "Version":  "10.50.2799"
    },
    {
        "CU":  "CU5",
        "Version":  "10.50.2806",
        "KBList":  "2659694"
    },
    {
        "Version":  "10.50.2807"
    },
    {
        "CU":  "CU6",
        "Version":  "10.50.2811",
        "KBList":  "2679367"
    },
    {
        "CU":  "CU7",
        "Version":  "10.50.2817",
        "KBList":  "2703282"
    },
    {
        "CU":  "CU8",
        "Version":  "10.50.2822",
        "KBList":  "2723743"
    },
    {
        "Version":  "10.50.2861",
        "KBList":  "2716439"
    },
    {
        "CU":  "CU9",
        "Version":  "10.50.2866",
        "KBList":  "2756574"
    },
    {
        "CU":  "CU10",
        "Version":  "10.50.2868",
        "KBList":  "2783135"
    },
    {
        "CU":  "CU11",
        "Version":  "10.50.2869",
        "KBList":  "2812683"
    },
    {
        "CU":  "CU12",
        "Version":  "10.50.2874",
        "KBList":  "2828727"
    },
    {
        "CU":  "CU13",
        "Version":  "10.50.2876",
        "KBList":  "2855792"
    },
    {
        "Version":  "10.50.2881",
        "KBList":  "2868244"
    },
    {
        "Version":  "10.50.3720",
        "KBList":  "2630455"
    },
    {
        "SP":  "SP2",
        "Version":  "10.50.4000",
        "SupportedUntil":  "2015-10-13T00:00:00",
        "KBList":  "2630458"
    },
    {
        "Version":  "10.50.4033",
        "KBList":  "2977320"
    },
    {
        "Version":  "10.50.4042",
        "KBList":  "3045313"
    },
    {
        "CU":  "CU1",
        "Version":  "10.50.4260",
        "KBList":  "2720425"
    },
    {
        "CU":  "CU2",
        "Version":  "10.50.4263",
        "KBList":  "2740411"
    },
    {
        "CU":  "CU3",
        "Version":  "10.50.4266",
        "KBList":  "2754552"
    },
    {
        "CU":  "CU4",
        "Version":  "10.50.4270",
        "KBList":  "2777358"
    },
    {
        "CU":  "CU5",
        "Version":  "10.50.4276",
        "KBList":  "2797460"
    },
    {
        "Version":  "10.50.4279",
        "KBList":  "2830140"
    },
    {
        "CU":  "CU6",
        "Version":  "10.50.4285",
        "KBList":  "2830140"
    },
    {
        "CU":  "CU7",
        "Version":  "10.50.4286",
        "KBList":  "2844090"
    },
    {
        "CU":  "CU8",
        "Version":  "10.50.4290",
        "KBList":  "2871401"
    },
    {
        "CU":  "CU9",
        "Version":  "10.50.4295",
        "KBList":  "2887606"
    },
    {
        "CU":  "CU10",
        "Version":  "10.50.4297",
        "KBList":  "2908087"
    },
    {
        "CU":  "CU11",
        "Version":  "10.50.4302",
        "KBList":  "2926028"
    },
    {
        "CU":  "CU12",
        "Version":  "10.50.4305",
        "KBList":  "2938478"
    },
    {
        "CU":  "CU13",
        "Version":  "10.50.4319",
        "KBList":  "2967540"
    },
    {
        "Version":  "10.50.4339",
        "KBList":  "3045312"
    },
    {
        "Version":  "10.50.4343",
        "KBList":  "3135244"
    },
    {
        "SP":  [
                   "SP3",
                   "LATEST"
               ],
        "Version":  "10.50.6000",
        "SupportedUntil":  "2019-07-09T00:00:00",
        "KBList":  "2979597"
    },
    {
        "Version":  "10.50.6220",
        "KBList":  "3045316"
    },
    {
        "Version":  "10.50.6525",
        "KBList":  "3033860"
    },
    {
        "Version":  "10.50.6529",
        "KBList":  "3045314"
    },
    {
        "Version":  "10.50.6537",
        "KBList":  "3135244"
    },
    {
        "Version":  "10.50.6542",
        "KBList":  "3146034"
    },
    {
        "Version": "10.50.6560",
        "KBList": "4057113"
    },
    {
        "Version":  "11.0.1103",
        "Name": "2012"
    },
    {
        "Version":  "11.0.1440"
    },
    {
        "Version":  "11.0.1750"
    },
    {
        "Version":  "11.0.1913"
    },
    {
        "SP":  "RTM",
        "Version":  "11.0.2100",
        "SupportedUntil":  "2014-01-14T00:00:00"
    },
    {
        "Version":  "11.0.2214",
        "KBList":  "2685308"
    },
    {
        "Version":  "11.0.2218",
        "KBList":  "2716442"
    },
    {
        "CU":  "CU1",
        "Version":  "11.0.2316",
        "KBList":  "2679368"
    },
    {
        "CU":  "CU2",
        "Version":  "11.0.2325",
        "KBList":  "2703275"
    },
    {
        "CU":  "CU3",
        "Version":  "11.0.2332",
        "KBList":  "2723749"
    },
    {
        "Version":  "11.0.2376",
        "KBList":  "2716441"
    },
    {
        "CU":  "CU4",
        "Version":  "11.0.2383",
        "KBList":  "2758687"
    },
    {
        "CU":  "CU5",
        "Version":  "11.0.2395",
        "KBList":  "2777772"
    },
    {
        "CU":  "CU6",
        "Version":  "11.0.2401",
        "KBList":  "2728897"
    },
    {
        "CU":  "CU7",
        "Version":  "11.0.2405",
        "KBList":  "2823247"
    },
    {
        "CU":  "CU8",
        "Version":  "11.0.2410",
        "KBList":  "2844205"
    },
    {
        "CU":  "CU9",
        "Version":  "11.0.2419",
        "KBList":  "2867319"
    },
    {
        "CU":  "CU10",
        "Version":  "11.0.2420",
        "KBList":  "2891666"
    },
    {
        "CU":  "CU11",
        "Version":  "11.0.2424",
        "KBList":  "2908007"
    },
    {
        "Version":  "11.0.2809"
    },
    {
        "Version":  "11.0.2845"
    },
    {
        "SP":  "SP1",
        "Version":  "11.0.3000",
        "SupportedUntil":  "2015-07-14T00:00:00",
        "KBList":  "2674319"
    },
    {
        "Version":  "11.0.3128",
        "KBList":  "2793634"
    },
    {
        "Version":  "11.0.3153",
        "KBList":  "2977326"
    },
    {
        "Version":  "11.0.3156",
        "KBList":  "3045318"
    },
    {
        "CU":  "CU1",
        "Version":  "11.0.3321",
        "KBList":  "2765331"
    },
    {
        "Version":  "11.0.3335",
        "KBList":  "2800050"
    },
    {
        "CU":  "CU2",
        "Version":  "11.0.3339",
        "KBList":  "2790947"
    },
    {
        "CU":  "CU3",
        "Version":  "11.0.3349",
        "KBList":  "2812412"
    },
    {
        "Version":  "11.0.3350",
        "KBList":  "2832017"
    },
    {
        "CU":  "CU4",
        "Version":  "11.0.3368",
        "KBList":  "2833645"
    },
    {
        "CU":  "CU5",
        "Version":  "11.0.3373",
        "KBList":  "2861107"
    },
    {
        "CU":  "CU6",
        "Version":  "11.0.3381",
        "KBList":  "2874879"
    },
    {
        "CU":  "CU7",
        "Version":  "11.0.3393",
        "KBList":  "2894115"
    },
    {
        "CU":  "CU8",
        "Version":  "11.0.3401",
        "KBList":  "2917531"
    },
    {
        "CU":  "CU9",
        "Version":  "11.0.3412",
        "KBList":  "2931078"
    },
    {
        "CU":  "CU10",
        "Version":  "11.0.3431",
        "KBList":  "2954099"
    },
    {
        "Version":  "11.0.3437",
        "KBList":  "2969896"
    },
    {
        "CU":  "CU11",
        "Version":  "11.0.3449",
        "KBList":  "2975396"
    },
    {
        "CU":  "CU12",
        "Version":  "11.0.3460",
        "KBList":  "2977325"
    },
    {
        "CU":  "CU13",
        "Version":  "11.0.3470",
        "KBList":  "2991533"
    },
    {
        "Version":  "11.0.3482",
        "KBList":  "3002044"
    },
    {
        "CU":  "CU14",
        "Version":  "11.0.3486",
        "KBList":  "3023636"
    },
    {
        "CU":  "CU15",
        "Version":  "11.0.3487",
        "KBList":  "3038001"
    },
    {
        "CU":  "CU16",
        "Version":  "11.0.3492",
        "KBList":  "3052476"
    },
    {
        "Version":  "11.0.3513",
        "KBList":  "3045317"
    },
    {
        "SP":  "SP2",
        "Version":  "11.0.5058",
        "SupportedUntil":  "2017-01-10T00:00:00",
        "KBList":  "2958429"
    },
    {
        "Version":  "11.0.5343",
        "KBList":  "3045321"
    },
    {
        "Version":  "11.0.5352",
        "KBList":  "3135244"
    },
    {
        "Version":  "11.0.5388",
        "KBList":  "3194719"
    },
    {
        "Version":  "11.0.5522",
        "KBList":  "2969896"
    },
    {
        "CU":  "CU1",
        "Version":  "11.0.5532",
        "KBList":  "2976982"
    },
    {
        "CU":  "CU2",
        "Version":  "11.0.5548",
        "KBList":  "2983175"
    },
    {
        "CU":  "CU3",
        "Version":  "11.0.5556",
        "KBList":  "3002049"
    },
    {
        "CU":  "CU4",
        "Version":  "11.0.5569",
        "KBList":  "3007556"
    },
    {
        "Version":  "11.0.5571",
        "KBList":  "3034679"
    },
    {
        "CU":  "CU5",
        "Version":  "11.0.5582",
        "KBList":  "3037255"
    },
    {
        "CU":  "CU6",
        "Version":  "11.0.5592",
        "KBList":  "3052468"
    },
    {
        "Version":  "11.0.5613",
        "KBList":  "3045319"
    },
    {
        "CU":  "CU7",
        "Version":  "11.0.5623",
        "KBList":  "3072100"
    },
    {
        "Version":  "11.0.5629",
        "KBList":  "3087872"
    },
    {
        "CU":  "CU8",
        "Version":  "11.0.5634",
        "KBList":  "3082561"
    },
    {
        "Version":  "11.0.5636",
        "KBList":  "3097636"
    },
    {
        "CU":  "CU9",
        "Version":  "11.0.5641",
        "KBList":  "3098512"
    },
    {
        "CU":  "CU10",
        "Version":  "11.0.5644",
        "KBList":  "3120313"
    },
    {
        "CU":  "CU11",
        "Version":  "11.0.5646",
        "KBList":  "3137745"
    },
    {
        "CU":  "CU12",
        "Version":  "11.0.5649",
        "KBList":  "3152637"
    },
    {
        "CU":  "CU13",
        "Version":  "11.0.5655",
        "KBList":  "3165266"
    },
    {
        "CU":  "CU14",
        "Version":  "11.0.5657",
        "KBList":  "3180914"
    },
    {
        "CU":  "CU15",
        "Version":  "11.0.5676",
        "KBList":  [
                       "3205416",
                       "3194725"
                   ]
    },
    {
        "CU":  "CU16",
        "Version":  "11.0.5678",
        "KBList":  "3205054"
    },
    {
        "SP":  "SP3",
        "Version":  "11.0.6020",
        "SupportedUntil":  "2018-10-09T00:00:00",
        "KBList":  "3072779"
    },
    {
        "Version":  "11.0.6216",
        "KBList":  "3135244"
    },
    {
        "Version":  "11.0.6248",
        "KBList":  "3194721"
    },
    {
       "Version":  "11.0.6251",
       "KBList":  "4019092"
    },
    {
        "Version": "11.0.6260",
        "KBList": "4057115"
    },
    {
        "CU":  "CU1",
        "Version":  "11.0.6518",
        "KBList":  "3123299"
    },
    {
        "CU":  "CU2",
        "Version":  "11.0.6523",
        "KBList":  "3137746"
    },
    {
        "CU":  "CU3",
        "Version":  "11.0.6537",
        "KBList":  "3152635"
    },
    {
        "CU":  "CU4",
        "Version":  "11.0.6540",
        "KBList":  "3165264"
    },
    {
        "CU":  "CU5",
        "Version":  "11.0.6544",
        "KBList":  "3180915"
    },
    {
        "CU":  "CU6",
        "Version":  "11.0.6567",
        "KBList":  [
                       "3194992",
                       "3194724"
                   ]
    },
    {
        "CU":  "CU7",
        "Version":  "11.0.6579",
        "KBList":  "3205051"
    },
    {
        "CU":  "CU8",
        "Version":  "11.0.6594",
        "KBList":  "4013104"
    },
    {
        "CU":  "CU9",
        "Version":  "11.0.6598",
        "KBList":  "4016762"
    },
    {
        "CU":  "CU10",
        "Version":  "11.0.6607",
        "KBList":  [
                       "4025925",
                       "4019090"
                   ]
    },
    {
        "Version":  "11.0.6615",
        "KBList":  "4057121"
    },
    {
        "SP":  [
                   "SP4",
                   "LATEST"
               ],
        "SupportedUntil":  "2022-07-12T00:00:00",
        "Version":  "11.0.7001",
        "KBList":  "4018073"
    },
    {
        "Version": "11.0.7462",
        "KBList": "4057116"
    },
    {
        "Version": "11.0.7469",
        "KBList": "4091266"
    },
    {
        "Version":  "12.0.1524",
        "Name": "2014"
    },
    {
        "SP":  "RTM",
        "Version":  "12.0.2000",
        "SupportedUntil":  "2016-07-12T00:00:00"
    },
    {
        "Version":  "12.0.2254",
        "KBList":  "2977315"
    },
    {
        "Version":  "12.0.2269",
        "KBList":  "3045324"
    },
    {
        "Version":  "12.0.2271"
    },
    {
        "CU":  "CU1",
        "Version":  "12.0.2342",
        "KBList":  "2931693"
    },
    {
        "CU":  "CU2",
        "Version":  "12.0.2370",
        "KBList":  "2967546"
    },
    {
        "Version":  "12.0.2381",
        "KBList":  "2977316"
    },
    {
        "CU":  "CU3",
        "Version":  "12.0.2402",
        "KBList":  "2984923"
    },
    {
        "Version":  "12.0.2405",
        "KBList":  "2999809"
    },
    {
        "Version":  "12.0.2423",
        "KBList":  "3007050"
    },
    {
        "CU":  "CU4",
        "Version":  "12.0.2430",
        "KBList":  "2999197"
    },
    {
        "Version":  "12.0.2436",
        "KBList":  "3014867"
    },
    {
        "CU":  "CU5",
        "Version":  "12.0.2456",
        "KBList":  "3011055"
    },
    {
        "Version":  "12.0.2464",
        "KBList":  "3024815"
    },
    {
        "Version":  "12.0.2472",
        "KBList":  "3032087"
    },
    {
        "Version":  "12.0.2474",
        "KBList":  "3034679"
    },
    {
        "CU":  "CU6",
        "Version":  "12.0.2480",
        "KBList":  "3031047"
    },
    {
        "Version":  "12.0.2485",
        "KBList":  "3043788"
    },
    {
        "Version":  "12.0.2488",
        "KBList":  "3048751"
    },
    {
        "CU":  "CU7",
        "Version":  "12.0.2495",
        "KBList":  "3046038"
    },
    {
        "Version":  "12.0.2504",
        "KBList":  [
                       "3058512",
                       "2999809"
                   ]
    },
    {
        "Version":  "12.0.2505",
        "KBList":  "3052167"
    },
    {
        "Version":  "12.0.2506",
        "KBList":  "3063054"
    },
    {
        "CU":  "CU8",
        "Version":  "12.0.2546",
        "KBList":  "3067836"
    },
    {
        "Version":  "12.0.2548",
        "KBList":  "3045323"
    },
    {
        "CU":  "CU9",
        "Version":  "12.0.2553",
        "KBList":  "3075949"
    },
    {
        "CU":  "CU10",
        "Version":  "12.0.2556",
        "KBList":  "3094220"
    },
    {
        "CU":  "CU11",
        "Version":  "12.0.2560",
        "KBList":  "3106659"
    },
    {
        "CU":  "CU12",
        "Version":  "12.0.2564",
        "KBList":  "3130923"
    },
    {
        "CU":  "CU13",
        "Version":  "12.0.2568",
        "KBList":  "3144517"
    },
    {
        "CU":  "CU14",
        "Version":  "12.0.2569",
        "KBList":  "3158271"
    },
    {
        "SP":  "SP1",
        "Version":  "12.0.4100",
        "SupportedUntil":  "2017-10-10T00:00:00",
        "KBList":  "3058865"
    },
    {
        "Version":  "12.0.4213",
        "KBList":  "3070446"
    },
    {
        "Version":  "12.0.4219"
    },
    {
        "Version":  "12.0.4232",
        "KBList":  "3194720"
    },
    {
        "Version":  "12.0.4237",
        "KBList":  "4019091"
    },
    {
        "CU":  "CU1",
        "Version":  "12.0.4416",
        "KBList":  "3067839"
    },
    {
        "Version":  "12.0.4419",
        "KBList":  "3078973"
    },
    {
        "CU":  "CU2",
        "Version":  "12.0.4422",
        "KBList":  "3075950"
    },
    {
        "CU":  "CU3",
        "Version":  "12.0.4427",
        "KBList":  "3094221"
    },
    {
        "Version":  "12.0.4432",
        "KBList":  [
                       "3097972",
                       "319472"
                   ]
    },
    {
        "Version":  "12.0.4433",
        "KBList":  "3119148"
    },
    {
        "CU":  "CU4",
        "Version":  "12.0.4436",
        "KBList":  "3106660"
    },
    {
        "Version":  "12.0.4437",
        "KBList":  "3130999"
    },
    {
        "CU":  "CU5",
        "Version":  "12.0.4439",
        "KBList":  "3130926"
    },
    {
        "Version":  "12.0.4449",
        "KBList":  "3144524"
    },
    {
        "CU":  "CU6",
        "Version":  "12.0.4457",
        "KBList":  "3167392"
    },
    {
        "CU":  "CU7",
        "Version":  "12.0.4459",
        "KBList":  "3162659"
    },
    {
        "Version":  "12.0.4463",
        "KBList":  "3174370"
    },
    {
        "CU":  "CU8",
        "Version":  "12.0.4468",
        "KBList":  "917606"
    },
    {
        "CU":  "CU9",
        "Version":  "12.0.4474",
        "KBList":  "3186964"
    },
    {
        "Version":  "12.0.4487",
        "KBList":  "3194722"
    },
    {
        "CU":  "CU10",
        "Version":  "12.0.4491",
        "KBList":  "3204399"
    },
    {
        "Version":  "12.0.4502",
        "CU":  "CU11",
        "KBList":  "4010392"
    },
    {
        "Version":  "12.0.4511",
        "CU":  "CU12",
        "KBList":  "4017793"
    },
    {
        "Version":  "12.0.4522",
        "CU":  "CU13",
        "KBList":  [
                       "4019099",
                       "4032542"
                   ]
    },
    {
        "SP":  "SP2",
        "Version":  "12.0.5000",
        "SupportedUntil":  "2024-07-09T00:00:00",
        "KBList":  "3171021"
    },
    {
        "Version":  "12.0.5203",
        "KBList":  "3194714"
    },
    {
        "Version": "12.0.5207",
        "KBList": "4019093"
    },
    {
        "Version": "12.0.5214",
        "KBList": "4057120"
    },
    {
        "CU":  "CU1",
        "Version":  "12.0.5511",
        "KBList":  "3178925"
    },
    {
        "CU":  "CU2",
        "Version":  "12.0.5522",
        "KBList":  "3188778"
    },
    {
        "Version":  "12.0.5532",
        "KBList":  "3194718"
    },
    {
        "CU":  "CU3",
        "Version":  "12.0.5538",
        "KBList":  "3204388"
    },
    {
        "CU":  "CU4",
        "Version":  "12.0.5540",
        "KBList":  "4010394"
    },
    {
        "CU":  "CU5",
        "Version":  "12.0.5546",
        "KBList":  "4013098"
    },
    {
        "Version":  "12.0.5553",
        "CU":  "CU6",
        "KBList":  [
                       "4019094",
                       "4036996"
                   ]
    },
    {
        "CU":  "CU7",
        "Version":  "12.0.5556",
        "KBList":  "4032541"
    },
    {
        "CU":  "CU8",
        "Version":  "12.0.5557",
        "KBList":  "4037356"
    },
    {
        "CU": "CU9",
        "Version": "12.0.5563",
        "KBList": "4055557"
    },
    {
        "CU": "CU10",
        "Version": "12.0.5571",
        "KBList": "4052725"
    },
    {
        "CU": "CU11",
        "Version": "12.0.5579",
        "KBList": "4077063"
    },
    {
        "CU": "CU12",
        "Version": "12.0.5589",
        "KBList": "4130489"
    },
    {
        "CU": "CU13",
        "Version": "12.0.5590",
        "KBList": "4456287"
    },
    {
        "CU": "CU14",
        "Version": "12.0.5600",
        "KBList": "4459860"
    },
    {
        "SP": [
            "SP3",
            "LATEST"
        ],
        "Version": "12.0.6024",
        "SupportedUntil": "2019-09-07T00:00:00",
        "KBList": "4022619"
    },
    {
        "Version":  "13.0.200",
        "Name": "2016"
    },
    {
        "Version":  "13.0.300"
    },
    {
        "Version":  "13.0.407"
    },
    {
        "Version":  "13.0.500"
    },
    {
        "Version":  "13.0.600"
    },
    {
        "Version":  "13.0.700"
    },
    {
        "Version":  "13.0.800"
    },
    {
        "Version":  "13.0.900"
    },
    {
        "Version":  "13.0.1000"
    },
    {
        "Version":  "13.0.1100"
    },
    {
        "Version":  "13.0.1200"
    },
    {
        "Version":  "13.0.1250"
    },
    {
        "Version":  "13.0.1300"
    },
    {
        "Version":  "13.0.1400"
    },
    {
        "SP":  "RTM",
        "Version":  "13.0.1601",
        "SupportedUntil":  "2018-01-09T00:00:00"
    },
    {
        "Version":  "13.0.1708",
        "KBList":  "3164398"
    },
    {
        "Version":  "13.0.1722",
        "KBList":  "3194716"
    },
    {
        "Version":  "13.0.1728",
        "KBList":  "3210111"
    },
    {
        "Version":  "13.0.1742",
        "KBList":  "4019088"
    },
    {
        "Version": "13.0.1745",
        "KBList": "4058560"
    },
    {
        "CU":  "CU1",
        "Version":  "13.0.2149",
        "KBList":  "3164674"
    },
    {
        "CU":  "CU2",
        "Version":  "13.0.2164",
        "KBList":  "3182270"
    },
    {
        "Version":  "13.0.2169",
        "KBList":  "3195813"
    },
    {
        "Version":  "13.0.2170",
        "KBList":  "3199171"
    },
    {
        "CU":  "CU3",
        "Version":  "13.0.2186",
        "KBList":  [
                       "3205413",
                       "3194717"
                   ]
    },
    {
        "Version":  "13.0.2190",
        "KBList":  "3210110"
    },
    {
        "CU":  "CU4",
        "Version":  "13.0.2193",
        "KBList":  "3205052"
    },
    {
        "CU":  "CU5",
        "Version":  "13.0.2197",
        "KBList":  "4013105"
    },
    {
        "CU":  "CU6",
        "Version":  "13.0.2204",
        "KBList":  "4019914"
    },
    {
        "Version":  "13.0.2210",
        "CU":  "CU7",
        "KBList":  [
                       "4024304",
                       "4019086"
                   ]
    },
    {
        "CU":  "CU8",
        "Version":  "13.0.2213",
        "KBList":  "4040713"
    },
    {
        "CU": "CU9",
        "Version": "13.0.2216",
        "KBList": "4037357"
    },
    {
        "Version": "13.0.2218",
        "KBList": "4058559"
    },
    {
        "SP":  "SP1",
        "Version":  "13.0.4001",
        "SupportedUntil":  "2019-09-07T00:00:00",
        "KBList":  "3182545"
    },
    {
        "Version":  "13.0.4199",
        "KBList":  "3207512"
    },
    {
        "Version":  "13.0.4202",
        "KBList":  "3210089"
    },
    {
        "Version": "13.0.4206",
        "KBList": "4019089"
    },
    {
        "Version": "13.0.4210",
        "KBList": "4057118"
    },
    {
        "Version": "13.0.4224",
        "KBList": "4458842"
    },
    {
        "CU":  "CU1",
        "Version":  "13.0.4411",
        "KBList":  "3208177"
    },
    {
        "CU":  "CU2",
        "Version":  "13.0.4422",
        "KBList":  "4013106"
    },
    {
        "CU":  "CU3",
        "Version":  "13.0.4435",
        "KBList":  "4019916"
    },
    {
        "Version":  "13.0.4446",
        "CU":  "CU4",
        "KBList":  [
                       "4024305",
                       "4019095"
                   ]
    },
    {
        "CU":  "CU5",
        "Version":  "13.0.4451",
        "KBList":  "4040714"
    },
    {
        "CU": "CU6",
        "Version": "13.0.4457",
        "KBList": "4037354"
    },
    {
        "CU": "CU7",
        "Version": "13.0.4466",
        "KBList": "4057119"
    },
    {
        "CU": "CU8",
        "Version": "13.0.4474",
        "KBList": "4077064"
    },
    {
        "CU": "CU9",
        "Version": "13.0.4502",
        "KBList": "4100997"
    },
    {
        "CU": "CU10",
        "Version": "13.0.4514",
        "KBList": "4341569"
    },
    {
        "Version": "13.0.4522",
        "KBList": "4293808"
    },
    {
        "CU": "CU11",
        "Version": "13.0.4528",
        "KBList": "4459676"
    },
    {
        "CU": "CU12",
        "Version": "13.0.4541",
        "KBList": "4464343"
    },
    {
        "SP": [
            "SP2",
            "LATEST"
        ],
        "Version": "13.0.5026",
        "SupportedUntil": "2026-07-14T00:00:00",
        "KBList": "4052908"
    },
    {
        "Version": "13.0.5081",
        "KBList": "4293802"
    },
    {
        "CU": "CU1",
        "Version": "13.0.5149",
        "KBList": "4135048"
    },
    {
        "CU": "CU2",
        "Version": "13.0.5153",
        "KBList": "4340355"
    },
    {
        "Version": "13.0.5161",
        "KBList": "4293807"
    },
    {
        "Version": "13.0.5201",
        "KBList": "4458621"
    },
    {
        "CU": "CU3",
        "Version": "13.0.5216",
        "KBList": "4458871"
    },
    {
        "CU": "CU4",
        "Version": "13.0.5233",
        "KBList": "4464106"
    },
    {
        "Version":  "14.0.1",
        "Name": "2017"
    },
    {
        "Version":  "14.0.100"
    },
    {
        "Version":  "14.0.200"
    },
    {
        "Version":  "14.0.304"
    },
    {
        "Version":  "14.0.405"
    },
    {
        "Version":  "14.0.500"
    },
    {
        "Version":  "14.0.600"
    },
    {
        "Version":  "14.0.800"
    },
    {
        "Version":  "14.0.900"
    },
    {
        "SP":  [
                   "RTM",
                   "LATEST"
               ],
        "Version":  "14.0.1000",
        "SupportedUntil":  "2027-10-12T00:00:00"
    },
    {
        "Version": "14.0.2000",
        "KBList": "4057122"
    },
    {
        "Version": "14.0.2002",
        "KBList": "4293803"
    },
    {
        "CU":  "CU1",
        "Version":  "14.0.3006",
        "KBList":  "4038634"
    },
    {
        "CU": "CU2",
        "Version": "14.0.3008",
        "KBList": "4052574"
    },
    {
        "CU": "CU3",
        "Version": "14.0.3015",
        "KBList": "4052987"
    },
    {
        "CU": "CU4",
        "Version": "14.0.3022",
        "KBList": "4056498"
    },
    {
        "CU": "CU5",
        "Version": "14.0.3023",
        "KBList": "4092643"
    },
    {
        "CU": "CU6",
        "Version": "14.0.3025",
        "KBList": "4101464"
    },
    {
        "CU": "CU7",
        "Version": "14.0.3026",
        "KBList": "4229789"
    },
    {
        "CU": "CU8",
        "Version": "14.0.3029",
        "KBList": "4338363"
    },
    {
        "CU": "CU9",
        "Version": "14.0.3030",
        "KBList": "4341265"
    },
    {
        "Version": "14.0.3035",
        "KBList": "4293805"
    },
    {
        "CU": "CU10",
        "Version": "14.0.3037",
        "KBList": "4293805"
    },
    {
        "CU": "CU11",
        "Version": "14.0.3038",
        "KBList": "4462262"
    },
    {
        "CU": "CU12",
        "Version": "14.0.3045",
        "KBList": "4464082"
    }
    ]
}
tools\dbatools\bin\dbatools-index.json
[
    {
        "CommandName":  "Add-DbaAgDatabase",
        "Description":  "Adds a database to an availability group on a SQL Server instance.\n\nBefore joining the replica databases to the availablity group, the databases will be initialized with automatic seeding or full/log backup.",
        "Tags":  [
                     "AvailabilityGroup",
                     "HA",
                     "AG"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.\nThis should be the primary replica.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "The availability group where the databases will be added.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database or databases to add.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Secondary",
                           "Not required - the command will figure this out. But if you\u0027d like to be explicit about replicas, this will help.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SecondarySqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaDatabase, Get-DbaDbSharePoint and more.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SeedingMode",
                           "Specifies how the secondary replica will be initially seeded.\nAutomatic enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica.\nManual requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.\nIf not specified, the setting from the availability group replica will be used. Otherwise the setting will be updated.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SharedPath",
                           "The network share where the backups will be backed up and restored from.\nEach SQL Server service account must have access to this share.\nNOTE: If a backup / restore is performed, the backups will be left in tact on the network share.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "UseLastBackup",
                           "Use the last full backup of database.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds a database to an availability group on a SQL Server instance.",
        "Name":  "Add-DbaAgDatabase",
        "Links":  "https://dbatools.io/Add-DbaAgDatabase",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaAgDatabase -SqlInstance sql2017a -AvailabilityGroup ag1 -Database db1, db2 -Confirm\nAdds db1 and db2 to ag1 on sql2017a. Prompts for confirmation.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaDatabase -SqlInstance sql2017a | Out-GridView -Passthru | Add-DbaAgDatabase -AvailabilityGroup ag1\nAdds selected databases from sql2017a to ag1\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaDbSharePoint -SqlInstance sqlcluster | Add-DbaAgDatabase -AvailabilityGroup SharePoint\nAdds SharePoint databases as found in SharePoint_Config on sqlcluster to ag1 on sqlcluster\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaDbSharePoint -SqlInstance sqlcluster -ConfigDatabase SharePoint_Config_2019 | Add-DbaAgDatabase -AvailabilityGroup SharePoint\nAdds SharePoint databases as found in SharePoint_Config_2019 on sqlcluster to ag1 on sqlcluster",
        "Syntax":  "Add-DbaAgDatabase [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [-AvailabilityGroup] \u003cString\u003e [[-Database] \u003cString[]\u003e] [[-Secondary] \u003cDbaInstanceParameter[]\u003e] [[-SecondarySqlCredential] \u003cPSCredential\u003e] [[-InputObject] \u003cDatabase[]\u003e] [[-SeedingMode] \u003cString\u003e] [[-SharedPath] \u003cString\u003e] [-UseLastBackup] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaAgListener",
        "Description":  "Adds a listener to an availability group on a SQL Server instance.",
        "Tags":  [
                     "AvailabilityGroup",
                     "HA",
                     "AG"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "The Availability Group to which a listener will be bestowed upon.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IPAddress",
                           "Sets the IP address of the availability group listener.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SubnetMask",
                           "Sets the subnet IP mask of the availability group listener. Defaults to 255.255.255.0.",
                           "",
                           false,
                           "false",
                           "255.255.255.0"
                       ],
                       [
                           "Port",
                           "Sets the port number used to communicate with the availability group. Defaults to 1433.",
                           "",
                           false,
                           "false",
                           "1433"
                       ],
                       [
                           "Dhcp",
                           "Indicates whether the listener uses DHCP.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Passthru",
                           "Don\u0027t create the listener, just pass thru an object that can be further customized before creation.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaAvailabilityGroup",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds a listener to an availability group on a SQL Server instance.",
        "Name":  "Add-DbaAgListener",
        "Links":  "https://dbatools.io/Add-DbaAgListener",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaAgListener -SqlInstance sql2017 -AvailabilityGroup SharePoint -IPAddress 10.0.20.20\nCreates a listener on 10.0.20.20 port 1433 for the SharePoint availability group on sql2017.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sql2017 -AvailabilityGroup availabilitygroup1 | Add-DbaAgListener -Dhcp\nCreates a listener on port 1433 with a dynamic IP for the group1 availability group on sql2017.",
        "Syntax":  "Add-DbaAgListener [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString[]\u003e] [[-IPAddress] \u003cIPAddress\u003e] [[-SubnetMask] \u003cIPAddress\u003e] [[-Port] \u003cInt32\u003e] [-Dhcp] [-Passthru] [[-InputObject] \u003cAvailabilityGroup[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaAgReplica",
        "Description":  "Adds a replica to an availability group on a SQL Server instance.\n\nAutomatically creates a database mirroring endpoint if required.",
        "Tags":  [
                     "AvailabilityGroup",
                     "HA",
                     "AG"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "The Availability Group to which a replica will be bestowed upon.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "The name of the replica. Defaults to the SQL Server instance name.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityMode",
                           "Sets the availability mode of the availability group replica. Options are: AsynchronousCommit and SynchronousCommit. SynchronousCommit is default.",
                           "",
                           false,
                           "false",
                           "SynchronousCommit"
                       ],
                       [
                           "FailoverMode",
                           "Sets the failover mode of the availability group replica. Options are Automatic and Manual. Automatic is default.",
                           "",
                           false,
                           "false",
                           "Automatic"
                       ],
                       [
                           "BackupPriority",
                           "Sets the backup priority availability group replica. Default is 50.",
                           "",
                           false,
                           "false",
                           "50"
                       ],
                       [
                           "ConnectionModeInPrimaryRole",
                           "Specifies the connection intent modes of an Availability Replica in primary role. AllowAllConnections by default.",
                           "",
                           false,
                           "false",
                           "AllowAllConnections"
                       ],
                       [
                           "ConnectionModeInSecondaryRole",
                           "Specifies the connection modes of an Availability Replica in secondary role. AllowAllConnections by default.",
                           "",
                           false,
                           "false",
                           "AllowAllConnections"
                       ],
                       [
                           "SeedingMode",
                           "Specifies how the secondary replica will be initially seeded.\nAutomatic enables direct seeding. This method will seed the secondary replica over the network. This method does not require you to backup and restore a copy of the primary database on the replica.\nManual requires you to create a backup of the database on the primary replica and manually restore that backup on the secondary replica.",
                           "",
                           false,
                           "false",
                           "Automatic"
                       ],
                       [
                           "Endpoint",
                           "By default, this command will attempt to find a DatabaseMirror endpoint. If one does not exist, it will create it.\nIf an endpoint must be created, the name \"hadr_endpoint\" will be used. If an alternative is preferred, use Endpoint.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Passthru",
                           "Don\u0027t create the replica, just pass thru an object that can be further customized before creation.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ReadonlyRoutingConnectionUrl",
                           "Sets the read only routing connection url for the availability replica.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Certificate",
                           "Specifies that the endpoint is to authenticate the connection using the certificate specified by certificate_name to establish identity for authorization.\nThe far endpoint must have a certificate with the public key matching the private key of the specified certificate.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaAvailabilityGroup.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds a replica to an availability group on a SQL Server instance.",
        "Name":  "Add-DbaAgReplica",
        "Links":  "https://dbatools.io/Add-DbaAgReplica",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sql2017a -AvailabilityGroup SharePoint | Add-DbaAgReplica -SqlInstance sql2017b\nAdds sql2017b to the SharePoint availability group on sql2017a\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sql2017a -AvailabilityGroup SharePoint | Add-DbaAgReplica -SqlInstance sql2017b -FailoverMode Manual\nAdds sql2017b to the SharePoint availability group on sql2017a with a manual failover mode.",
        "Syntax":  "Add-DbaAgReplica [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString\u003e] [[-Name] \u003cString\u003e] [[-AvailabilityMode] \u003cString\u003e] [[-FailoverMode] \u003cString\u003e] [[-BackupPriority] \u003cInt32\u003e] [[-ConnectionModeInPrimaryRole] \u003cString\u003e] [[-ConnectionModeInSecondaryRole] \u003cString\u003e] [[-SeedingMode] \u003cString\u003e] [[-Endpoint] \u003cString\u003e] [-Passthru] [[-ReadonlyRoutingConnectionUrl] \u003cString\u003e] [[-Certificate] \u003cString\u003e] [[-InputObject] \u003cAvailabilityGroup\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaCmsRegServer",
        "Description":  "Adds registered servers to SQL Server Central Management Server (CMS). If you need more flexiblity, look into Import-DbaCmsRegServer which\naccepts multiple kinds of input and allows you to add reg servers from different CMSes.",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance",
                           "ServerInstance,SqlServer",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ServerName",
                           "Server Name is the actual SQL instance name (labeled Server Name)",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "Name is basically the nickname in SSMS CMS interface (labeled Registered Server Name)",
                           "",
                           false,
                           "false",
                           "$ServerName"
                       ],
                       [
                           "Description",
                           "Adds a description for the registered server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Group",
                           "Adds the registered server to a specific group.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Allows the piping of a registered server group",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Add-DbaRegisteredServer",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds registered servers to SQL Server Central Management Server (CMS)",
        "Name":  "Add-DbaCmsRegServer",
        "Links":  "https://dbatools.io/Add-DbaCmsRegServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaCmsRegServer -SqlInstance sql2008 -ServerName sql01\nCreates a registered server on sql2008\u0027s CMS which points to the SQL Server, sql01. When scrolling in CMS, the name \"sql01\" will be visible.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-DbaCmsRegServer -SqlInstance sql2008 -ServerName sql01 -Name \"The 2008 Clustered Instance\" -Description \"HR\u0027s Dedicated SharePoint instance\"\nCreates a registered server on sql2008\u0027s CMS which points to the SQL Server, sql01. When scrolling in CMS, \"The 2008 Clustered Instance\" will be visible.\r\nClearly this is hard to explain ;)\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eAdd-DbaCmsRegServer -SqlInstance sql2008 -ServerName sql01 -Group hr\\Seattle\nCreates a registered server on sql2008\u0027s CMS which points to the SQL Server, sql01. When scrolling in CMS, the name \"sql01\" will be visible within the Seattle group which is in the hr group.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sql2008 -Group hr\\Seattle | Add-DbaCmsRegServer -ServerName sql01111\nCreates a registered server on sql2008\u0027s CMS which points to the SQL Server, sql01. When scrolling in CMS, the name \"sql01\" will be visible within the Seattle group which is in the hr group.",
        "Syntax":  "Add-DbaCmsRegServer [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [-ServerName] \u003cString\u003e [[-Name] \u003cString\u003e] [[-Description] \u003cString\u003e] [[-Group] \u003cObject\u003e] [[-InputObject] \u003cServerGroup[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaCmsRegServerGroup",
        "Description":  "Adds registered server groups to SQL Server Central Management Server (CMS). If you need more flexibility, look into Import-DbaCmsRegServer which accepts multiple kinds of input and allows you to add reg servers and groups from different CMS.",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance",
                           "ServerInstance,SqlServer",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "The name of the registered server group",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Description",
                           "The description for the registered server group",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Group",
                           "The SQL Server Central Management Server group. If no groups are specified, the new group will be created at the root.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Allows results from Get-DbaCmsRegServerGroup to be piped in",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Add-DbaRegisteredServerGroup",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds registered server groups to SQL Server Central Management Server (CMS)",
        "Name":  "Add-DbaCmsRegServerGroup",
        "Links":  "https://dbatools.io/Add-DbaCmsRegServerGroup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaCmsRegServerGroup -SqlInstance sql2012 -Name HR\nCreates a registered server group called HR, in the root of sql2012\u0027s CMS\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-DbaCmsRegServerGroup -SqlInstance sql2012, sql2014 -Name sub-folder -Group HR\nCreates a registered server group on sql2012 and sql2014 called sub-folder within the HR group\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sql2012, sql2014 -Group HR | Add-DbaCmsRegServerGroup -Name sub-folder\nCreates a registered server group on sql2012 and sql2014 called sub-folder within the HR group of each server",
        "Syntax":  "Add-DbaCmsRegServerGroup [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [-Name] \u003cString\u003e [[-Description] \u003cString\u003e] [[-Group] \u003cString\u003e] [[-InputObject] \u003cServerGroup[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaComputerCertificate",
        "Description":  "Adds a computer certificate from a local or remote computer.",
        "Tags":  "Certificate",
        "Params":  [
                       [
                           "ComputerName",
                           "The target SQL Server instance or instances. Defaults to localhost.",
                           "ServerInstance,SqlServer,SqlInstance",
                           false,
                           "false",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to $ComputerName using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SecurePassword",
                           "The password for the certificate, if it is password protected.",
                           "Password",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Certificate",
                           "The target certificate object.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Path",
                           "The local path to the target certificate object.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Store",
                           "Certificate store. Default is LocalMachine.",
                           "",
                           false,
                           "false",
                           "LocalMachine"
                       ],
                       [
                           "Folder",
                           "Certificate folder. Default is My (Personal).",
                           "",
                           false,
                           "false",
                           "My"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds a computer certificate - useful for older systems.",
        "Name":  "Add-DbaComputerCertificate",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaComputerCertificate -ComputerName Server1 -Path C:\\temp\\cert.cer\nAdds the local C:\\temp\\cert.cer to the remote server Server1 in LocalMachine\\My (Personal).\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eAdd-DbaComputerCertificate -Path C:\\temp\\cert.cer\nAdds the local C:\\temp\\cert.cer to the local computer\u0027s LocalMachine\\My (Personal) certificate store.",
        "Syntax":  "Add-DbaComputerCertificate [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [[-SecurePassword] \u003cSecureString\u003e] [[-Certificate] \u003cX509Certificate2[]\u003e] [[-Path] \u003cString\u003e] [[-Store] \u003cString\u003e] [[-Folder] \u003cString\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaDbMirrorMonitor",
        "Description":  "Creates a database mirroring monitor job that periodically updates the mirroring status for every mirrored database on the server instance.\n\nBasically executes sp_dbmmonitoraddmonitoring.",
        "Tags":  [
                     "Mirror",
                     "HA"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternate Windows or SQL Login Authentication. Accepts credential objects (Get-Credential).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Creates a database mirroring monitor job that periodically updates the mirroring status for every mirrored database on the server instance.",
        "Name":  "Add-DbaDbMirrorMonitor",
        "Links":  "https://dbatools.io/Add-DbaDbMirrorMonitor",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaDbMirrorMonitor -SqlInstance sql2008, sql2012\nCreates a database mirroring monitor job that periodically updates the mirroring status for every mirrored database on sql2008 and sql2012.",
        "Syntax":  "Add-DbaDbMirrorMonitor [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Add-DbaPfDataCollectorCounter",
        "Description":  "Adds a Performance Data Collector Counter.",
        "Tags":  "PerfMon",
        "Params":  [
                       [
                           "ComputerName",
                           "The target computer. Defaults to localhost.",
                           "",
                           false,
                           "false",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to $ComputerName using alternative credentials. To use:\n$cred = Get-Credential, then pass $cred object to the -Credential parameter.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CollectorSet",
                           "The Collector Set name.",
                           "DataCollectorSet",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Collector",
                           "The Collector name.",
                           "DataCollector",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Counter",
                           "The Counter name. This must be in the form of \u0027\\Processor(_Total)\\% Processor Time\u0027.",
                           "Name",
                           true,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "InputObject",
                           "Accepts the object output by Get-DbaPfDataCollector via the pipeline.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Adds a Performance Data Collector Counter.",
        "Name":  "Add-DbaPfDataCollectorCounter",
        "Links":  "https://dbatools.io/Add-DbaPfDataCollectorCounter",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eAdd-DbaPfDataCollectorCounter -ComputerName sql2017 -CollectorSet \u0027System Correlation\u0027 -Collector DataCollector01  -Counter \u0027\\LogicalDisk(*)\\Avg. Disk Queue Length\u0027\nAdds the \u0027\\LogicalDisk(*)\\Avg. Disk Queue Length\u0027 counter within the DataCollector01 collector within the System Correlation collector set on sql2017.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaPfDataCollector | Out-GridView -PassThru | Add-DbaPfDataCollectorCounter -Counter \u0027\\LogicalDisk(*)\\Avg. Disk Queue Length\u0027 -Confirm\nAllows you to select which Data Collector you\u0027d like to add the counter \u0027\\LogicalDisk(*)\\Avg. Disk Queue Length\u0027 on localhost and prompts for confirmation.",
        "Syntax":  "Add-DbaPfDataCollectorCounter [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [[-CollectorSet] \u003cString[]\u003e] [[-Collector] \u003cString[]\u003e] [-Counter] \u003cObject[]\u003e [[-InputObject] \u003cObject[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Backup-DbaDatabase",
        "Description":  "Performs a backup of a specified type of 1 or more databases on a single SQL Server Instance. These backups may be Full, Differential or Transaction log backups.",
        "Tags":  [
                     "DisasterRecovery",
                     "Backup",
                     "Restore"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The SQL Server instance hosting the databases to be backed up.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credentials to connect to the SQL Server instance if the calling user does not have permission.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. This list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "BackupDirectory",
                           "Path in which to place the backup files. If not specified, the backups will be placed in the default backup location for SqlInstance.\r\nIf multiple paths are specified, the backups will be striped across these locations. This will overwrite the FileCount option.\nIf the path does not exist, Sql Server will attempt to create it. Folders are created by the Sql Instance, and checks will be made for write permissions.\nFile Names with be suffixed with x-of-y to enable identifying striped sets, where y is the number of files in the set and x ranges from 1 to y.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "BackupFileName",
                           "The name of the file to backup to. This is only accepted for single database backups.\r\nIf no name is specified then the backup files will be named DatabaseName_yyyyMMddHHmm (i.e. \"Database1_201714022131\") with the appropriate extension.\nIf the same name is used repeatedly, SQL Server will add backups to the same file at an incrementing position.\nSQL Server needs permissions to write to the specified location. Path names are based on the SQL Server (C:\\ is the C drive on the SQL Server, not the machine running the script).\nPassing in NUL as the BackupFileName will backup to the NUL: device",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ReplaceInName",
                           "If this switch is set, the following list of strings will be replaced in the BackupFileName and BackupDirectory strings:\r\n    instancename - will be replaced with the instance Name\r\n    servername - will be replaced with the server name\r\n    dbname - will be replaced with the database name\r\n    timestamp - will be replaced with the timestamp (either the default, or the format provided)\r\n    backuptype - will be replaced with Full, Log or Differential as appropriate",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "CopyOnly",
                           "If this switch is enabled, CopyOnly backups will be taken. By default function performs a normal backup, these backups interfere with the restore chain of the database. CopyOnly backups will not \r\ninterfere with the restore chain of the database.\nFor more details please refer to this MSDN article - https://msdn.microsoft.com/en-us/library/ms191495.aspx",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Type",
                           "The type of SQL Server backup to perform. Accepted values are \"Full\", \"Log\", \"Differential\", \"Diff\", \"Database\"",
                           "",
                           false,
                           "false",
                           "Database"
                       ],
                       [
                           "InputObject",
                           "Internal parameter",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "CreateFolder",
                           "If this switch is enabled, each database will be backed up into a separate folder on each of the paths specified by BackupDirectory.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "FileCount",
                           "This is the number of striped copies of the backups you wish to create.    This value is overwritten if you specify multiple Backup Directories.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "CompressBackup",
                           "If this switch is enabled, the function will try to perform a compressed backup if supported by the version and edition of SQL Server. Otherwise, this function will use the server(s) default setting \r\nfor compression.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Checksum",
                           "If this switch is enabled, the backup checksum will be calculated.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Verify",
                           "If this switch is enabled, the backup will be verified by running a RESTORE VERIFYONLY against the SqlInstance",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "MaxTransferSize",
                           "Sets the size of the unit of transfer. Values must be a multiple of 64kb.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "BlockSize",
                           "Specifies the block size to use. Must be one of 0.5KB, 1KB, 2KB, 4KB, 8KB, 16KB, 32KB or 64KB. This can be specified in bytes.\r\nRefer to https://msdn.microsoft.com/en-us/library/ms178615.aspx for more detail",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "BufferCount",
                           "Number of I/O buffers to use to perform the operation.\r\nRefer to https://msdn.microsoft.com/en-us/library/ms178615.aspx for more detail",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "AzureBaseUrl",
                           "The URL to the base container of an Azure Storage account to write backups to.\nIf specified, the only other parameters than can be used are \"NoCopyOnly\", \"Type\", \"CompressBackup\", \"Checksum\", \"Verify\", \"AzureCredential\", \"CreateFolder\".",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AzureCredential",
                           "The name of the credential on the SQL instance that can write to the AzureBaseUrl, only needed if using Storage access keys\r\nIf using SAS credentials, the command will look for a credential with a name matching the AzureBaseUrl",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoRecovery",
                           "This is passed in to perform a tail log backup if needed",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "BuildPath",
                           "By default this command will not attempt to create missing paths, this switch will change the behaviour so that it will",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WithFormat",
                           "Formats the media as the first step of the backup operation. NOTE: This will set Initialize and SkipTapeHeader to $true.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Initialize",
                           "Initializes the media as part of the backup operation.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SkipTapeHeader",
                           "Initializes the media as part of the backup operation.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "TimeStampFormat",
                           "By default the command timestamps backups using the format yyyyMMddHHmm. Using this parameter this can be overridden. The timestamp format should be defined using the Get-Date formats, illegal \r\nformats will cause an error to be thrown",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IgnoreFileChecks",
                           "This switch stops the function from checking for the validity of paths. This can be useful if SQL Server only has read access to the backup area.\r\nNote, that as we cannot check the path you may well end up with errors.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "OutputScriptOnly",
                           "Switch causes only the T-SQL script for the backup to be generated. Will not create any paths if they do not exist",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stuart Moore (@napalmgram), stuart-moore.com",
        "Synopsis":  "Backup one or more SQL Sever databases from a single SQL Server SqlInstance.",
        "Name":  "Backup-DbaDatabase",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-DbaDatabase -SqlInstance Server1 -Database HR, Finance\nThis will perform a full database backup on the databases HR and Finance on SQL Server Instance Server1 to Server1 default backup directory.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-DbaDatabase -SqlInstance sql2016 -BackupDirectory C:\\temp -Database AdventureWorks2014 -Type Full\nBacks up AdventureWorks2014 to sql2016 C:\\temp folder.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eBackup-DbaDatabase -SqlInstance sql2016 -AzureBaseUrl https://dbatoolsaz.blob.core.windows.net/azbackups/ -AzureCredential dbatoolscred -Type Full -CreateFolder\nPerforms a full backup of all databases on the sql2016 instance to their own containers under the https://dbatoolsaz.blob.core.windows.net/azbackups/ container on Azure blog storage using the sql \r\ncredential \"dbatoolscred\" registered on the sql2016 instance.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eBackup-DbaDatabase -SqlInstance sql2016 -AzureBaseUrl https://dbatoolsaz.blob.core.windows.net/azbackups/  -Type Full\nPerforms a full backup of all databases on the sql2016 instance to the https://dbatoolsaz.blob.core.windows.net/azbackups/ container on Azure blog storage using the Shared Access Signature sql \r\ncredential \"https://dbatoolsaz.blob.core.windows.net/azbackups\" registered on the sql2016 instance.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eBackup-Dbadatabase -SqlInstance Server1\\Prod -Database db1 -BackupDirectory \\\\filestore\\backups\\servername\\instancename\\dbname\\backuptype -Type Full -ReplaceInName\nPerforms a full backup of db1 into the folder \\\\filestore\\backups\\server1\\prod\\db1\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eBackup-Dbadatabase -SqlInstance Server1\\Prod -BackupDirectory \\\\filestore\\backups\\servername\\instancename\\dbname\\backuptype -BackupFileName dbname-backuptype-timestamp.trn -Type Log \r\n-ReplaceInName\nPerforms a log backup for every database. For the database db1 this would results in backup files in \\\\filestore\\backups\\server1\\prod\\db1\\Log\\db1-log-31102018.trn\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eBackup-DbaDatabase -SqlInstance Sql2017 -Database master -BackupFileName NUL\nPerforms a backup of master, but sends the output to the NUL device (ie; throws it away)",
        "Syntax":  "Backup-DbaDatabase [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-BackupDirectory \u003cString[]\u003e] [-BackupFileName \u003cString\u003e] [-ReplaceInName] [-CopyOnly] [-Type \u003cString\u003e] [-CreateFolder] [-FileCount \u003cInt32\u003e] [-CompressBackup] [-Checksum] [-Verify] [-MaxTransferSize \u003cInt32\u003e] [-BlockSize \u003cInt32\u003e] [-BufferCount \u003cInt32\u003e] [-AzureBaseUrl \u003cString\u003e] [-AzureCredential \u003cString\u003e] [-NoRecovery] [-BuildPath] [-WithFormat] [-Initialize] [-SkipTapeHeader] [-TimeStampFormat \u003cString\u003e] [-IgnoreFileChecks] [-OutputScriptOnly] [-EnableException] [-WhatIf] [-Confirm] \r\n[\u003cCommonParameters\u003e]\nBackup-DbaDatabase -SqlInstance \u003cDbaInstanceParameter\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-BackupDirectory \u003cString[]\u003e] [-BackupFileName \u003cString\u003e] [-ReplaceInName] [-CopyOnly] [-Type \u003cString\u003e] [-CreateFolder] [-FileCount \u003cInt32\u003e] [-CompressBackup] [-Checksum] [-Verify] [-MaxTransferSize \u003cInt32\u003e] [-BlockSize \u003cInt32\u003e] [-BufferCount \u003cInt32\u003e] [-AzureBaseUrl \u003cString\u003e] [-AzureCredential \u003cString\u003e] [-NoRecovery] [-BuildPath] [-WithFormat] [-Initialize] [-SkipTapeHeader] [-TimeStampFormat \u003cString\u003e] [-IgnoreFileChecks] [-OutputScriptOnly] \r\n[-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nBackup-DbaDatabase [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-BackupDirectory \u003cString[]\u003e] [-BackupFileName \u003cString\u003e] [-ReplaceInName] [-CopyOnly] [-Type \u003cString\u003e] -InputObject \u003cObject[]\u003e [-CreateFolder] [-FileCount \u003cInt32\u003e] [-CompressBackup] [-Checksum] [-Verify] [-MaxTransferSize \u003cInt32\u003e] [-BlockSize \u003cInt32\u003e] [-BufferCount \u003cInt32\u003e] [-AzureBaseUrl \u003cString\u003e] [-AzureCredential \u003cString\u003e] [-NoRecovery] [-BuildPath] [-WithFormat] [-Initialize] [-SkipTapeHeader] [-TimeStampFormat \u003cString\u003e] [-IgnoreFileChecks] [-OutputScriptOnly] [-EnableException] \r\n[-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Backup-DbaDbCertificate",
        "Description":  "Exports database certificates from SQL Server using SMO and outputs the .cer and .pvk files.",
        "Tags":  [
                     "Migration",
                     "Certificate"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Certificate",
                           "Exports certificate that matches the name(s).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Exports the encryptor for specific database(s).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Database(s) to skip when exporting encryptors.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EncryptionPassword",
                           "A string value that specifies the system path to encrypt the private key.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DecryptionPassword",
                           "A string value that specifies the system path to decrypt the private key.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to output the files to. The path is relative to the SQL Server itself. If no path is specified, the default data directory will be used.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Suffix",
                           "The suffix of the filename of the exported certificate.",
                           "",
                           false,
                           "false",
                           "\"$(Get-Date -format \u0027yyyyMMddHHmmssms\u0027)\""
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaDbCertificate",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Backup-DbaDatabaseCertificate",
        "Author":  "Jess Pomfret (@jpomfret)",
        "Synopsis":  "Exports database certificates from SQL Server using SMO.",
        "Name":  "Backup-DbaDbCertificate",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1\nExports all the certificates on the specified SQL Server to the default data path for the instance.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$cred = Get-Credential sqladmin\nPS C:\\\u003e Backup-DbaDbCertificate -SqlInstance Server1 -SqlCredential $cred\nConnects using sqladmin credential and exports all the certificates on the specified SQL Server to the default data path for the instance.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -Certificate Certificate1\nExports only the certificate named Certificate1 on the specified SQL Server to the default data path for the instance.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -Database AdventureWorks\nExports only the certificates for AdventureWorks on the specified SQL Server to the default data path for the instance.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -ExcludeDatabase AdventureWorks\nExports all certificates except those for AdventureWorks on the specified SQL Server to the default data path for the instance.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -Path \\\\Server1\\Certificates -EncryptionPassword (ConvertTo-SecureString -force -AsPlainText GoodPass1234!!)\nExports all the certificates and private keys on the specified SQL Server.\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003e$EncryptionPassword = ConvertTo-SecureString -AsPlainText \"GoodPass1234!!\" -force\nPS C:\\\u003e $DecryptionPassword = ConvertTo-SecureString -AsPlainText \"Password4567!!\" -force\r\nPS C:\\\u003e Backup-DbaDbCertificate -SqlInstance Server1 -EncryptionPassword $EncryptionPassword -DecryptionPassword $DecryptionPassword\nExports all the certificates on the specified SQL Server using the supplied DecryptionPassword, since an EncryptionPassword is specified private keys are also exported.\n-------------------------- EXAMPLE 8 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -Path \\\\Server1\\Certificates\nExports all certificates on the specified SQL Server to the specified path.\n-------------------------- EXAMPLE 9 --------------------------\nPS C:\\\u003eBackup-DbaDbCertificate -SqlInstance Server1 -Suffix DbaTools\nExports all certificates on the specified SQL Server to the specified path, appends DbaTools to the end of the filenames.\n-------------------------- EXAMPLE 10 --------------------------\nPS C:\\\u003eGet-DbaDbCertificate -SqlInstance sql2016 | Backup-DbaDbCertificate\nExports all certificates found on sql2016 to the default data directory.",
        "Syntax":  "Backup-DbaDbCertificate [-SqlCredential \u003cPSCredential\u003e] [-EncryptionPassword \u003cSecureString\u003e] [-DecryptionPassword \u003cSecureString\u003e] [-Path \u003cFileInfo\u003e] [-Suffix \u003cString\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nBackup-DbaDbCertificate -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Certificate \u003cObject[]\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-EncryptionPassword \u003cSecureString\u003e] [-DecryptionPassword \u003cSecureString\u003e] [-Path \u003cFileInfo\u003e] [-Suffix \u003cString\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nBackup-DbaDbCertificate [-SqlCredential \u003cPSCredential\u003e] [-EncryptionPassword \u003cSecureString\u003e] [-DecryptionPassword \u003cSecureString\u003e] [-Path \u003cFileInfo\u003e] [-Suffix \u003cString\u003e] [-InputObject \u003cCertificate[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Backup-DbaDbMasterKey",
        "Description":  "Backs up specified database master key.",
        "Tags":  [
                     "Certificate",
                     "Database"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to SQL Server using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "Pass a credential object for the password",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Backup master key from specific database(s).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SecurePassword",
                           "The password to encrypt the exported key. This must be a SecureString.",
                           "Password",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The directory to export the key. If no path is specified, the default backup directory for the instance will be used.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Database object piped in from Get-DbaDatabase",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Backup-DbaDatabaseMasterKey",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Backs up specified database master key.",
        "Name":  "Backup-DbaDbMasterKey",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eBackup-DbaDbMasterKey -SqlInstance server1\\sql2016\n```\r\nComputerName : SERVER1\r\nInstanceName : SQL2016\r\nSqlInstance  : SERVER1\\SQL2016\r\nDatabase     : master\r\nFilename     : E:\\MSSQL13.SQL2016\\MSSQL\\Backup\\server1$sql2016-master-20170614162311.key\r\nStatus       : Success\r\n```\nPrompts for export password, then logs into server1\\sql2016 with Windows credentials then backs up all database keys to the default backup directory.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eBackup-DbaDbMasterKey -SqlInstance Server1 -Database db1 -Path \\\\nas\\sqlbackups\\keys\nLogs into sql2016 with Windows credentials then backs up db1\u0027s keys to the \\\\nas\\sqlbackups\\keys directory.",
        "Syntax":  "Backup-DbaDbMasterKey [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Database] \u003cString[]\u003e] [[-ExcludeDatabase] \u003cString[]\u003e] [[-SecurePassword] \u003cSecureString\u003e] [[-Path] \u003cString\u003e] [[-InputObject] \u003cDatabase[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Clear-DbaConnectionPool",
        "Description":  "This command resets (or empties) the connection pool.\n\nIf there are connections in use at the time of the call, they are marked appropriately and will be discarded (instead of being returned to the pool) when Close() is called on them.\n\nRef: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.clearallpools(v=vs.110).aspx",
        "Tags":  "Connection",
        "Params":  [
                       [
                           "ComputerName",
                           "Target computer(s). If no computer name is specified, the local computer is targeted.",
                           "cn,host,Server",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Alternate credential object to use for accessing the target computer(s).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Clear-DbaSqlConnectionPool",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Resets (or empties) the connection pool.",
        "Name":  "Clear-DbaConnectionPool",
        "Links":  "https://dbatools.io/Clear-DbaConnectionPool",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-DbaConnectionPool\nClears all local connection pools.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-DbaConnectionPool -ComputerName workstation27\nClears all connection pools on workstation27.",
        "Syntax":  "Clear-DbaConnectionPool [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Clear-DbaLatchStatistics",
        "Description":  "Reset the aggregated statistics - basically just executes DBCC SQLPERF (N\u0027sys.dm_os_latch_stats\u0027, CLEAR)",
        "Tags":  [
                     "LatchStatistic",
                     "Waits"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "Allows you to specify a comma separated list of servers to query.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Patrick Flynn (@sqllensman)",
        "Synopsis":  "Clears Latch Statistics",
        "Name":  "Clear-DbaLatchStatistics",
        "Links":  "https://dbatools.io/Clear-DbaLatchStatistics",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-DbaLatchStatistics -SqlInstance sql2008, sqlserver2012\nAfter confirmation, clears latch statistics on servers sql2008 and sqlserver2012\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-DbaLatchStatistics -SqlInstance sql2008, sqlserver2012 -Confirm:$false\nClears latch statistics on servers sql2008 and sqlserver2012, without prompting\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e\u0027sql2008\u0027,\u0027sqlserver2012\u0027 | Clear-DbaLatchStatistics\nAfter confirmation, clears latch statistics on servers sql2008 and sqlserver2012\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$cred = Get-Credential sqladmin\nPS C:\\\u003e Clear-DbaLatchStatistics -SqlInstance sql2008 -SqlCredential $cred\nConnects using sqladmin credential and clears latch statistics on servers sql2008 and sqlserver2012",
        "Syntax":  "Clear-DbaLatchStatistics [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Clear-DbaPlanCache",
        "Description":  "Checks ad-hoc and prepared plan cache for each database, if over 100 MBs removes from the cache.\n\nThis command automates that process.\n\nReferences: https://www.sqlskills.com/blogs/kimberly/plan-cache-adhoc-workloads-and-clearing-the-single-use-plan-cache-bloat/",
        "Tags":  "Memory",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,SqlServers",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Threshold",
                           "Memory used threshold.",
                           "",
                           false,
                           "false",
                           "100"
                       ],
                       [
                           "InputObject",
                           "Enables results to be piped in from Get-DbaPlanCache.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Tracy Boggiano, databasesuperhero.com",
        "Synopsis":  "Removes ad-hoc and prepared plan caches is single use plans are over defined threshold.",
        "Name":  "Clear-DbaPlanCache",
        "Links":  "https://dbatools.io/Clear-DbaPlanCache",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-DbaPlanCache -SqlInstance sql2017 -Threshold 200\nLogs into the SQL Server instance \"sql2017\" and removes plan caches if over 200 MB.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-DbaPlanCache -SqlInstance sql2017 -SqlCredential sqladmin\nLogs into the SQL instance using the SQL Login \u0027sqladmin\u0027 and then Windows instance as \u0027ad\\sqldba\u0027\r\nand removes if Threshold over 100 MB.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaInstance -ComputerName localhost | Get-DbaPlanCache | Clear-DbaPlanCache -Threshold 200\nScans localhost for instances using the browser service, traverses all instances and gets the plan cache for each, clears them out if they are above 200 MB.",
        "Syntax":  "Clear-DbaPlanCache [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Threshold] \u003cInt32\u003e] [[-InputObject] \u003cObject[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Clear-DbaWaitStatistics",
        "Description":  "Reset the aggregated statistics - basically just executes DBCC SQLPERF (N\u0027sys.dm_os_wait_stats\u0027, CLEAR)",
        "Tags":  [
                     "WaitStatistic",
                     "Waits"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl)",
        "Synopsis":  "Clears wait statistics",
        "Name":  "Clear-DbaWaitStatistics",
        "Links":  "https://dbatools.io/Clear-DbaWaitStatistics",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eClear-DbaWaitStatistics -SqlInstance sql2008, sqlserver2012\nAfter confirmation, clears wait stats on servers sql2008 and sqlserver2012\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eClear-DbaWaitStatistics -SqlInstance sql2008, sqlserver2012 -Confirm:$false\nClears wait stats on servers sql2008 and sqlserver2012, without prompting",
        "Syntax":  "Clear-DbaWaitStatistics [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Connect-DbaInstance",
        "Description":  "This command is robust because it initializes properties that do not cause enumeration by default. It also supports both Windows and SQL Server authentication methods, and detects which to use based upon the provided credentials.\n\nBy default, this command also sets the connection\u0027s ApplicationName property  to \"dbatools PowerShell module - dbatools.io - custom connection\". If you\u0027re doing anything that requires profiling, you can look for this client name.\n\nAlternatively, you can pass in whichever client name you\u0027d like using the -ClientName parameter. There are a ton of other parameters for you to explore as well.\n\nSee https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx\nand https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx,\nand https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx\n\nTo execute SQL commands, you can use $server.ConnectionContext.ExecuteReader($sql) or $server.Databases[\u0027master\u0027].ExecuteNonQuery($sql)",
        "Tags":  [
                     "Connect",
                     "Connection"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credential object used to connect to the SQL Server Instance as a different user. This can be a Windows or SQL Server account. Windows users are determined by the existence of a backslash, so if you \r\nare intending to use an alternative Windows connection instead of a SQL login, ensure it contains a backslash.",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AccessToken",
                           "Gets or sets the access token for the connection.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ApplicationIntent",
                           "Declares the application workload type when connecting to a server.\nValid values are \"ReadOnly\" and \"ReadWrite\".",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "BatchSeparator",
                           "A string to separate groups of SQL statements being executed. By default, this is \"GO\".",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ClientName",
                           "By default, this command sets the client\u0027s ApplicationName property to \"dbatools PowerShell module - dbatools.io - custom connection\" if you\u0027re doing anything that requires profiling, you can look \r\nfor this client name. Using -ClientName allows you to set your own custom client application name.",
                           "",
                           false,
                           "false",
                           "dbatools PowerShell module - dbatools.io - custom connection"
                       ],
                       [
                           "ConnectTimeout",
                           "The length of time (in seconds) to wait for a connection to the server before terminating the attempt and generating an error.\nValid values are integers between 0 and 2147483647.\nWhen opening a connection to a Azure SQL Database, set the connection timeout to 30 seconds.",
                           "",
                           false,
                           "false",
                           "([Sqlcollaborative.Dbatools.Connection.ConnectionHost]::SqlConnectionTimeout)"
                       ],
                       [
                           "EncryptConnection",
                           "If this switch is enabled, SQL Server uses SSL encryption for all data sent between the client and server if the server has a certificate installed.\nFor more information, see Connection String Syntax. https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-string-syntax\nBeginning in .NET Framework 4.5, when TrustServerCertificate is false and Encrypt is true, the server name (or IP address) in a SQL Server SSL certificate must exactly match the server name (or IP \r\naddress) specified in the connection string. Otherwise, the connection attempt will fail. For information about support for certificates whose subject starts with a wildcard character (*), see \r\nAccepted wildcards used by server certificates for server authentication. https://support.microsoft.com/en-us/help/258858/accepted-wildcards-used-by-server-certificates-for-server-authenticati",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "FailoverPartner",
                           "The name of the failover partner server where database mirroring is configured.\nIf the value of this key is \"\" (an empty string), then Initial Catalog must be present in the connection string, and its value must not be \"\".\nThe server name can be 128 characters or less.\nIf you specify a failover partner but the failover partner server is not configured for database mirroring and the primary server (specified with the Server keyword) is not available, then the \r\nconnection will fail.\nIf you specify a failover partner and the primary server is not configured for database mirroring, the connection to the primary server (specified with the Server keyword) will succeed if the primary \r\nserver is available.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LockTimeout",
                           "Sets the time in seconds required for the connection to time out when the current transaction is locked.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "MaxPoolSize",
                           "Sets the maximum number of connections allowed in the connection pool for this specific connection string.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "MinPoolSize",
                           "Sets the minimum number of connections allowed in the connection pool for this specific connection string.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "MultipleActiveResultSets",
                           "If this switch is enabled, an application can maintain multiple active result sets (MARS).\nIf this switch is not enabled, an application must process or cancel all result sets from one batch before it can execute any other batch on that connection.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "MultiSubnetFailover",
                           "If this switch is enabled, and your application is connecting to an AlwaysOn availability group (AG) on different subnets, detection of and connection to the currently active server will be faster. \r\nFor more information about SqlClient support for Always On Availability Groups, see \r\nhttps://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/sqlclient-support-for-high-availability-disaster-recovery",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NetworkProtocol",
                           "Explicitly sets the network protocol used to connect to the server.\nValid values are \"TcpIp\",\"NamedPipes\",\"Multiprotocol\",\"AppleTalk\",\"BanyanVines\",\"Via\",\"SharedMemory\" and \"NWLinkIpxSpx\"",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NonPooledConnection",
                           "If this switch is enabled, a non-pooled connection will be requested.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "PacketSize",
                           "Sets the size in bytes of the network packets used to communicate with an instance of SQL Server. Must match at server.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "PooledConnectionLifetime",
                           "When a connection is returned to the pool, its creation time is compared with the current time and the connection is destroyed if that time span (in seconds) exceeds the value specified by Connection \r\nLifetime. This is useful in clustered configurations to force load balancing between a running server and a server just brought online.\nA value of zero (0) causes pooled connections to have the maximum connection timeout.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "SqlExecutionModes",
                           "The SqlExecutionModes enumeration contains values that are used to specify whether the commands sent to the referenced connection to the server are executed immediately or saved in a buffer.\nValid values include \"CaptureSql\", \"ExecuteAndCaptureSql\" and \"ExecuteSql\".",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "StatementTimeout",
                           "Sets the number of seconds a statement is given to run before failing with a timeout error.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "TrustServerCertificate",
                           "When this switch is enabled, the channel will be encrypted while bypassing walking the certificate chain to validate trust.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WorkstationId",
                           "Sets the name of the workstation connecting to SQL Server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AppendConnectionString",
                           "Appends to the current connection string. Note that you cannot pass authentication information using this method. Use -SqlInstance and optionally -SqlCredential to set authentication information.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlConnectionOnly",
                           "Instead of returning a rich SMO server object, this command will only return a SqlConnection object when setting this switch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DisableException",
                           "By default in most of our commands, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis command, however, gifts you  with \"sea of red\" exceptions, by default, because it is useful for advanced scripting.\nUsing this switch turns our \"nice by default\" feature on which makes errors into pretty warnings.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Connect-DbaServer,Get-DbaInstance",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Creates a robust SMO SQL Server object.",
        "Name":  "Connect-DbaInstance",
        "Links":  "https://dbatools.io/Connect-DbaInstance",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eConnect-DbaInstance -SqlInstance sql2014\nCreates an SMO Server object that connects using Windows Authentication\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$wincred = Get-Credential ad\\sqladmin\nPS C:\\\u003e Connect-DbaInstance -SqlInstance sql2014 -SqlCredential $wincred\nCreates an SMO Server object that connects using alternative Windows credentials\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$sqlcred = Get-Credential sqladmin\nPS C:\\\u003e $server = Connect-DbaInstance -SqlInstance sql2014 -SqlCredential $sqlcred\nLogin to sql2014 as SQL login sqladmin.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$server = Connect-DbaInstance -SqlInstance sql2014 -ClientName \"my connection\"\nCreates an SMO Server object that connects using Windows Authentication and uses the client name \"my connection\". So when you open up profiler or use extended events, you can search for \"my \r\nconnection\".\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003e$server = Connect-DbaInstance -SqlInstance sql2014 -AppendConnectionString \"Packet Size=4096;AttachDbFilename=C:\\MyFolder\\MyDataFile.mdf;User Instance=true;\"\nCreates an SMO Server object that connects to sql2014 using Windows Authentication, then it sets the packet size (this can also be done via -PacketSize) and other connection attributes.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$server = Connect-DbaInstance -SqlInstance sql2014 -NetworkProtocol TcpIp -MultiSubnetFailover\nCreates an SMO Server object that connects using Windows Authentication that uses TCP/IP and has MultiSubnetFailover enabled.\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003e$server = Connect-DbaInstance sql2016 -ApplicationIntent ReadOnly\nConnects with ReadOnly ApplicationIntent.",
        "Syntax":  "Connect-DbaInstance [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [[-AccessToken] \u003cString\u003e] [[-ApplicationIntent] \u003cString\u003e] [[-BatchSeparator] \u003cString\u003e] [[-ClientName] \u003cString\u003e] [[-ConnectTimeout] \u003cInt32\u003e] [-EncryptConnection] [[-FailoverPartner] \u003cString\u003e] [[-LockTimeout] \u003cInt32\u003e] [[-MaxPoolSize] \u003cInt32\u003e] [[-MinPoolSize] \u003cInt32\u003e] [-MultipleActiveResultSets] [-MultiSubnetFailover] [[-NetworkProtocol] \u003cString\u003e] [-NonPooledConnection] [[-PacketSize] \u003cInt32\u003e] [[-PooledConnectionLifetime] \u003cInt32\u003e] [[-SqlExecutionModes] \u003cString\u003e] \r\n[[-StatementTimeout] \u003cInt32\u003e] [-TrustServerCertificate] [[-WorkstationId] \u003cString\u003e] [[-AppendConnectionString] \u003cString\u003e] [-SqlConnectionOnly] [-DisableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "ConvertTo-DbaDataTable",
        "Description":  "Creates a DataTable based on an object\u0027s properties. This allows you to easily write to SQL Server tables.\n\nThanks to Chad Miller, this is based on his script. https://gallery.technet.microsoft.com/scriptcenter/4208a159-a52e-4b99-83d4-8048468d29dd\n\nIf the attempt to convert to data table fails, try the -Raw parameter for less accurate datatype detection.",
        "Tags":  [
                     "DataTable",
                     "Table",
                     "Data"
                 ],
        "Params":  [
                       [
                           "InputObject",
                           "The object to transform into a DataTable.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "TimeSpanType",
                           "Specifies the type to convert TimeSpan objects into. Default is \u0027TotalMilliseconds\u0027. Valid options are: \u0027Ticks\u0027, \u0027TotalDays\u0027, \u0027TotalHours\u0027, \u0027TotalMinutes\u0027, \u0027TotalSeconds\u0027, \u0027TotalMilliseconds\u0027, and \r\n\u0027String\u0027.",
                           "",
                           false,
                           "false",
                           "TotalMilliseconds"
                       ],
                       [
                           "SizeType",
                           "Specifies the type to convert DbaSize objects to. Default is \u0027Int64\u0027. Valid options are \u0027Int32\u0027, \u0027Int64\u0027, and \u0027String\u0027.",
                           "",
                           false,
                           "false",
                           "Int64"
                       ],
                       [
                           "IgnoreNull",
                           "If this switch is enabled, objects with null values will be ignored (empty rows will be added by default).",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Raw",
                           "If this switch is enabled, the DataTable will be created with strings. No attempt will be made to parse/determine data types.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Out-DbaDataTable",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Creates a DataTable for an object.",
        "Name":  "ConvertTo-DbaDataTable",
        "Links":  "https://dbatools.io/ConvertTo-DbaDataTable",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-Service | ConvertTo-DbaDataTable\nCreates a DataTable from the output of Get-Service.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eConvertTo-DbaDataTable -InputObject $csv.cheesetypes\nCreates a DataTable from the CSV object $csv.cheesetypes.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$dblist | ConvertTo-DbaDataTable\nCreates a DataTable from the $dblist object passed in via pipeline.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-Process | ConvertTo-DbaDataTable -TimeSpanType TotalSeconds\nCreates a DataTable with the running processes and converts any TimeSpan property to TotalSeconds.",
        "Syntax":  "ConvertTo-DbaDataTable [-InputObject] \u003cPSObject[]\u003e [[-TimeSpanType] \u003cString\u003e] [-SizeType \u003cString\u003e] [-IgnoreNull] [-Raw] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "ConvertTo-DbaTimeline",
        "Description":  "This function accepts input as pipeline from the following dbatools functions:\nGet-DbaAgentJobHistory\nGet-DbaBackupHistory\n(more to come...)\nAnd generates Bootstrap based, HTML file with Google Chart Timeline",
        "Tags":  "Chart",
        "Params":  [
                       [
                           "InputObject",
                           "Pipe input, must an output from the above functions.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Marcin Gminski (@marcingminski)",
        "Synopsis":  "Converts InputObject to a html timeline using Google Chart",
        "Name":  "ConvertTo-DbaTimeline",
        "Links":  "https://dbatools.io/ConvertTo-DbaTimeline",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql-1 -StartDate \u00272018-08-13 00:00\u0027 -EndDate \u00272018-08-13 23:59\u0027 -ExcludeJobSteps | ConvertTo-DbaTimeline | Out-File C:\\temp\\DbaAgentJobHistory.html \r\n-Encoding ASCII\nCreates an output file containing a pretty timeline for all of the agent job history results for sql-1 the whole day of 2018-08-13\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlcm | Get-DbaBackupHistory -Since \u00272018-08-13 00:00\u0027 | ConvertTo-DbaTimeline | Out-File C:\\temp\\DbaBackupHistory.html -Encoding ASCII\nCreates an output file containing a pretty timeline for the agent job history since 2018-08-13 for all of the registered servers on sqlcm\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$messageParameters = @{\n\u003e\u003e Subject = \"Backup history for sql2017 and sql2016\"\r\n\u003e\u003e Body = Get-DbaBackupHistory -SqlInstance sql2017, sql2016 -Since \u00272018-08-13 00:00\u0027 | ConvertTo-DbaTimeline\r\n\u003e\u003e From = \"[email protected]\"\r\n\u003e\u003e To = \"[email protected]\"\r\n\u003e\u003e SmtpServer = \"smtp.ad.local\"\r\n\u003e\u003e }\r\n\u003e\u003e\r\nPS C:\\\u003e Send-MailMessage @messageParameters -BodyAsHtml\nSends an email to [email protected] with the results of Get-DbaBackupHistory. Note that viewing these reports may not be supported in all email clients.",
        "Syntax":  "ConvertTo-DbaTimeline [-InputObject] \u003cObject[]\u003e [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "ConvertTo-DbaXESession",
        "Description":  "Uses a slightly modified version of sp_SQLskills_ConvertTraceToExtendedEvents.sql to convert Traces to Extended Events.\n\nT-SQL code by: Jonathan M. Kehayias, SQLskills.com. T-SQL can be found in this module directory and at\nhttps://www.sqlskills.com/blogs/jonathan/converting-sql-trace-to-extended-events-in-sql-server-2012/",
        "Tags":  [
                     "Trace",
                     "ExtendedEvent"
                 ],
        "Params":  [
                       [
                           "InputObject",
                           "Specifies a Trace object output by Get-DbaTrace.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Name",
                           "The name of the Trace to convert. If the name exists, characters will be appended to it.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "OutputScriptOnly",
                           "Outputs the T-SQL script to create the XE session and does not execute it.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Uses a slightly modified version of sp_SQLskills_ConvertTraceToExtendedEvents.sql to convert Traces to Extended Events.",
        "Name":  "ConvertTo-DbaXESession",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaTrace -SqlInstance sql2017, sql2012 | Where Id -eq 2 | ConvertTo-DbaXESession -Name \u0027Test\u0027\nConverts Trace with ID 2 to a Session named Test on SQL Server instances named sql2017 and sql2012 and creates the Session on each respective server.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaTrace -SqlInstance sql2014 | Out-GridView -PassThru | ConvertTo-DbaXESession -Name \u0027Test\u0027 | Start-DbaXESession\nConverts selected traces on sql2014 to sessions, creates the session, and starts it.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaTrace -SqlInstance sql2014 | Where Id -eq 1 | ConvertTo-DbaXESession -Name \u0027Test\u0027 -OutputScriptOnly\nConverts trace ID 1 on sql2014 to an Extended Event and outputs the resulting T-SQL.",
        "Syntax":  "ConvertTo-DbaXESession [-InputObject] \u003cObject[]\u003e [-Name] \u003cString\u003e [-OutputScriptOnly] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentAlert",
        "Description":  "By default, all alerts are copied. The -Alert parameter is auto-populated for command-line completion and can be used to copy only specific alerts.\n\nIf the alert already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Alert",
                           "The alert(s) to process. This list is auto-populated from the server. If unspecified, all alerts will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeAlert",
                           "The alert(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IncludeDefaults",
                           "Copy SQL Agent defaults such as FailSafeEmailAddress, ForwardingServer, and PagerSubjectTemplate.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Alert will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlAlert",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentAlert migrates alerts from one SQL Server to another.",
        "Name":  "Copy-DbaAgentAlert",
        "Links":  "https://dbatools.io/Copy-DbaAgentAlert",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentAlert -Source sqlserver2014a -Destination sqlcluster\nCopies all alerts from sqlserver2014a to sqlcluster using Windows credentials. If alerts with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentAlert -Source sqlserver2014a -Destination sqlcluster -Alert PSAlert -SourceSqlCredential $cred -Force\nCopies a only the alert named PSAlert from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If an alert with the same name exists on \r\nsqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentAlert -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentAlert [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Alert] \u003cObject[]\u003e] [[-ExcludeAlert] \u003cObject[]\u003e] [-IncludeDefaults] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentJob",
        "Description":  "By default, all jobs are copied. The -Job parameter is auto-populated for command-line completion and can be used to copy only specific jobs.\n\nIf the job already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent",
                     "Job"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Job",
                           "The job(s) to process. This list is auto-populated from the server. If unspecified, all jobs will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJob",
                           "The job(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DisableOnSource",
                           "If this switch is enabled, the job will be disabled on the source server.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DisableOnDestination",
                           "If this switch is enabled, the newly migrated job will be disabled on the destination server.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Job will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlJob",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentJob migrates jobs from one SQL Server to another.",
        "Name":  "Copy-DbaAgentJob",
        "Links":  "https://dbatools.io/Copy-DbaAgentJob",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentJob -Source sqlserver2014a -Destination sqlcluster\nCopies all jobs from sqlserver2014a to sqlcluster, using Windows credentials. If jobs with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentJob -Source sqlserver2014a -Destination sqlcluster -Job PSJob -SourceSqlCredential $cred -Force\nCopies a single job, the PSJob job from sqlserver2014a to sqlcluster, using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If a job with the same name exists on \r\nsqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentJob -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentJob [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Job] \u003cObject[]\u003e] [[-ExcludeJob] \u003cObject[]\u003e] [-DisableOnSource] [-DisableOnDestination] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentJobCategory",
        "Description":  "By default, all SQL Agent categories for Jobs, Operators and Alerts are copied.\n\nThe -OperatorCategories parameter is auto-populated for command-line completion and can be used to copy only specific operator categories.\nThe -AgentCategories parameter is auto-populated for command-line completion and can be used to copy only specific agent categories.\nThe -JobCategories parameter is auto-populated for command-line completion and can be used to copy only specific job categories.\n\nIf the category already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CategoryType",
                           "Specifies the Category Type to migrate. Valid options are \"Job\", \"Alert\" and \"Operator\". When CategoryType is specified, all categories from the selected type will be migrated. For granular \r\nmigrations, use the three parameters below.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "JobCategory",
                           "This parameter is auto-populated for command-line completion and can be used to copy only specific job categories.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AgentCategory",
                           "This parameter is auto-populated for command-line completion and can be used to copy only specific agent categories.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "OperatorCategory",
                           "This parameter is auto-populated for command-line completion and can be used to copy only specific operator categories.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Category will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaAgentCategory,Copy-SqlAgentCategory",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentJobCategory migrates SQL Agent categories from one SQL Server to another. This is similar to sp_add_category.\n\nhttps://msdn.microsoft.com/en-us/library/ms181597.aspx",
        "Name":  "Copy-DbaAgentJobCategory",
        "Links":  "https://dbatools.io/Copy-DbaAgentJobCategory",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentJobCategory -Source sqlserver2014a -Destination sqlcluster\nCopies all operator categories from sqlserver2014a to sqlcluster using Windows authentication. If operator categories with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentJobCategory -Source sqlserver2014a -Destination sqlcluster -OperatorCategory PSOperator -SourceSqlCredential $cred -Force\nCopies a single operator category, the PSOperator operator category from sqlserver2014a to sqlcluster using SQL credentials to authenticate to sqlserver2014a and Windows credentials for sqlcluster. \r\nIf an operator category with the same name exists on sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentJobCategory -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentJobCategory -Source \u003cDbaInstanceParameter\u003e [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-JobCategory \u003cString[]\u003e] [-AgentCategory \u003cString[]\u003e] [-OperatorCategory \u003cString[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaAgentJobCategory -Source \u003cDbaInstanceParameter\u003e [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-CategoryType \u003cString[]\u003e] [-JobCategory \u003cString[]\u003e] [-AgentCategory \u003cString[]\u003e] [-OperatorCategory \u003cString[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentOperator",
        "Description":  "By default, all operators are copied. The -Operators parameter is auto-populated for command-line completion and can be used to copy only specific operators.\n\nIf the associated credentials for the operator do not exist on the destination, it will be skipped. If the operator already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent",
                     "Operator"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Operator",
                           "The operator(s) to process. This list is auto-populated from the server. If unspecified, all operators will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeOperator",
                           "The operators(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Operator will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlOperator",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentOperator migrates operators from one SQL Server to another.",
        "Name":  "Copy-DbaAgentOperator",
        "Links":  "https://dbatools.io/Copy-DbaAgentOperator",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentOperator -Source sqlserver2014a -Destination sqlcluster\nCopies all operators from sqlserver2014a to sqlcluster using Windows credentials. If operators with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentOperator -Source sqlserver2014a -Destination sqlcluster -Operator PSOperator -SourceSqlCredential $cred -Force\nCopies only the PSOperator operator from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If an operator with the same name exists on \r\nsqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentOperator -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentOperator [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Operator] \u003cObject[]\u003e] [[-ExcludeOperator] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentProxy",
        "Description":  "By default, all proxy accounts are copied. The -ProxyAccounts parameter is auto-populated for command-line completion and can be used to copy only specific proxy accounts.\n\nIf the associated credential for the account does not exist on the destination, it will be skipped. If the proxy account already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ProxyAccount",
                           "Only migrate specific proxy accounts",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeProxyAccount",
                           "Migrate all proxy accounts except the ones explicitly excluded",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Operator will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaAgentProxyAccount,Copy-SqlProxyAccount",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentProxy migrates proxy accounts from one SQL Server to another.",
        "Name":  "Copy-DbaAgentProxy",
        "Links":  "https://dbatools.io/Copy-DbaAgentProxy",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentProxy -Source sqlserver2014a -Destination sqlcluster\nCopies all proxy accounts from sqlserver2014a to sqlcluster using Windows credentials. If proxy accounts with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentProxy -Source sqlserver2014a -Destination sqlcluster -ProxyAccount PSProxy -SourceSqlCredential $cred -Force\nCopies only the PSProxy proxy account from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If a proxy account with the same name exists \r\non sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentProxy -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentProxy [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-ProxyAccount] \u003cString[]\u003e] [[-ExcludeProxyAccount] \u003cString[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentSchedule",
        "Description":  "All shared job schedules are copied.\n\nIf the associated credential for the account does not exist on the destination, it will be skipped. If the shared job schedule already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Operator will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaAgentSharedSchedule,Copy-SqlSharedSchedule",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaAgentSchedule migrates shared job schedules from one SQL Server to another.",
        "Name":  "Copy-DbaAgentSchedule",
        "Links":  "https://dbatools.io/Copy-DbaAgentSchedule",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentSchedule -Source sqlserver2014a -Destination sqlcluster\nCopies all shared job schedules from sqlserver2014a to sqlcluster using Windows credentials. If shared job schedules with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentSchedule -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaAgentSchedule [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaAgentServer",
        "Description":  "A wrapper function that calls the associated Copy command for each of the object types seen in SSMS under SQL Server Agent. This also copies all of the the SQL Agent properties (job history max rows, DBMail profile name, etc.).\n\nYou must have sysadmin access and server version must be SQL Server version 2000 or greater.",
        "Tags":  [
                     "Migration",
                     "SqlServerAgent",
                     "SqlAgent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DisableJobsOnDestination",
                           "If this switch is enabled, the jobs will be disabled on Destination after copying.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DisableJobsOnSource",
                           "If this switch is enabled, the jobs will be disabled on Source after copying.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing objects on Destination with matching names from Source will be dropped, then copied.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaSqlServerAgent,Copy-SqlServerAgent",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy SQL Server Agent from one server to another.",
        "Name":  "Copy-DbaAgentServer",
        "Links":  "https://dbatools.io/Copy-DbaAgentServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaAgentServer -Source sqlserver2014a -Destination sqlcluster\nCopies all job server objects from sqlserver2014a to sqlcluster using Windows credentials for authentication. If job objects with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaAgentServer -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all job objects from sqlserver2014a to sqlcluster using SQL credentials to authentication to sqlserver2014a and Windows credentials to authenticate to sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaAgentServer -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.",
        "Syntax":  "Copy-DbaAgentServer [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [-DisableJobsOnDestination] [-DisableJobsOnSource] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaBackupDevice",
        "Description":  "Backups are migrated using Admin shares. If the destination directory does not exist, SQL Server\u0027s default backup directory will be used.\n\nIf a backup device with same name exists on destination, it will not be dropped and recreated unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Backup"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "BackupDevice",
                           "BackupDevice to be copied. Auto-populated list of devices. If not provided all BackupDevice(s) will be copied.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, backup device(s) will be dropped and recreated if they already exists on destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlBackupDevice",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copies backup devices one by one. Copies both SQL code and the backup file itself.",
        "Name":  "Copy-DbaBackupDevice",
        "Links":  "https://dbatools.io/Copy-DbaBackupDevice",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaBackupDevice -Source sqlserver2014a -Destination sqlcluster\nCopies all server backup devices from sqlserver2014a to sqlcluster using Windows credentials. If backup devices with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaBackupDevice -Source sqlserver2014a -Destination sqlcluster -BackupDevice backup01 -SourceSqlCredential $cred -Force\nCopies only the backup device named backup01 from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a    and Windows credentials for sqlcluster. If a backup device with the same \r\nname exists on sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaBackupDevice -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaBackupDevice [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-BackupDevice] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaCmsRegServer",
        "Description":  "Copy-DbaCmsRegServer copies all groups, subgroups, and server instances from one SQL Server to another.",
        "Tags":  "Migration",
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Group",
                           "This is an auto-populated array that contains your Central Management Server top-level groups on Source. You can specify one, many or none.\nIf Group is not specified, all groups in your Central Management Server will be copied.",
                           "CMSGroup",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SwitchServerName",
                           "If this switch is enabled, all instance names will be changed from Source to Destination.\nCentral Management Server does not allow you to add a shared registered server with the same name as the Configuration Server.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, group(s) will be dropped and recreated if they already exists on destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaCentralManagementServer,Copy-SqlCentralManagementServer",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates SQL Server Central Management groups and server instances from one SQL Server to another.",
        "Name":  "Copy-DbaCmsRegServer",
        "Links":  "https://dbatools.io/Copy-DbaCmsRegServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaCmsRegServer -Source sqlserver2014a -Destination sqlcluster\nAll groups, subgroups, and server instances are copied from sqlserver2014a CMS to sqlcluster CMS.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaCmsRegServer -Source sqlserver2014a -Destination sqlcluster -Group Group1,Group3\nTop-level groups Group1 and Group3 along with their subgroups and server instances are copied from sqlserver to sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaCmsRegServer -Source sqlserver2014a -Destination sqlcluster -Group Group1,Group3 -SwitchServerName -SourceSqlCredential $SourceSqlCredential -DestinationSqlCredential \r\n$DestinationSqlCredential\nTop-level groups Group1 and Group3 along with their subgroups and server instances are copied from sqlserver to sqlcluster. When adding sql instances to sqlcluster, if the server name of the \r\nmigrating instance is \"sqlcluster\", it will be switched to \"sqlserver\".\nIf SwitchServerName is not specified, \"sqlcluster\" will be skipped.",
        "Syntax":  "Copy-DbaCmsRegServer [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Group] \u003cString[]\u003e] [-SwitchServerName] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaCredential",
        "Description":  "By using password decryption techniques provided by Antti Rantasaari (NetSPI, 2014), this script migrates SQL Server Credentials from one server to another while maintaining username and password.\n\nCredit: https://blog.netspi.com/decrypting-mssql-database-link-server-passwords/",
        "Tags":  [
                     "WSMan",
                     "Migration"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "This command requires access to the Windows OS via PowerShell remoting. Use this credential to connect to Windows using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "Only include specific names\r\nNote: if spaces exist in the credential name, you will have to type \"\" or \u0027\u0027 around it.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeName",
                           "Excluded credential names",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Identity",
                           "Only include specific identities\r\nNote: if spaces exist in the credential identity, you will have to type \"\" or \u0027\u0027 around it.",
                           "CredentialIdentity",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeIdentity",
                           "Excluded identities",
                           "ExcludeCredentialIdentity",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Credential will be dropped and recreated if it already exists on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlCredential",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaCredential migrates SQL Server Credentials from one SQL Server to another while maintaining Credential passwords.",
        "Name":  "Copy-DbaCredential",
        "Links":  "https://dbatools.io/Copy-DbaCredential",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaCredential -Source sqlserver2014a -Destination sqlcluster\nCopies all SQL Server Credentials on sqlserver2014a to sqlcluster. If Credentials exist on destination, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaCredential -Source sqlserver2014a -Destination sqlcluster -Name \"PowerShell Proxy Account\" -Force\nCopies over one SQL Server Credential (PowerShell Proxy Account) from sqlserver to sqlcluster. If the Credential already exists on the destination, it will be dropped and recreated.",
        "Syntax":  "Copy-DbaCredential [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Name] \u003cString[]\u003e] [[-ExcludeName] \u003cString[]\u003e] [[-Identity] \u003cString[]\u003e] [[-ExcludeIdentity] \u003cString[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaCustomError",
        "Description":  "By default, all custom errors are copied. The -CustomError parameter is auto-populated for command-line completion and can be used to copy only specific custom errors.\n\nIf the custom error already exists on the destination, it will be skipped unless -Force is used. The us_english version must be created first. If you drop the us_english version, all the other languages will be dropped for that specific ID as well.",
        "Tags":  [
                     "Migration",
                     "CustomError"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CustomError",
                           "The custom error(s) to process. This list is auto-populated from the server. If unspecified, all custom errors will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeCustomError",
                           "The custom error(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the custom error will be dropped and recreated if it already exists on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlCustomError",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaCustomError migrates custom errors (user defined messages), by the custom error ID, from one SQL Server to another.",
        "Name":  "Copy-DbaCustomError",
        "Links":  "https://dbatools.io/Copy-DbaCustomError",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaCustomError -Source sqlserver2014a -Destination sqlcluster\nCopies all server custom errors from sqlserver2014a to sqlcluster using Windows credentials. If custom errors with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaCustomError -Source sqlserver2014a -SourceSqlCredential $scred -Destination sqlcluster -DestinationSqlCredential $dcred -CustomError 60000 -Force\nCopies only the custom error with ID number 60000 from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If a custom error with the same \r\nname exists on sqlcluster, it will be updated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaCustomError -Source sqlserver2014a -Destination sqlcluster -ExcludeCustomError 60000 -Force\nCopies all the custom errors found on sqlserver2014a except the custom error with ID number 60000 to sqlcluster. If a custom error with the same name exists on sqlcluster, it will be updated because \r\n-Force was used.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaCustomError -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaCustomError [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-CustomError] \u003cObject[]\u003e] [[-ExcludeCustomError] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDatabase",
        "Description":  "This script provides the ability to migrate databases using detach/copy/attach or backup/restore. This script works with named instances, clusters and SQL Server Express Edition.\n\nBy default, databases will be migrated to the destination SQL Server\u0027s default data and log directories. You can override this by specifying -ReuseSourceFolderStructure. Filestreams and filegroups are also migrated. Safety is emphasized.",
        "Tags":  [
                     "Migration",
                     "Backup",
                     "Restore"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You may specify multiple servers.\nNote that when using -BackupRestore with multiple servers, the backup will only be performed once and backups will be deleted at the end (if you didn\u0027t specify -NoBackupCleanup).\nWhen using -DetachAttach with multiple servers, -Reattach must be specified.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Migrates only specified databases. This list is auto-populated from the server for tab completion. Multiple databases may be specified as a collection.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Excludes specified databases when performing -AllDatabases migrations. This list is auto-populated from the Source for tab completion.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AllDatabases",
                           "If this switch is enabled, all user databases will be migrated. System and support databases will not be migrated. Requires -BackupRestore or -DetachAttach.",
                           "All",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "BackupRestore",
                           "If this switch is enabled, the copy-only backup and restore method will be used to migrate the database(s). This method requires that you specify -SharedPath in a valid UNC format (\\\\server\\share).\nBackups will be immediately deleted after use unless -NoBackupCleanup is specified.",
                           "",
                           true,
                           "false",
                           "False"
                       ],
                       [
                           "SharedPath",
                           "Specifies the network location for the backup files. The SQL Server service accounts must have read/write permission on this path.",
                           "NetworkShare",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "WithReplace",
                           "If this switch is enabled, the restore is executed with WITH REPLACE.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoRecovery",
                           "If this switch is enabled, the restore is executed with WITH NORECOVERY. Ideal for staging.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoBackupCleanup",
                           "If this switch is enabled, backups generated by this cmdlet will not be deleted after they are restored. The default behavior is to delete these backups.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NumberFiles",
                           "Number of files to split the backup. Default is 3.",
                           "",
                           false,
                           "false",
                           "3"
                       ],
                       [
                           "DetachAttach",
                           "If this switch is enabled, the detach/copy/attach method is used to perform database migrations. No files are deleted on Source. If Destination attachment fails, the Source database will be \r\nreattached. File copies are performed over administrative shares (\\\\server\\x$\\mssql) using BITS. If a database is being mirrored, the mirror will be broken prior to migration.",
                           "",
                           true,
                           "false",
                           "False"
                       ],
                       [
                           "Reattach",
                           "If this switch is enabled, all databases are reattached to Source after DetachAttach migration.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SetSourceReadOnly",
                           "If this switch is enabled, all migrated databases are set to ReadOnly on Source prior to detach/attach \u0026 backup/restore.\nIf -Reattach is used, databases are set to read-only after reattaching.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ReuseSourceFolderStructure",
                           "If this switch is enabled, databases will be migrated to a data and log directory structure on Destination mirroring that used on Source. By default, the default data and log directories for \r\nDestination will be used when the databases are migrated.\nThe structure on Source  will be kept exactly, so consider this if you\u0027re migrating between different versions and use part of Microsoft\u0027s default Sql structure (MSSql12.INSTANCE, etc)\nTo reuse Destination folder structure, use the  -WithReplace switch.",
                           "ReuseFolderStructure",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeSupportDbs",
                           "If this switch is enabled, ReportServer, ReportServerTempDb, SSISDB, and distribution databases will be copied if they exist on Source. A log file named $SOURCE-$destinstance-$date-Sqls.csv will be \r\nwritten to the current directory.\nUse of this switch requires -BackupRestore or -DetachAttach as well.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "UseLastBackup",
                           "Use the last full, diff and logs instead of performing backups. Note that the backups must exist in a location accessible by all destination servers, such a network share.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Continue",
                           "If specified, will to attempt to restore transaction log backups on top of existing database(s) in Recovering or Standby states. Only usable with -UseLastBackup",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "InputObject",
                           "A collection of dbobjects from the pipeline.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "NoCopyOnly",
                           "If this switch is enabled, backups will be taken without COPY_ONLY. This will break the LSN backup chain, which will interfere with the restore chain of the database.\nBy default this switch is disabled, so backups will be taken with COPY_ONLY. This will preserve the LSN backup chain.\nFor more details please refer to this MSDN article - https://msdn.microsoft.com/en-us/library/ms191495.aspx",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SetSourceOffline",
                           "If this switch is enabled, the Source database will be set to Offline after being copied.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NewName",
                           "If a single database is being copied, this will be used to rename the database during the copy process. Any occurrence of the original database name in the physical file names will be replaced with \r\nNewName\r\nIf specified with multiple databases a warning will be raised and the copy stopped\nThis option is mutually exclusive of Prefix",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Prefix",
                           "All copied database names and physical files will be prefixed with this string\nThis option is mutually exclusive of NewName",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing databases on Destination with matching names from Source will be dropped. If using -DetachReattach, mirrors will be broken and the database(s) dropped from \r\nAvailability Groups.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlDatabase",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates SQL Server databases from one SQL Server to another.",
        "Name":  "Copy-DbaDatabase",
        "Links":  "https://dbatools.io/Copy-DbaDatabase",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDatabase -Source sql2014a -Destination sql2014b -Database TestDB -BackupRestore -SharedPath \\\\fileshare\\sql\\migration\nMigrates a single user database TestDB using Backup and restore from instance sql2014a to sql2014b. Backup files are stored in \\\\fileshare\\sql\\migration.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDatabase -Source sql2012 -Destination sql2014, sql2016 -DetachAttach -Reattach\nDatabases will be migrated from sql2012 to both sql2014 and sql2016 using the detach/copy files/attach method.The following will be performed: kick all users out of the database, detach all data/log \r\nfiles, move files across the network over an admin share (\\\\SqlSERVER\\M$\\MSSql...), attach file on destination server, reattach at source. If the database files (*.mdf, *.ndf, *.ldf) on *destination* \r\nexist and aren\u0027t in use, they will be overwritten.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaDatabase -Source sql2014a -Destination sqlcluster, sql2016 -BackupRestore -UseLastBackup -Force\nMigrates all user databases to sqlcluster and sql2016 using the last Full, Diff and Log backups from sql204a. If the databases exists on the destinations, they will be dropped prior to attach.\nNote that the backups must exist in a location accessible by all destination servers, such a network share.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaDatabase -Source sql2014a -Destination sqlcluster -ExcludeDatabase Northwind, pubs -IncludeSupportDbs -Force -BackupRestore -SharedPath \\\\fileshare\\sql\\migration\nMigrates all user databases except for Northwind and pubs by using backup/restore (copy-only). Backup files are stored in \\\\fileshare\\sql\\migration. If the database exists on the destination, it will \r\nbe dropped prior to attach.\nIt also includes the support databases (ReportServer, ReportServerTempDb, distribution).",
        "Syntax":  "Copy-DbaDatabase [-Source \u003cDbaInstanceParameter\u003e] [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-AllDatabases] -BackupRestore [-SharedPath \u003cString\u003e] [-WithReplace] [-NoRecovery] [-NoBackupCleanup] [-NumberFiles \u003cInt32\u003e] [-SetSourceReadOnly] [-ReuseSourceFolderStructure] [-IncludeSupportDbs] [-UseLastBackup] [-Continue] [-InputObject \u003cDatabase[]\u003e] [-NoCopyOnly] [-SetSourceOffline] [-NewName \u003cString\u003e] [-Prefix \u003cString\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] \r\n[\u003cCommonParameters\u003e]\nCopy-DbaDatabase [-Source \u003cDbaInstanceParameter\u003e] [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-AllDatabases] -DetachAttach [-Reattach] [-SetSourceReadOnly] [-ReuseSourceFolderStructure] [-IncludeSupportDbs] [-InputObject \u003cDatabase[]\u003e] [-NoCopyOnly] [-SetSourceOffline] [-NewName \u003cString\u003e] [-Prefix \u003cString\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDataCollector",
        "Description":  "By default, all data collector objects are migrated. If the object already exists on the destination, it will be skipped unless -Force is used.\n\nThe -CollectionSet parameter is auto-populated for command-line completion and can be used to copy only specific objects.",
        "Tags":  [
                     "Migration",
                     "DataCollection"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination Sql Server. You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CollectionSet",
                           "The collection set(s) to process - this list is auto-populated from the server. If unspecified, all collection sets will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeCollectionSet",
                           "The collection set(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoServerReconfig",
                           "Upcoming parameter to enable server reconfiguration",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If collection sets exists on destination server, it will be dropped and recreated.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaSqlDataCollector,Copy-SqlDataCollector",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates user SQL Data Collector collection sets. SQL Data Collector configuration is on the agenda, but it\u0027s hard.",
        "Name":  "Copy-DbaDataCollector",
        "Links":  "https://dbatools.io/Copy-DbaDataCollector",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDataCollector -Source sqlserver2014a -Destination sqlcluster\nCopies all Data Collector Objects and Configurations from sqlserver2014a to sqlcluster, using Windows credentials.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDataCollector -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all Data Collector Objects and Configurations from sqlserver2014a to sqlcluster, using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaDataCollector -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaDataCollector -Source sqlserver2014a -Destination sqlcluster -CollectionSet \u0027Server Activity\u0027, \u0027Table Usage Analysis\u0027\nCopies two Collection Sets, Server Activity and Table Usage Analysis, from sqlserver2014a to sqlcluster.",
        "Syntax":  "Copy-DbaDataCollector [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-CollectionSet] \u003cObject[]\u003e] [[-ExcludeCollectionSet] \u003cObject[]\u003e] [-NoServerReconfig] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDbAssembly",
        "Description":  "By default, all assemblies are copied.\n\nIf the assembly already exists on the destination, it will be skipped unless -Force is used.\n\nThis script does not yet copy dependencies or dependent objects.",
        "Tags":  [
                     "Migration",
                     "Assembly"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Assembly",
                           "The assembly(ies) to process. This list is auto-populated from the server. If unspecified, all assemblies will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeAssembly",
                           "The assembly(ies) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing assemblies on Destination with matching names from Source will be dropped.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaDatabaseAssembly,Copy-SqlDatabaseAssembly",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaDbAssembly migrates assemblies from one SQL Server to another.",
        "Name":  "Copy-DbaDbAssembly",
        "Links":  "http://dbatools.io/Get-SqlDatabaseAssembly",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDbAssembly -Source sqlserver2014a -Destination sqlcluster\nCopies all assemblies from sqlserver2014a to sqlcluster using Windows credentials. If assemblies with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDbAssembly -Source sqlserver2014a -Destination sqlcluster -Assembly dbname.assemblyname, dbname3.anotherassembly -SourceSqlCredential $cred -Force\nCopies two assemblies, the dbname.assemblyname and dbname3.anotherassembly from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If an \r\nassembly with the same name exists on sqlcluster, it will be dropped and recreated because -Force was used.\nIn this example, anotherassembly will be copied to the dbname3 database on the server sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaDbAssembly -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaDbAssembly [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Assembly] \u003cObject[]\u003e] [[-ExcludeAssembly] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDbMail",
        "Description":  "By default, all mail configurations for Profiles, Accounts, Mail Servers and Configs are copied.",
        "Tags":  [
                     "Migration",
                     "Mail"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Type",
                           "Specifies the object type to migrate. Valid options are \"Job\", \"Alert\" and \"Operator\". When Type is specified, all categories from the selected type will be migrated.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing objects on Destination with matching names from Source will be dropped.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaDatabaseMail,Copy-SqlDatabaseMail",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates Mail Profiles, Accounts, Mail Servers and Mail Server Configs from one SQL Server to another.",
        "Name":  "Copy-DbaDbMail",
        "Links":  "https://dbatools.io/Copy-DbaDbMail",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDbMail -Source sqlserver2014a -Destination sqlcluster\nCopies all database mail objects from sqlserver2014a to sqlcluster using Windows credentials. If database mail objects with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDbMail -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all database mail objects from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaDbMail -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaDbMail -Source sqlserver2014a -Destination sqlcluster -EnableException\nPerforms execution of function, and will throw a terminating exception if something breaks",
        "Syntax":  "Copy-DbaDbMail -Source \u003cDbaInstanceParameter\u003e -Destination \u003cDbaInstanceParameter[]\u003e [-SourceSqlCredential \u003cPSCredential\u003e] [-DestinationSqlCredential \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaDbMail -Source \u003cDbaInstanceParameter\u003e -Destination \u003cDbaInstanceParameter[]\u003e [-Type \u003cString[]\u003e] [-SourceSqlCredential \u003cPSCredential\u003e] [-DestinationSqlCredential \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDbQueryStoreOption",
        "Description":  "Copies the configuration of a Query Store enabled database and sets the copied configuration on other databases.",
        "Tags":  "QueryStore",
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2016 or higher.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SourceDatabase",
                           "Specifies the database to copy the Query Store configuration from.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2016 or higher.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationDatabase",
                           "Specifies a list of databases that will receive a copy of the Query Store configuration of the SourceDatabase.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Exclude",
                           "Specifies a list of databases which will NOT receive a copy of the Query Store configuration.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AllDatabases",
                           "If this switch is enabled, the Query Store configuration will be copied to all databases on the destination instance.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaQueryStoreConfig",
        "Author":  "Enrico van de Laar (@evdlaar)",
        "Synopsis":  "Copies the configuration of a Query Store enabled database and sets the copied configuration on other databases.",
        "Name":  "Copy-DbaDbQueryStoreOption",
        "Links":  "https://dbatools.io/Copy-QueryStoreConfig",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDbQueryStoreOption -Source ServerA\\SQL -SourceDatabase AdventureWorks -Destination ServerB\\SQL -AllDatabases\nCopy the Query Store configuration of the AdventureWorks database in the ServerA\\SQL instance and apply it on all user databases in the ServerB\\SQL Instance.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDbQueryStoreOption -Source ServerA\\SQL -SourceDatabase AdventureWorks -Destination ServerB\\SQL -DestinationDatabase WorldWideTraders\nCopy the Query Store configuration of the AdventureWorks database in the ServerA\\SQL instance and apply it to the WorldWideTraders database in the ServerB\\SQL Instance.",
        "Syntax":  "Copy-DbaDbQueryStoreOption [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-SourceDatabase] \u003cObject\u003e [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-DestinationDatabase] \u003cObject[]\u003e] [[-Exclude] \u003cObject[]\u003e] [-AllDatabases] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaDbTableData",
        "Description":  "Copies data between SQL Server tables using SQL Bulk Copy.\nThe same can be achieved also doing\n$sourcetable = Invoke-DbaQuery -SqlInstance instance1 ... -As DataTable\nWrite-DbaDataTable -SqlInstance ... -InputObject $sourcetable\nbut it will force buffering the contents on the table in memory (high RAM usage for large tables).\nWith this function, a streaming copy will be done in the most speedy and least resource-intensive way.",
        "Tags":  "Migration",
        "Params":  [
                       [
                           "SqlInstance",
                           "Source SQL Server.You must have sysadmin access and server version must be SQL Server version 2000 or greater.",
                           "ServerInstance,SqlServer,Source",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination Sql Server. You must have sysadmin access and server version must be SQL Server version 2000 or greater.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database to copy the table from.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationDatabase",
                           "The database to copy the table to. If not specified, it is assumed to be the same of Database",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Table",
                           "Define a specific table you would like to use as source. You can specify a three-part name like db.sch.tbl.\r\nIf the object has special characters please wrap them in square brackets [ ].\r\nThis dbo.First.Table will try to find table named \u0027Table\u0027 on schema \u0027First\u0027 and database \u0027dbo\u0027.\r\nThe correct way to find table named \u0027First.Table\u0027 on schema \u0027dbo\u0027 is passing dbo.[First.Table]",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Query",
                           "If you want to copy only a portion of a table or selected tables, specify the query.\r\nEnsure to select all required columns. Calculated Columns or columns with default values may be excluded.\r\nThe tablename should be a full three-part name in form [Database].[Schema].[Table]",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AutoCreateTable",
                           "Creates the destination table if it does not already exist, based off of the \"Export...\" script of the source table.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "BatchSize",
                           "The BatchSize for the import defaults to 5000.",
                           "",
                           false,
                           "false",
                           "50000"
                       ],
                       [
                           "NotifyAfter",
                           "Sets the option to show the notification after so many rows of import",
                           "",
                           false,
                           "false",
                           "5000"
                       ],
                       [
                           "DestinationTable",
                           "The table you want to use as destination. If not specified, it is assumed to be the same of Table",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoTableLock",
                           "If this switch is enabled, a table lock (TABLOCK) will not be placed on the destination table. By default, this operation will lock the destination table while running.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "CheckConstraints",
                           "If this switch is enabled, the SqlBulkCopy option to process check constraints will be enabled.\nPer Microsoft \"Check constraints while data is being inserted. By default, constraints are not checked.\"",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "FireTriggers",
                           "If this switch is enabled, the SqlBulkCopy option to fire insert triggers will be enabled.\nPer Microsoft \"When specified, cause the server to fire the insert triggers for the rows being inserted into the Database.\"",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "KeepIdentity",
                           "If this switch is enabled, the SqlBulkCopy option to preserve source identity values will be enabled.\nPer Microsoft \"Preserve source identity values. When not specified, identity values are assigned by the destination.\"",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "KeepNulls",
                           "If this switch is enabled, the SqlBulkCopy option to preserve NULL values will be enabled.\nPer Microsoft \"Preserve null values in the destination table regardless of the settings for default values. When not specified, null values are replaced by default values where applicable.\"",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Truncate",
                           "If this switch is enabled, the destination table will be truncated after prompting for confirmation.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "bulkCopyTimeOut",
                           "Value in seconds for the BulkCopy operations timeout. The default is 30 seconds.",
                           "",
                           false,
                           "false",
                           "5000"
                       ],
                       [
                           "InputObject",
                           "Enables piping of Table objects from Get-DbaDbTable",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaTableData",
        "Author":  "Simone Bizzotto (@niphlod)",
        "Synopsis":  "Copies data between SQL Server tables.",
        "Name":  "Copy-DbaDbTableData",
        "Links":  "https://dbatools.io/Copy-DbaDbTableData",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaDbTableData -SqlInstance sql1 -Destination sql2 -Database dbatools_from -Table dbo.test_table\nCopies all the data from table dbo.test_table in database dbatools_from on sql1 to table test_table in database dbatools_from on sql2.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaDbTableData -SqlInstance sql1 -Destination sql2 -Database dbatools_from -DestinationDatabase dbatools_dest -Table [Schema].[test table]\nCopies all the data from table [Schema].[test table] in database dbatools_from on sql1 to table [Schema].[test table] in database dbatools_dest on sql2\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaDbTable -SqlInstance sql1 -Database tempdb -Table tb1, tb2 | Copy-DbaDbTableData -DestinationTable tb3\nCopies all data from tables tb1 and tb2 in tempdb on sql1 to tb3 in tempdb on sql1\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaDbTable -SqlInstance sql1 -Database tempdb -Table tb1, tb2 | Copy-DbaDbTableData -Destination sql2\nCopies data from tbl1 in tempdb on sql1 to tbl1 in tempdb on sql2\r\nthen\r\nCopies data from tbl2 in tempdb on sql1 to tbl2 in tempdb on sql2\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eCopy-DbaDbTableData -SqlInstance sql1 -Destination sql2 -Database dbatools_from -Table test_table -KeepIdentity -Truncate\nCopies all the data in table test_table from sql1 to sql2, using the database dbatools_from, keeping identity columns and truncating the destination\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$params = @{\n\u003e\u003e SourceSqlInstance = \u0027sql1\u0027\r\n\u003e\u003e DestinationSqlInstance = \u0027sql2\u0027\r\n\u003e\u003e Database = \u0027dbatools_from\u0027\r\n\u003e\u003e DestinationDatabase = \u0027dbatools_dest\u0027\r\n\u003e\u003e Table = \u0027[Schema].[Table]\u0027\r\n\u003e\u003e DestinationTable = \u0027[dbo].[Table.Copy]\u0027\r\n\u003e\u003e KeepIdentity = $true\r\n\u003e\u003e KeepNulls = $true\r\n\u003e\u003e Truncate = $true\r\n\u003e\u003e BatchSize = 10000\r\n\u003e\u003e }\r\n\u003e\u003e\r\nPS C:\\\u003e Copy-DbaDbTableData @params\nCopies all the data from table [Schema].[Table] in database dbatools_from on sql1 to table [dbo].[Table.Copy] in database dbatools_dest on sql2\r\nKeeps identity columns and Nulls, truncates the destination and processes in BatchSize of 10000.",
        "Syntax":  "Copy-DbaDbTableData [[-SqlInstance] \u003cDbaInstanceParameter\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Destination] \u003cDbaInstanceParameter[]\u003e] [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cString\u003e] [[-DestinationDatabase] \u003cString\u003e] [[-Table] \u003cString[]\u003e] [[-Query] \u003cString\u003e] [-AutoCreateTable] [[-BatchSize] \u003cInt32\u003e] [[-NotifyAfter] \u003cInt32\u003e] [[-DestinationTable] \u003cString\u003e] [-NoTableLock] [-CheckConstraints] [-FireTriggers] [-KeepIdentity] [-KeepNulls] [-Truncate] [[-bulkCopyTimeOut] \u003cInt32\u003e] [[-InputObject] \u003cTable[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaEndpoint",
        "Description":  "By default, all endpoints are copied.\n\nIf the endpoint already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "Endpoint"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Endpoint",
                           "The endpoint(s) to process. This list is auto-populated from the server. If unspecified, all endpoints will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeEndpoint",
                           "The endpoint(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing endpoints on Destination with matching names from Source will be dropped.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlEndpoint",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaEndpoint migrates server endpoints from one SQL Server to another.",
        "Name":  "Copy-DbaEndpoint",
        "Links":  "https://dbatools.io/Copy-DbaEndpoint",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaEndpoint -Source sqlserver2014a -Destination sqlcluster\nCopies all server endpoints from sqlserver2014a to sqlcluster, using Windows credentials. If endpoints with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaEndpoint -Source sqlserver2014a -SourceSqlCredential $cred -Destination sqlcluster -Endpoint tg_noDbDrop -Force\nCopies only the tg_noDbDrop endpoint from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If an endpoint with the same name exists on \r\nsqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaEndpoint -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaEndpoint [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Endpoint] \u003cObject[]\u003e] [[-ExcludeEndpoint] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaLinkedServer",
        "Description":  "By using password decryption techniques provided by Antti Rantasaari (NetSPI, 2014), this script migrates SQL Server Linked Servers from one server to another, while maintaining username and password.\n\nCredit: https://blog.netspi.com/decrypting-mssql-database-link-server-passwords/",
        "Tags":  [
                     "WSMan",
                     "Migration",
                     "LinkedServer"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LinkedServer",
                           "The linked server(s) to process - this list is auto-populated from the server. If unspecified, all linked servers will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeLinkedServer",
                           "The linked server(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "UpgradeSqlClient",
                           "Upgrade any SqlClient Linked Server to the current Version",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "By default, if a Linked Server exists on the source and destination, the Linked Server is not copied over. Specifying -force will drop and recreate the Linked Server on the Destination server.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlLinkedServer",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaLinkedServer migrates Linked Servers from one SQL Server to another. Linked Server logins and passwords are migrated as well.",
        "Name":  "Copy-DbaLinkedServer",
        "Links":  "https://dbatools.io/Copy-DbaLinkedServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster\nCopies all SQL Server Linked Servers on sqlserver2014a to sqlcluster. If Linked Server exists on destination, it will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster -LinkedServer SQL2K5,SQL2k -Force\nCopies over two SQL Server Linked Servers (SQL2K and SQL2K2) from sqlserver to sqlcluster. If the credential already exists on the destination, it will be dropped.",
        "Syntax":  "Copy-DbaLinkedServer [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-LinkedServer] \u003cObject[]\u003e] [[-ExcludeLinkedServer] \u003cObject[]\u003e] [-UpgradeSqlClient] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaLogin",
        "Description":  "SQL Server 2000: Migrates logins with SIDs, passwords, server roles and database roles.\n\nSQL Server 2005 \u0026 newer: Migrates logins with SIDs, passwords, defaultdb, server roles \u0026 securables, database permissions \u0026 securables, login attributes (enforce password policy, expiration, etc.)\n\nThe login hash algorithm changed in SQL Server 2012, and is not backwards compatible with previous SQL Server versions. This means that while SQL Server 2000 logins can be migrated to SQL Server 2012, logins created in SQL Server 2012 can only be migrated to SQL Server 2012 and above.",
        "Tags":  [
                     "Migration",
                     "Login"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Login",
                           "The login(s) to process. Options for this list are auto-populated from the server. If unspecified, all logins will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeLogin",
                           "The login(s) to exclude. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeSystemLogins",
                           "If this switch is enabled, NT SERVICE accounts will be skipped.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SyncOnly",
                           "If this switch is enabled, only SQL Server login permissions, roles, etc. will be synced. Logins and users will not be added or dropped.  If a matching Login does not exist on the destination, the \r\nLogin will be skipped.\r\nCredential removal is not currently supported for this parameter.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SyncSaName",
                           "If this switch is enabled, the name of the sa account will be synced between Source and Destination",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "OutFile",
                           "Calls Export-DbaLogin and exports all logins to a T-SQL formatted file. This does not perform a copy, so no destination is required.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Takes the parameters required from a Login object that has been piped into the command",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "LoginRenameHashtable",
                           "Pass a hash table into this parameter to be passed into Rename-DbaLogin to update the Login and mappings after the Login is completed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "KillActiveConnection",
                           "If this switch and -Force are enabled, all active connections and sessions on Destination will be killed.\nA login cannot be dropped when it has active connections on the instance.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Login(s) will be dropped and recreated on Destination. Logins that own Agent jobs cannot be dropped at this time.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExcludePermissionSync",
                           "Skips permission syncs",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlLogin",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates logins from source to destination SQL Servers. Supports SQL Server versions 2000 and newer.",
        "Name":  "Copy-DbaLogin",
        "Links":  "https://dbatools.io/Copy-DbaLogin",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaLogin -Source sqlserver2014a -Destination sqlcluster -Force\nCopies all logins from Source Destination. If a SQL Login on Source exists on the Destination, the Login on Destination will be dropped and recreated.\nIf active connections are found for a login, the copy of that Login will fail as it cannot be dropped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaLogin -Source sqlserver2014a -Destination sqlcluster -Force -KillActiveConnection\nCopies all logins from Source Destination. If a SQL Login on Source exists on the Destination, the Login on Destination will be dropped and recreated.\nIf any active connections are found they will be killed.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaLogin -Source sqlserver2014a -Destination sqlcluster -ExcludeLogin realcajun -SourceSqlCredential $scred -DestinationSqlCredential $dcred\nCopies all Logins from Source to Destination except for realcajun using SQL Authentication to connect to both instances.\nIf a Login already exists on the destination, it will not be migrated.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaLogin -Source sqlserver2014a -Destination sqlcluster -Login realcajun, netnerds -force\nCopies ONLY Logins netnerds and realcajun. If Login realcajun or netnerds exists on Destination, the existing Login(s) will be dropped and recreated.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eCopy-DbaLogin -Source sqlserver2014a -Destination sqlcluster -SyncOnly\nSyncs only SQL Server login permissions, roles, etc. Does not add or drop logins or users.\nIf a matching Login does not exist on Destination, the Login will be skipped.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eCopy-DbaLogin -LoginRenameHashtable @{ \"PreviousUser\" = \"newlogin\" } -Source $Sql01 -Destination Localhost -SourceSqlCredential $sqlcred\nCopies PreviousUser and then renames it to newlogin.\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eGet-DbaLogin -SqlInstance sql2016 | Out-GridView -Passthru | Copy-DbaLogin -Destination sql2017\nDisplays all available logins on sql2016 in a grid view, then copies all selected logins to sql2017.",
        "Syntax":  "Copy-DbaLogin [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Login \u003cObject[]\u003e] [-ExcludeLogin \u003cObject[]\u003e] [-ExcludeSystemLogins] [-SyncOnly] [-LoginRenameHashtable \u003cHashtable\u003e] [-KillActiveConnection] [-Force] [-ExcludePermissionSync] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaLogin -Source \u003cDbaInstanceParameter\u003e [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Login \u003cObject[]\u003e] [-ExcludeLogin \u003cObject[]\u003e] [-ExcludeSystemLogins] [-SyncOnly] [-SyncSaName] [-LoginRenameHashtable \u003cHashtable\u003e] [-KillActiveConnection] [-Force] [-ExcludePermissionSync] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaLogin [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Login \u003cObject[]\u003e] [-ExcludeLogin \u003cObject[]\u003e] [-ExcludeSystemLogins] [-SyncOnly] [-SyncSaName] [-LoginRenameHashtable \u003cHashtable\u003e] [-KillActiveConnection] [-Force] [-ExcludePermissionSync] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaLogin [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Login \u003cObject[]\u003e] [-ExcludeLogin \u003cObject[]\u003e] [-ExcludeSystemLogins] [-SyncOnly] -OutFile \u003cString\u003e [-LoginRenameHashtable \u003cHashtable\u003e] [-KillActiveConnection] [-Force] [-ExcludePermissionSync] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nCopy-DbaLogin [-SourceSqlCredential \u003cPSCredential\u003e] -Destination \u003cDbaInstanceParameter[]\u003e [-DestinationSqlCredential \u003cPSCredential\u003e] [-Login \u003cObject[]\u003e] [-ExcludeLogin \u003cObject[]\u003e] [-ExcludeSystemLogins] [-SyncOnly] [-InputObject \u003cObject\u003e] [-LoginRenameHashtable \u003cHashtable\u003e] [-KillActiveConnection] [-Force] [-ExcludePermissionSync] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaPolicyManagement",
        "Description":  "By default, all policies and conditions are copied. If an object already exist on the destination, it will be skipped unless -Force is used.\n\nThe -Policy and -Condition parameters are auto-populated for command-line completion and can be used to copy only specific objects.",
        "Tags":  "Migration",
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server.You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination Sql Server. You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Policy",
                           "The policy(ies) to process - this list is auto-populated from the server. If unspecified, all policies will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludePolicy",
                           "The policy(ies) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Condition",
                           "The condition(s) to process - this list is auto-populated from the server. If unspecified, all conditions will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeCondition",
                           "The condition(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If policies exists on destination server, it will be dropped and recreated.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaSqlPolicyManagement,Copy-SqlPolicyManagement",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates SQL Policy Based Management Objects, including both policies and conditions.",
        "Name":  "Copy-DbaPolicyManagement",
        "Links":  "https://dbatools.io/Copy-DbaPolicyManagement",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaPolicyManagement -Source sqlserver2014a -Destination sqlcluster\nCopies all policies and conditions from sqlserver2014a to sqlcluster, using Windows credentials.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaPolicyManagement -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all policies and conditions from sqlserver2014a to sqlcluster, using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaPolicyManagement -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaPolicyManagement -Source sqlserver2014a -Destination sqlcluster -Policy \u0027xp_cmdshell must be disabled\u0027\nCopies only one policy, \u0027xp_cmdshell must be disabled\u0027 from sqlserver2014a to sqlcluster. No conditions are migrated.",
        "Syntax":  "Copy-DbaPolicyManagement [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Policy] \u003cObject[]\u003e] [[-ExcludePolicy] \u003cObject[]\u003e] [[-Condition] \u003cObject[]\u003e] [[-ExcludeCondition] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaResourceGovernor",
        "Description":  "By default, all non-system resource pools are migrated. If the pool already exists on the destination, it will be skipped unless -Force is used.\n\nThe -ResourcePool parameter is auto-populated for command-line completion and can be used to copy only specific objects.",
        "Tags":  [
                     "Migration",
                     "ResourceGovernor"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2008 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ResourcePool",
                           "Specifies the resource pool(s) to process. Options for this list are auto-populated from the server. If unspecified, all resource pools will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeResourcePool",
                           "Specifies the resource pool(s) to exclude. Options for this list are auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the policies will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlResourceGovernor",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates Resource Pools",
        "Name":  "Copy-DbaResourceGovernor",
        "Links":  "https://dbatools.io/Copy-DbaResourceGovernor",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaResourceGovernor -Source sqlserver2014a -Destination sqlcluster\nCopies all all non-system resource pools from sqlserver2014a to sqlcluster using Windows credentials to connect to the SQL Server instances..\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaResourceGovernor -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all all non-system resource pools from sqlserver2014a to sqlcluster using SQL credentials to connect to sqlserver2014a and Windows credentials to connect to sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaResourceGovernor -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.",
        "Syntax":  "Copy-DbaResourceGovernor [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-ResourcePool] \u003cObject[]\u003e] [[-ExcludeResourcePool] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaServerAudit",
        "Description":  "By default, all audits are copied. The -Audit parameter is auto-populated for command-line completion and can be used to copy only specific audits.\n\nIf the audit already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  "Migration",
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Audit",
                           "The audit(s) to process. Options for this list are auto-populated from the server. If unspecified, all audits will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeAudit",
                           "The audit(s) to exclude. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "Destination file path. If not specified, the file path of the source will be used (or the default data directory).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the audits will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlAudit",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaServerAudit migrates server audits from one SQL Server to another.",
        "Name":  "Copy-DbaServerAudit",
        "Links":  "https://dbatools.io/Copy-DbaServerAudit",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaServerAudit -Source sqlserver2014a -Destination sqlcluster\nCopies all server audits from sqlserver2014a to sqlcluster, using Windows credentials. If audits with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaServerAudit -Source sqlserver2014a -Destination sqlcluster -Audit tg_noDbDrop -SourceSqlCredential $cred -Force\nCopies a single audit, the tg_noDbDrop audit from sqlserver2014a to sqlcluster, using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If an audit with the same name exists \r\non sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaServerAudit -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaServerAudit -Source sqlserver-0 -Destination sqlserver-1 -Audit audit1 -Path \u0027C:\\audit1\u0027\nCopies audit audit1 from sqlserver-0 to sqlserver-1. The file path on sqlserver-1 will be set to \u0027C:\\audit1\u0027.",
        "Syntax":  "Copy-DbaServerAudit [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Audit] \u003cObject[]\u003e] [[-ExcludeAudit] \u003cObject[]\u003e] [[-Path] \u003cString\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaServerAuditSpecification",
        "Description":  "By default, all audits are copied. The -AuditSpecification parameter is auto-populated for command-line completion and can be used to copy only specific audits.\n\nIf the audit specification already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  [
                     "Migration",
                     "ServerAudit",
                     "AuditSpecification"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AuditSpecification",
                           "The Server Audit Specification(s) to process. Options for this list are auto-populated from the server. If unspecified, all Server Audit Specifications will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeAuditSpecification",
                           "The Server Audit Specification(s) to exclude. Options for this list are auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the Audits Specifications will be dropped and recreated on Destination.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlAuditSpecification",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaServerAuditSpecification migrates server audit specifications from one SQL Server to another.",
        "Name":  "Copy-DbaServerAuditSpecification",
        "Links":  "https://dbatools.io/Copy-DbaServerAuditSpecification",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaServerAuditSpecification -Source sqlserver2014a -Destination sqlcluster\nCopies all server audits from sqlserver2014a to sqlcluster using Windows credentials to connect. If audits with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaServerAuditSpecification -Source sqlserver2014a -Destination sqlcluster -AuditSpecification tg_noDbDrop -SourceSqlCredential $cred -Force\nCopies a single audit, the tg_noDbDrop audit from sqlserver2014a to sqlcluster using SQL credentials to connect to sqlserver2014a and Windows credentials to connect to sqlcluster. If an audit \r\nspecification with the same name exists on sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaServerAuditSpecification -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaServerAuditSpecification [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-AuditSpecification] \u003cObject[]\u003e] [[-ExcludeAuditSpecification] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaServerTrigger",
        "Description":  "By default, all triggers are copied. The -ServerTrigger parameter is auto-populated for command-line completion and can be used to copy only specific triggers.\n\nIf the trigger already exists on the destination, it will be skipped unless -Force is used.",
        "Tags":  "Migration",
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server.You must have sysadmin access and server version must be SQL Server version 2000 or greater.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination Sql Server. You must have sysadmin access and server version must be SQL Server version 2000 or greater.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ServerTrigger",
                           "The Server Trigger(s) to process - this list is auto-populated from the server. If unspecified, all Server Triggers will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeServerTrigger",
                           "The Server Trigger(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "Drops and recreates the Trigger if it exists",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlServerTrigger",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaServerTrigger migrates server triggers from one SQL Server to another.",
        "Name":  "Copy-DbaServerTrigger",
        "Links":  "https://dbatools.io/Copy-DbaServerTrigger",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaServerTrigger -Source sqlserver2014a -Destination sqlcluster\nCopies all server triggers from sqlserver2014a to sqlcluster, using Windows credentials. If triggers with the same name exist on sqlcluster, they will be skipped.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaServerTrigger -Source sqlserver2014a -Destination sqlcluster -ServerTrigger tg_noDbDrop -SourceSqlCredential $cred -Force\nCopies a single trigger, the tg_noDbDrop trigger from sqlserver2014a to sqlcluster, using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster. If a trigger with the same name \r\nexists on sqlcluster, it will be dropped and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaServerTrigger -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.",
        "Syntax":  "Copy-DbaServerTrigger [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-ServerTrigger] \u003cObject[]\u003e] [[-ExcludeServerTrigger] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaSpConfigure",
        "Description":  "By default, all configuration values are copied. The -ConfigName parameter is auto-populated for command-line completion and can be used to copy only specific configs.",
        "Tags":  [
                     "Migration",
                     "Configure",
                     "SpConfigure"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ConfigName",
                           "Specifies the configuration setting to process. Options for this list are auto-populated from the server. If unspecified, all ConfigNames will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeConfigName",
                           "Specifies the configuration settings to exclude. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlSpConfigure",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copy-DbaSpConfigure migrates configuration values from one SQL Server to another.",
        "Name":  "Copy-DbaSpConfigure",
        "Links":  "https://dbatools.io/Copy-DbaSpConfigure",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaSpConfigure -Source sqlserver2014a -Destination sqlcluster\nCopies all sp_configure settings from sqlserver2014a to sqlcluster\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaSpConfigure -Source sqlserver2014a -Destination sqlcluster -ConfigName DefaultBackupCompression, IsSqlClrEnabled -SourceSqlCredential $cred\nCopies the values for IsSqlClrEnabled and DefaultBackupCompression from sqlserver2014a to sqlcluster using SQL credentials to authenticate to sqlserver2014a and Windows credentials to authenticate to \r\nsqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaSpConfigure -Source sqlserver2014a -Destination sqlcluster -ExcludeConfigName DefaultBackupCompression, IsSqlClrEnabled\nCopies all configs except for IsSqlClrEnabled and DefaultBackupCompression, from sqlserver2014a to sqlcluster.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaSpConfigure -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.",
        "Syntax":  "Copy-DbaSpConfigure [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-ConfigName] \u003cObject[]\u003e] [[-ExcludeConfigName] \u003cObject[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaSsisCatalog",
        "Description":  "By default, all folders, projects, and environments are copied. The -Project parameter can be specified to copy only one project, if desired.\n\nThe parameters get more granular from the Folder level. For example, specifying -Folder will only deploy projects/environments from within that folder.",
        "Tags":  [
                     "Migration",
                     "SSIS"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2012 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2012 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Project",
                           "Specifies a source Project name.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Folder",
                           "Specifies a source folder name.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Environment",
                           "Specifies an environment to copy.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CreateCatalogPassword",
                           "Specifies a secure string to use in creating an SSISDB catalog on Destination. If this is specified, prompts for the password will be skipped.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableSqlClr",
                           "If this switch is enabled and Destination does not have the SQL CLR configuration option enabled, user prompts for enabling it on Destination will be skipped. SQL CLR is required for SSISDB.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, the SSIS Catalog will be dropped and recreated on Destination if it already exists.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlSsisCatalog",
        "Author":  "Phil Schwartz (philschwartz.me, @pschwartzzz)",
        "Synopsis":  "Copy-DbaSsisCatalog migrates Folders, SSIS projects, and environments from one SQL Server to another.",
        "Name":  "Copy-DbaSsisCatalog",
        "Links":  "https://dbatools.io/Copy-DbaSsisCatalog",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaSsisCatalog -Source sqlserver2014a -Destination sqlcluster\nCopies all folders, environments and SSIS Projects from sqlserver2014a to sqlcluster, using Windows credentials to authenticate to both instances. If folders with the same name exist on the \r\ndestination they will be skipped, but projects will be redeployed.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaSsisCatalog -Source sqlserver2014a -Destination sqlcluster -Project Archive_Tables -SourceSqlCredential $cred -Force\nCopies a single Project, the Archive_Tables Project, from sqlserver2014a to sqlcluster using SQL credentials to authenticate to sqlserver2014a and Windows credentials to authenticate to sqlcluster. \r\nIf a Project with the same name exists on sqlcluster, it will be deleted and recreated because -Force was used.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaSsisCatalog -Source sqlserver2014a -Destination sqlcluster -WhatIf -Force\nShows what would happen if the command were executed using force.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$SecurePW = Read-Host \"Enter password\" -AsSecureString\nPS C:\\\u003e Copy-DbaSsisCatalog -Source sqlserver2014a -Destination sqlcluster -CreateCatalogPassword $SecurePW\nDeploy entire SSIS catalog to an instance without a destination catalog. User prompts for creating the catalog on Destination will be bypassed.",
        "Syntax":  "Copy-DbaSsisCatalog [-Source] \u003cDbaInstanceParameter\u003e [-Destination] \u003cDbaInstanceParameter[]\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-Project] \u003cString\u003e] [[-Folder] \u003cString\u003e] [[-Environment] \u003cString\u003e] [[-CreateCatalogPassword] \u003cSecureString\u003e] [-EnableSqlClr] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaSysDbUserObject",
        "Description":  "Imports all user objects found in source SQL Server\u0027s master, msdb and model databases to the destination. This is useful because many DBAs store backup/maintenance procs/tables/triggers/etc (among other things) in master or msdb.\n\nIt is also useful for migrating objects within the model database.",
        "Tags":  [
                     "Migration",
                     "SystemDatabase",
                     "UserObject"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "Drop destination objects first. Has no effect if you use Classic. This doesn\u0027t work really well, honestly.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Classic",
                           "Perform the migration the old way",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-SqlSysDbUserObjects",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Imports all user objects found in source SQL Server\u0027s master, msdb and model databases to the destination.",
        "Name":  "Copy-DbaSysDbUserObject",
        "Links":  "https://dbatools.io/Copy-DbaSysDbUserObject",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaSysDbUserObject -Source $sourceServer -Destination $destserver\nCopies user objects from source to destination",
        "Syntax":  "Copy-DbaSysDbUserObject [-Source] \u003cDbaInstanceParameter\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [-Destination] \u003cDbaInstanceParameter[]\u003e [[-DestinationSqlCredential] \u003cPSCredential\u003e] [-Force] [-Classic] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaXESession",
        "Description":  "Migrates SQL Extended Event Sessions except the two default sessions, AlwaysOn_health and system_health.\n\nBy default, all non-system Extended Events are migrated.",
        "Tags":  [
                     "Migration",
                     "ExtendedEvent",
                     "XEvent"
                 ],
        "Params":  [
                       [
                           "Source",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Destination",
                           "Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SourceSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationSqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "XeSession",
                           "The Extended Event Session(s) to process. This list is auto-populated from the server. If unspecified, all Extended Event Sessions will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeXeSession",
                           "The Extended Event Session(s) to exclude. This list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "If this switch is enabled, existing Extended Events sessions on Destination with matching names from Source will be dropped.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Copy-DbaExtendedEvent,Copy-SqlExtendedEvent",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Migrates SQL Extended Event Sessions except the two default sessions, AlwaysOn_health and system_health.",
        "Name":  "Copy-DbaXESession",
        "Links":  "https://dbatools.io/Copy-DbaXESession",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaXESession -Source sqlserver2014a -Destination sqlcluster\nCopies all Extended Event sessions from sqlserver2014a to sqlcluster using Windows credentials.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaXESession -Source sqlserver2014a -Destination sqlcluster -SourceSqlCredential $cred\nCopies all Extended Event sessions from sqlserver2014a to sqlcluster using SQL credentials for sqlserver2014a and Windows credentials for sqlcluster.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eCopy-DbaXESession -Source sqlserver2014a -Destination sqlcluster -WhatIf\nShows what would happen if the command were executed.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eCopy-DbaXESession -Source sqlserver2014a -Destination sqlcluster -XeSession CheckQueries, MonitorUserDefinedException\nCopies only the Extended Events named CheckQueries and MonitorUserDefinedException from sqlserver2014a to sqlcluster.",
        "Syntax":  "Copy-DbaXESession [-Source] \u003cDbaInstanceParameter\u003e [-Destination] \u003cDbaInstanceParameter[]\u003e [[-SourceSqlCredential] \u003cPSCredential\u003e] [[-DestinationSqlCredential] \u003cPSCredential\u003e] [[-XeSession] \u003cObject[]\u003e] [[-ExcludeXeSession] \u003cObject[]\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Copy-DbaXESessionTemplate",
        "Description":  "Copies non-Microsoft templates from the dbatools template repository (\\bin\\xetemplates\\) to $home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates.\n\nUseful for when you want to use the SSMS GUI.",
        "Tags":  [
                     "ExtendedEvent",
                     "XE",
                     "XEvent"
                 ],
        "Params":  [
                       [
                           "Path",
                           "The path to the template directory. Defaults to the dbatools template repository (\\bin\\xetemplates\\).",
                           "",
                           false,
                           "false",
                           "\"$script:PSModuleRoot\\bin\\xetemplates\""
                       ],
                       [
                           "Destination",
                           "Path to the Destination directory, defaults to $home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates.",
                           "",
                           false,
                           "false",
                           "\"$home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates\""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Copies non-Microsoft templates from the dbatools template repository (\\bin\\xetemplates\\) to $home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates.",
        "Name":  "Copy-DbaXESessionTemplate",
        "Links":  "https://dbatools.io/Copy-DbaXESessionTemplate",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eCopy-DbaXESessionTemplate\nCopies non-Microsoft templates from the dbatools template repository (\\bin\\xetemplates\\) to $home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eCopy-DbaXESessionTemplate -Path C:\\temp\\xetemplates\nCopies your templates from C:\\temp\\xetemplates to $home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates.",
        "Syntax":  "Copy-DbaXESessionTemplate [[-Path] \u003cString[]\u003e] [[-Destination] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Disable-DbaAgHadr",
        "Description":  "In order to build an AG a cluster has to be built and then the Hadr enabled for the SQL Server\nservice. This function disables that feature for the SQL Server service.",
        "Tags":  [
                     "Hadr",
                     "AG",
                     "AvailabilityGroup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Credential",
                           "Credential object used to connect to the Windows server as a different user",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "Will restart SQL Server and SQL Server Agent service to apply the change.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton), http://wsmelton.github.io",
        "Synopsis":  "Disables the Hadr service setting on the specified SQL Server.",
        "Name":  "Disable-DbaAgHadr",
        "Links":  "https://dbatools.io/Disable-DbaAgHadr",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-DbaAgHadr -SqlInstance sql2016\nSets Hadr service to disabled for the instance sql2016 but changes will not be applied until the next time the server restarts.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eDisable-DbaAgHadr -SqlInstance sql2016 -Force\nSets Hadr service to disabled for the instance sql2016, and restart the service to apply the change.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eDisable-DbaAgHadr -SqlInstance sql2012\\dev1 -Force\nSets Hadr service to disabled for the instance dev1 on sq2012, and restart the service to apply the change.",
        "Syntax":  "Disable-DbaAgHadr [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-Credential] \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Disable-DbaFilestream",
        "Description":  "Connects to the specified SQL Server instances, and sets the status of the FileStream feature to the required value\n\nTo perform the action, the SQL Server instance must be restarted. By default we will prompt for confirmation for this action, this can be overridden with the -Force switch",
        "Tags":  "Filestream",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Defaults to localhost.",
                           "",
                           true,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "Credential",
                           "Login to the target server using alternative credentials.",
                           "",
                           false,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "Force",
                           "Restart SQL Instance after changes. Use this parameter with care as it overrides whatif.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command runs. The command is not run unless Force is specified.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before running the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stuart Moore ( @napalmgram ) | Chrissy LeMaire ( @cl )",
        "Synopsis":  "Sets the status of FileStream on specified SQL Server instances both at the server level and the instance level",
        "Name":  "Disable-DbaFilestream",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-DbaFilestream -SqlInstance server1\\instance2\nPrompts for confirmation. Disables filestream on the service and instance levels.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eDisable-DbaFilestream -SqlInstance server1\\instance2 -Confirm:$false\nDoes not prompt for confirmation. Disables filestream on the service and instance levels.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaFilestream -SqlInstance server1\\instance2, server5\\instance5, prod\\hr | Where-Object InstanceAccessLevel -gt 0 | Disable-DbaFilestream -Force\nUsing this pipeline you can scan a range of SQL instances and disable filestream on only those on which it\u0027s enabled.",
        "Syntax":  "Disable-DbaFilestream [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Disable-DbaForceNetworkEncryption",
        "Description":  "Disables Force Encryption for a SQL Server instance. Note that this requires access to the Windows Server, not the SQL instance itself.\n\nThis setting is found in Configuration Manager.",
        "Tags":  "Certificate",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Defaults to localhost.",
                           "ServerInstance,SqlServer,ComputerName",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to the computer (not SQL Server instance) using alternative Windows credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Disables Force Encryption for a SQL Server instance",
        "Name":  "Disable-DbaForceNetworkEncryption",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-DbaForceNetworkEncryption\nDisables Force Encryption on the default (MSSQLSERVER) instance on localhost - requires (and checks for) RunAs admin.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eDisable-DbaForceNetworkEncryption -SqlInstance sql01\\SQL2008R2SP2\nDisables Force Network Encryption for the SQL2008R2SP2 on sql01. Uses Windows Credentials to both login and modify the registry.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eDisable-DbaForceNetworkEncryption -SqlInstance sql01\\SQL2008R2SP2 -WhatIf\nShows what would happen if the command were executed.",
        "Syntax":  "Disable-DbaForceNetworkEncryption [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Disable-DbaTraceFlag",
        "Description":  "The function will disable a Trace Flag that is currently running globally on the SQL Server instance(s) listed",
        "Tags":  "TraceFlag",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "TraceFlag",
                           "Trace flag number to enable globally",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Disable a Global Trace Flag that is currently running",
        "Name":  "Disable-DbaTraceFlag",
        "Links":  "https://dbatools.io/Disable-DbaTraceFlag",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDisable-DbaTraceFlag -SqlInstance sql2016 -TraceFlag 3226\nDisable the globally running trace flag 3226 on SQL Server instance sql2016",
        "Syntax":  "Disable-DbaTraceFlag [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] -TraceFlag \u003cInt32[]\u003e [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Dismount-DbaDatabase",
        "Description":  "This command detaches one or more SQL Server databases. If necessary, -Force can be used to break mirrors and remove databases from availability groups prior to detaching.",
        "Tags":  "Database",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to detach.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "A collection of databases (such as returned by Get-DbaDatabase), to be detached.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "UpdateStatistics",
                           "If this switch is enabled, statistics for the database will be updated prior to detaching it.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled and the database is part of a mirror, the mirror will be broken. If the database is part of an Availability Group, it will be removed from the AG.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Detach-DbaDatabase",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Detach a SQL Server Database.",
        "Name":  "Dismount-DbaDatabase",
        "Links":  "https://dbatools.io/Dismount-DbaDatabase",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eDetach-DbaDatabase -SqlInstance sql2016b -Database SharePoint_Config, WSS_Logging\nDetaches SharePoint_Config and WSS_Logging from sql2016b\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaDatabase -SqlInstance sql2016b -Database \u0027PerformancePoint Service Application_10032db0fa0041df8f913f558a5dc0d4\u0027 | Detach-DbaDatabase -Force\nDetaches \u0027PerformancePoint Service Application_10032db0fa0041df8f913f558a5dc0d4\u0027 from sql2016b. Since Force was specified, if the database is part of mirror, the mirror will be broken prior to \r\ndetaching.\nIf the database is part of an Availability Group, it will first be dropped prior to detachment.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaDatabase -SqlInstance sql2016b -Database WSS_Logging | Detach-DbaDatabase -Force -WhatIf\nShows what would happen if the command were to execute (without actually executing the detach/break/remove commands).",
        "Syntax":  "Dismount-DbaDatabase [-SqlCredential \u003cPSCredential\u003e] [-UpdateStatistics] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nDismount-DbaDatabase -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] -Database \u003cString[]\u003e [-UpdateStatistics] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nDismount-DbaDatabase [-SqlCredential \u003cPSCredential\u003e] -InputObject \u003cDatabase[]\u003e [-UpdateStatistics] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Enable-DbaAgHadr",
        "Description":  "In order to build an AG a cluster has to be built and then the Hadr enabled for the SQL Server\nservice. This function enables that feature for the SQL Server service.",
        "Tags":  [
                     "Hadr",
                     "HA",
                     "AG",
                     "AvailabilityGroup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Credential",
                           "Credential object used to connect to the Windows server as a different user",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "Will restart SQL Server and SQL Server Agent service to apply the change.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton), http://wsmelton.github.io",
        "Synopsis":  "Enables the Hadr service setting on the specified SQL Server.",
        "Name":  "Enable-DbaAgHadr",
        "Links":  "https://dbatools.io/Enable-DbaAgHadr",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-DbaAgHadr -SqlInstance sql2016\nSets Hadr service to enabled for the instance sql2016 but changes will not be applied until the next time the server restarts.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-DbaAgHadr -SqlInstance sql2016 -Force\nSets Hadr service to enabled for the instance sql2016, and restart the service to apply the change.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eEnable-DbaAgHadr -SqlInstance sql2012\\dev1 -Force\nSets Hadr service to disabled for the instance dev1 on sq2012, and restart the service to apply the change.",
        "Syntax":  "Enable-DbaAgHadr [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-Credential] \u003cPSCredential\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Enable-DbaFilestream",
        "Description":  "Connects to the specified SQL Server instances, and Enables the FileStream feature to the required value\n\nTo perform the action, the SQL Server instance must be restarted. By default we will prompt for confirmation for this action, this can be overridden with the -Force switch",
        "Tags":  "Filestream",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Defaults to localhost.",
                           "",
                           true,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "Credential",
                           "Login to the target server using alternative credentials.",
                           "",
                           false,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "FileStreamLevel",
                           "The level to of FileStream to be enabled:\r\n1 or TSql - T-Sql Access Only\r\n2 or TSqlIoStreaming - T-Sql and Win32 access enabled\r\n3 or TSqlIoStreamingRemoteClient T-Sql, Win32 and Remote access enabled",
                           "",
                           false,
                           "false",
                           "1"
                       ],
                       [
                           "ShareName",
                           "Specifies the Windows file share name to be used for storing the FILESTREAM data.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "Restart SQL Instance after changes. Use this parameter with care as it overrides whatif.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command runs. The command is not run unless Force is specified.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before running the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stuart Moore ( @napalmgram ) | Chrissy LeMaire ( @cl )",
        "Synopsis":  "Enables FileStream on specified SQL Server instances",
        "Name":  "Enable-DbaFilestream",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-DbaFilestream -SqlInstance server1\\instance2 -FileStreamLevel TSql\nPS C:\\\u003e Enable-DbaFilestream -SqlInstance server1\\instance2 -FileStreamLevel 1\nThese commands are functionally equivalent, both will set Filestream level on server1\\instance2 to T-Sql Only\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaFilestream -SqlInstance server1\\instance2, server5\\instance5, prod\\hr | Where-Object InstanceAccessLevel -eq 0 | Enable-DbaFilestream -FileStreamLevel TSqlIoStreamingRemoteClient -Force\nUsing this pipeline you can scan a range of SQL instances and enable filestream on only those on which it\u0027s disabled.",
        "Syntax":  "Enable-DbaFilestream [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-FileStreamLevel] \u003cString\u003e] [[-ShareName] \u003cString\u003e] [-Force] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Enable-DbaForceNetworkEncryption",
        "Description":  "Enables Force Encryption for a SQL Server instance. Note that this requires access to the Windows Server, not the SQL instance itself.\n\nThis setting is found in Configuration Manager.",
        "Tags":  [
                     "Certificate",
                     "Encryption"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,ComputerName",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to the computer (not SQL Server instance) using alternative Windows credentials",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Enables Force Encryption for a SQL Server instance.",
        "Name":  "Enable-DbaForceNetworkEncryption",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-DbaForceNetworkEncryption\nEnables Force Encryption on the default (MSSQLSERVER) instance on localhost. Requires (and checks for) RunAs admin.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-DbaForceNetworkEncryption -SqlInstance sql01\\SQL2008R2SP2\nEnables Force Network Encryption for the SQL2008R2SP2 on sql01. Uses Windows Credentials to both connect and modify the registry.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eEnable-DbaForceNetworkEncryption -SqlInstance sql01\\SQL2008R2SP2 -WhatIf\nShows what would happen if the command were executed.",
        "Syntax":  "Enable-DbaForceNetworkEncryption [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Enable-DbaTraceFlag",
        "Description":  "The function will set one or multiple trace flags on the SQL Server instance(s) listed",
        "Tags":  "TraceFlag",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "TraceFlag",
                           "Trace flag number(s) to enable globally",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Enable Global Trace Flag(s)",
        "Name":  "Enable-DbaTraceFlag",
        "Links":  "https://dbatools.io/Enable-DbaTraceFlag",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eEnable-DbaTraceFlag -SqlInstance sql2016 -TraceFlag 3226\nEnable the trace flag 3226 on SQL Server instance sql2016\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eEnable-DbaTraceFlag -SqlInstance sql2016 -TraceFlag 1117, 1118\nEnable multiple trace flags on SQL Server instance sql2016",
        "Syntax":  "Enable-DbaTraceFlag [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] -TraceFlag \u003cInt32[]\u003e [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Expand-DbaDbLogFile",
        "Description":  "As you may already know, having a transaction log file with too many Virtual Log Files (VLFs) can hurt your database performance in many ways.\n\nExample:\nToo many VLFs can cause transaction log backups to slow down and can also slow down database recovery and, in extreme cases, even impact insert/update/delete performance.\n\nReferences:\nhttp://www.sqlskills.com/blogs/kimberly/transaction-log-vlfs-too-many-or-too-few/\nhttp://blogs.msdn.com/b/saponsqlserver/archive/2012/02/22/too-many-virtual-log-files-vlfs-can-cause-slow-database-recovery.aspx\nhttp://www.brentozar.com/blitz/high-virtual-log-file-vlf-count/\n\nIn order to get rid of this fragmentation we need to grow the file taking the following into consideration:\n- How many VLFs are created when we perform a grow operation or when an auto-grow is invoked?\n\nNote: In SQL Server 2014 this algorithm has changed (http://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql-server-2014/)\n\nAttention:\nWe are growing in MB instead of GB because of known issue prior to SQL 2012:\nMore detail here:\nhttp://www.sqlskills.com/BLOGS/PAUL/post/Bug-log-file-growth-broken-for-multiples-of-4GB.aspx\nand\nhttp://connect.microsoft.com/SqlInstance/feedback/details/481594/log-growth-not-working-properly-with-specific-growth-sizes-vlfs-also-not-created-appropriately\nor\nhttps://connect.microsoft.com/SqlInstance/feedback/details/357502/transaction-log-file-size-will-not-grow-exactly-4gb-when-filegrowth-4gb\n\nUnderstanding related problems:\nhttp://www.sqlskills.com/blogs/kimberly/transaction-log-vlfs-too-many-or-too-few/\nhttp://blogs.msdn.com/b/saponsqlserver/archive/2012/02/22/too-many-virtual-log-files-vlfs-can-cause-slow-database-recovery.aspx\nhttp://www.brentozar.com/blitz/high-virtual-log-file-vlf-count/\n\nKnown bug before SQL Server 2012\nhttp://www.sqlskills.com/BLOGS/PAUL/post/Bug-log-file-growth-broken-for-multiples-of-4GB.aspx\nhttp://connect.microsoft.com/SqlInstance/feedback/details/481594/log-growth-not-working-properly-with-specific-growth-sizes-vlfs-also-not-created-appropriately\nhttps://connect.microsoft.com/SqlInstance/feedback/details/357502/transaction-log-file-size-will-not-grow-exactly-4gb-when-filegrowth-4gb\n\nHow it works?\nThe transaction log will grow in chunks until it reaches the desired size.\nExample: If you have a log file with 8192MB and you say that the target size is 81920MB (80GB) it will grow in chunks of 8192MB until it reaches 81920MB. 8192 -\u003e 16384 -\u003e 24576 ... 73728 -\u003e 81920",
        "Tags":  [
                     "Storage",
                     "Backup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. Options for this list are auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "TargetLogSize",
                           "Specifies the target size of the transaction log file in megabytes.",
                           "TargetLogSizeMB",
                           true,
                           "false",
                           "0"
                       ],
                       [
                           "IncrementSize",
                           "Specifies the amount the transaction log should grow in megabytes. If this value differs from the suggested value based on your TargetLogSize, you will be prompted to confirm your choice.\nThis value will be calculated if not specified.",
                           "IncrementSizeMB",
                           false,
                           "false",
                           "-1"
                       ],
                       [
                           "LogFileId",
                           "Specifies the file number(s) of additional transaction log files to grow.\nIf this value is not specified, only the first transaction log file will be processed.",
                           "",
                           false,
                           "false",
                           "-1"
                       ],
                       [
                           "ShrinkLogFile",
                           "If this switch is enabled, your transaction log files will be shrunk.",
                           "",
                           true,
                           "false",
                           "False"
                       ],
                       [
                           "ShrinkSize",
                           "Specifies the target size of the transaction log file for the shrink operation in megabytes.",
                           "ShrinkSizeMB",
                           true,
                           "false",
                           "0"
                       ],
                       [
                           "BackupDirectory",
                           "Specifies the location of your backups. Backups must be performed to shrink the transaction log.\nIf this value is not specified, the SQL Server instance\u0027s default backup directory will be used.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDiskSpaceValidation",
                           "If this switch is enabled, the validation for enough disk space using Get-DbaDiskSpace command will be skipped.\r\nThis can be useful when you know that you have enough space to grow your TLog but you don\u0027t have PowerShell Remoting enabled to validate it.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Expand-DbaTLogResponsibly,Expand-SqlTLogResponsibly",
        "Author":  "Claudio Silva (@ClaudioESSilva)",
        "Synopsis":  "This command will help you to automatically grow your transaction log  file in a responsible way (preventing the generation of too many VLFs).",
        "Name":  "Expand-DbaDbLogFile",
        "Links":  "https://dbatools.io/Expand-DbaDbLogFile",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExpand-DbaDbLogFile -SqlInstance sqlcluster -Database db1 -TargetLogSize 50000\nGrows the transaction log for database db1 on sqlcluster to 50000 MB and calculates the increment size.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExpand-DbaDbLogFile -SqlInstance sqlcluster -Database db1, db2 -TargetLogSize 10000 -IncrementSize 200\nGrows the transaction logs for databases db1 and db2 on sqlcluster to 1000MB and sets the growth increment to 200MB.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExpand-DbaDbLogFile -SqlInstance sqlcluster -Database db1 -TargetLogSize 10000 -LogFileId 9\nGrows the transaction log file  with FileId 9 of the db1 database on sqlcluster instance to 10000MB.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eExpand-DbaDbLogFile -SqlInstance sqlcluster -Database (Get-Content D:\\DBs.txt) -TargetLogSize 50000\nGrows the transaction log of the databases specified in the file \u0027D:\\DBs.txt\u0027 on sqlcluster instance to 50000MB.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eExpand-DbaDbLogFile -SqlInstance SqlInstance -Database db1,db2 -TargetLogSize 100 -IncrementSize 10 -ShrinkLogFile -ShrinkSize 10 -BackupDirectory R:\\MSSQL\\Backup\nGrows the transaction logs for databases db1 and db2 on SQL server SQLInstance to 100MB, sets the incremental growth to 10MB, shrinks the transaction log to 10MB and uses the directory \r\nR:\\MSSQL\\Backup for the required backups.",
        "Syntax":  "Expand-DbaDbLogFile [-SqlInstance] \u003cDbaInstanceParameter\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [-TargetLogSize] \u003cInt32\u003e [[-IncrementSize] \u003cInt32\u003e] [[-LogFileId] \u003cInt32\u003e] [-ExcludeDiskSpaceValidation] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nExpand-DbaDbLogFile [-SqlInstance] \u003cDbaInstanceParameter\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [-TargetLogSize] \u003cInt32\u003e [[-IncrementSize] \u003cInt32\u003e] [[-LogFileId] \u003cInt32\u003e] [-ShrinkLogFile] [-ShrinkSize] \u003cInt32\u003e [[-BackupDirectory] \u003cString\u003e] [-ExcludeDiskSpaceValidation] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaAvailabilityGroup",
        "Description":  "Exports SQL Server Availability Groups creation scripts to a T-SQL file. This is a function that is not available in SSMS.",
        "Tags":  [
                     "Hadr",
                     "HA",
                     "AG",
                     "AvailabilityGroup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. SQL Server 2012 and above supported.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "The Availability Group(s) to export - this list is auto-populated from the server. If unspecified, all logins will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeAvailabilityGroup",
                           "The Availability Group(s) to exclude - this list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The directory name where the output files will be written. A sub directory with the format \u0027ServerName$InstanceName\u0027 will be created. A T-SQL scripts named \u0027AGName.sql\u0027 will be created under this \r\nsubdirectory for each scripted Availability Group.",
                           "OutputLocation,FilePath",
                           false,
                           "false",
                           "\"$([Environment]::GetFolderPath(\"MyDocuments\"))\\SqlAgExport\""
                       ],
                       [
                           "NoClobber",
                           "Do not overwrite existing export files.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows you what it\u0027d output if you were to run the command",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Confirms each step/line of output",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chris Sommer (@cjsommer), cjsommer.com",
        "Synopsis":  "Exports SQL Server Availability Groups to a T-SQL file.",
        "Name":  "Export-DbaAvailabilityGroup",
        "Links":  "https://dbatools.io/Export-DbaAvailabilityGroup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaAvailabilityGroup -SqlInstance sql2012\nExports all Availability Groups from SQL server \"sql2012\". Output scripts are written to the Documents\\SqlAgExports directory by default.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaAvailabilityGroup -SqlInstance sql2012 -Path C:\\temp\\availability_group_exports\nExports all Availability Groups from SQL server \"sql2012\". Output scripts are written to the C:\\temp\\availability_group_exports directory.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExport-DbaAvailabilityGroup -SqlInstance sql2012 -Path \u0027C:\\dir with spaces\\availability_group_exports\u0027 -AvailabilityGroup AG1,AG2\nExports Availability Groups AG1 and AG2 from SQL server \"sql2012\". Output scripts are written to the C:\\dir with spaces\\availability_group_exports directory.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eExport-DbaAvailabilityGroup -SqlInstance sql2014 -Path C:\\temp\\availability_group_exports -NoClobber\nExports all Availability Groups from SQL server \"sql2014\". Output scripts are written to the C:\\temp\\availability_group_exports directory. If the export file already exists it will not be overwritten.",
        "Syntax":  "Export-DbaAvailabilityGroup [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cObject[]\u003e] [[-ExcludeAvailabilityGroup] \u003cObject[]\u003e] [[-Path] \u003cString\u003e] [-NoClobber] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaCmsRegServer",
        "Description":  "Exports registered servers and registered server groups to file",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaCmsRegServer, Get-DbaCmsRegServerGroup, CSVs and other objects.\nIf importing from CSV or other object, a column named ServerName is required. Optional columns include Name, Description and Group.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Path",
                           "The path to the exported file. If no path is specified, one will be created.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CredentialPersistenceType",
                           "Used to specify how the login and passwords are persisted. Valid values include None, PersistLoginName and PersistLoginNameAndPassword.",
                           "",
                           false,
                           "false",
                           "None"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Export-DbaRegisteredServer",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports registered servers and registered server groups to file",
        "Name":  "Export-DbaCmsRegServer",
        "Links":  "https://dbatools.io/Export-DbaCmsRegServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaCmsRegServer -SqlInstance sql2008\nExports all Registered Server and Registered Server Groups on sql2008 to an automatically generated file name in the current directory\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sql2008, sql2012 | Export-DbaCmsRegServer\nExports all registered servers on sql2008 and sql2012. Warning - each one will have its own individual file. Consider piping groups.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sql2008, sql2012 | Export-DbaCmsRegServer\nExports all registered servers on sql2008 and sql2012, organized by group.",
        "Syntax":  "Export-DbaCmsRegServer [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-InputObject] \u003cObject[]\u003e] [[-Path] \u003cString\u003e] [[-CredentialPersistenceType] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaCredential",
        "Description":  "Exports credentials INCLUDING PASSWORDS, unless specified otherwise, to sql file.\n\nRequires remote Windows access if exporting the password.",
        "Tags":  "Credential",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Identity",
                           "The credentials to export. If unspecified, all credentials will be exported.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "Login to the target OS using alternative credentials. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to the exported sql file.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludePassword",
                           "Exports the SQL credential without any sensitive information.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "Append to Path",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "InputObject",
                           "Allow credentials to be piped in from Get-DbaCredential",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports credentials INCLUDING PASSWORDS, unless specified otherwise, to sql file.",
        "Name":  "Export-DbaCredential",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaCredential -SqlInstance sql2017 -Path C:\\temp\\cred.sql\nExports credentials, including passwords, from sql2017 to the file C:\\temp\\cred.sql",
        "Syntax":  "Export-DbaCredential [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-Identity] \u003cString[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Path] \u003cString\u003e] [-ExcludePassword] [-Append] [[-InputObject] \u003cCredential[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaDacPackage",
        "Description":  "Using SQLPackage, export a dacpac from an instance of SQL Server.\n\nNote - Extract from SQL Server is notoriously flaky - for example if you have three part references to external databases it will not work.\n\nFor help with the extract action parameters and properties, refer to https://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx",
        "Tags":  [
                     "Migration",
                     "Database",
                     "Dacpac"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using alternative logins instead Integrated, accepts Credential object created by Get-Credential",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AllUserDatabases",
                           "Run command against all user databases",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Path",
                           "The directory where the .dacpac files will be exported to. Defaults to documents.",
                           "",
                           false,
                           "false",
                           "\"$home\\Documents\""
                       ],
                       [
                           "DacOption",
                           "Export options for a corresponding export type. Can be created by New-DbaDacOption -Type Dacpac | Bacpac",
                           "ExtractOptions,ExportOptions,DacExtractOptions,DacExportOptions,Options,Option",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExtendedParameters",
                           "Optional parameters used to extract the DACPAC. More information can be found at\r\nhttps://msdn.microsoft.com/en-us/library/hh550080.aspx",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExtendedProperties",
                           "Optional properties used to extract the DACPAC. More information can be found at\r\nhttps://msdn.microsoft.com/en-us/library/hh550080.aspx",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Type",
                           "Selecting the type of the export: Dacpac (default) or Bacpac.",
                           "",
                           false,
                           "false",
                           "Dacpac"
                       ],
                       [
                           "Table",
                           "List of the tables to include into the export. Should be provided as an array of strings: dbo.Table1, Table2, Schema1.Table3.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Export-DbaDacpac",
        "Author":  "Richie lee (@richiebzzzt)",
        "Synopsis":  "Exports a dacpac from a server.",
        "Name":  "Export-DbaDacPackage",
        "Links":  "https://dbatools.io/Export-DbaDacPackage",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaDacPackage -SqlInstance sql2016 -Database SharePoint_Config\nExports the dacpac for SharePoint_Config on sql2016 to $home\\Documents\\SharePoint_Config.dacpac\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$options = New-DbaDacOption -Type Dacpac -Action Export\nPS C:\\\u003e $options.ExtractAllTableData = $true\r\nPS C:\\\u003e $options.CommandTimeout = 0\r\nPS C:\\\u003e Export-DbaDacPackage -SqlInstance sql2016 -Database DB1 -Options $options\nUses DacOption object to set the CommandTimeout to 0 then extracts the dacpac for DB1 on sql2016 to $home\\Documents\\DB1.dacpac including all table data.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExport-DbaDacPackage -SqlInstance sql2016 -AllUserDatabases -ExcludeDatabase \"DBMaintenance\",\"DBMonitoring\" C:\\temp\nExports dacpac packages for all USER databases, excluding \"DBMaintenance\" \u0026 \"DBMonitoring\", on sql2016 and saves them to C:\\temp\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$moreparams = \"/OverwriteFiles:$true /Quiet:$true\"\nPS C:\\\u003e Export-DbaDacPackage -SqlInstance sql2016 -Database SharePoint_Config -Path C:\\temp -ExtendedParameters $moreparams\nUsing extended parameters to over-write the files and performs the extraction in quiet mode. Uses command line instead of SMO behind the scenes.",
        "Syntax":  "Export-DbaDacPackage -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-AllUserDatabases] [-Path \u003cString\u003e] [-DacOption \u003cObject\u003e] [-Type \u003cString\u003e] [-Table \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]\nExport-DbaDacPackage -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-AllUserDatabases] [-Path \u003cString\u003e] [-ExtendedParameters \u003cString\u003e] [-ExtendedProperties \u003cString\u003e] [-Type \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaDiagnosticQuery",
        "Description":  "The default output format of Invoke-DbaDiagnosticQuery is a custom object. It can also output to CSV and Excel.\nHowever, CSV output can generate a lot of files and Excel output depends on the ImportExcel module by Doug Finke (https://github.com/dfinke/ImportExcel)\nExport-DbaDiagnosticQuery can be used to convert from the default export type to the other available export types.",
        "Tags":  "Query",
        "Params":  [
                       [
                           "InputObject",
                           "Specifies the objects to convert",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "ConvertTo",
                           "Specifies the output type. Valid choices are Excel and CSV. CSV is the default.",
                           "",
                           false,
                           "false",
                           "Csv"
                       ],
                       [
                           "Path",
                           "Specifies the path to the output files.",
                           "",
                           false,
                           "false",
                           "[Environment]::GetFolderPath(\"mydocuments\")"
                       ],
                       [
                           "Suffix",
                           "Suffix for the filename. It\u0027s datetime by default.",
                           "",
                           false,
                           "false",
                           "\"$(Get-Date -format \u0027yyyyMMddHHmmssms\u0027)\""
                       ],
                       [
                           "NoPlanExport",
                           "Use this switch to suppress exporting of .sqlplan files",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoQueryExport",
                           "Use this switch to suppress exporting of .sql files",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Andre Kamman (@AndreKamman), http://clouddba.io",
        "Synopsis":  "Export-DbaDiagnosticQuery can convert output generated by Invoke-DbaDiagnosticQuery to CSV or Excel",
        "Name":  "Export-DbaDiagnosticQuery",
        "Links":  "https://dbatools.io/Export-DbaDiagnosticQuery",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eInvoke-DbaDiagnosticQuery -SqlInstance sql2016 | Export-DbaDiagnosticQuery -Path c:\\temp\nConverts output from Invoke-DbaDiagnosticQuery to multiple CSV files\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$output = Invoke-DbaDiagnosticQuery -SqlInstance sql2016\nPS C:\\\u003e Export-DbaDiagnosticQuery -InputObject $output -ConvertTo Excel\nConverts output from Invoke-DbaDiagnosticQuery to Excel worksheet(s) in the Documents folder",
        "Syntax":  "Export-DbaDiagnosticQuery [-InputObject] \u003cObject[]\u003e [[-ConvertTo] \u003cString\u003e] [[-Path] \u003cFileInfo\u003e] [[-Suffix] \u003cString\u003e] [-NoPlanExport] [-NoQueryExport] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaExecutionPlan",
        "Description":  "Exports execution plans to disk. Can pipe from Get-DbaExecutionPlan\n\nThanks to\nhttps://www.simple-talk.com/sql/t-sql-programming/dmvs-for-query-plan-metadata/\nand\nhttp://www.scarydba.com/2017/02/13/export-plans-cache-sqlplan-file/\nfor the idea and query.",
        "Tags":  [
                     "Performance",
                     "ExecutionPlan"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credential object used to connect to the SQL Server as a different user",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The directory where all of the sqlxml files will be exported",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SinceCreation",
                           "Datetime object used to narrow the results to a date",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SinceLastExecution",
                           "Datetime object used to narrow the results to a date",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "PipedObject",
                           "Internal parameter",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports execution plans to disk.",
        "Name":  "Export-DbaExecutionPlan",
        "Links":  "https://dbatools.io/Export-DbaExecutionPlan",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaExecutionPlan -SqlInstance sqlserver2014a -Path C:\\Temp\nExports all execution plans for sqlserver2014a. Files saved in to C:\\Temp\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaExecutionPlan -SqlInstance sqlserver2014a -Database db1, db2 -SinceLastExecution \u00272016-07-01 10:47:00\u0027 -Path C:\\Temp\nExports all execution plans for databases db1 and db2 on sqlserver2014a since July 1, 2016 at 10:47 AM. Files saved in to C:\\Temp\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaExecutionPlan -SqlInstance sqlserver2014a | Export-DbaExecutionPlan -Path C:\\Temp\nGets all execution plans for sqlserver2014a. Using Pipeline exports them all to C:\\Temp\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaExecutionPlan -SqlInstance sqlserver2014a | Export-DbaExecutionPlan -Path C:\\Temp -WhatIf\nGets all execution plans for sqlserver2014a. Then shows what would happen if the results where piped to Export-DbaExecutionPlan",
        "Syntax":  "Export-DbaExecutionPlan [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nExport-DbaExecutionPlan -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] -Path \u003cString\u003e [-SinceCreation \u003cDateTime\u003e] [-SinceLastExecution \u003cDateTime\u003e] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]\nExport-DbaExecutionPlan [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] -Path \u003cString\u003e -PipedObject \u003cObject[]\u003e [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaInstance",
        "Description":  "Export-DbaInstance consolidates most of the export scripts in dbatools into one command.\n\nThis is useful when you\u0027re looking to Export entire instances. It less flexible than using the underlying functions.\nThink of it as an easy button. Unless an -Exclude is specified, it exports:\n\nAll database restore scripts.\nAll logins.\nAll database mail objects.\nAll credentials.\nAll objects within the Job Server (SQL Agent).\nAll linked servers.\nAll groups and servers within Central Management Server.\nAll SQL Server configuration objects (everything in sp_configure).\nAll user objects in system databases.\nAll system triggers.\nAll system backup devices.\nAll Audits.\nAll Endpoints.\nAll Extended Events.\nAll Policy Management objects.\nAll Resource Governor objects.\nAll Server Audit Specifications.\nAll Custom Errors (User Defined Messages).\nAll Server Roles.\nAll Availability Groups.",
        "Tags":  "Export",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instances",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "Alternative Windows credentials for exporting Linked Servers and Credentials. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to the export file",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoRecovery",
                           "If this switch is used, databases will be left in the No Recovery state to enable further backups to be added.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeDbMasterKey",
                           "Exports the db master key then logs into the server to copy it to the $Path",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Exclude",
                           "Exclude one or more objects to export\nDatabases\r\nLogins\r\nAgentServer\r\nCredentials\r\nLinkedServers\r\nSpConfigure\r\nCentralManagementServer\r\nDatabaseMail\r\nSysDbUserObjects\r\nSystemTriggers\r\nBackupDevices\r\nAudits\r\nEndpoints\r\nExtendedEvents\r\nPolicyManagement\r\nResourceGovernor\r\nServerAuditSpecifications\r\nCustomErrors\r\nServerRoles\r\nAvailabilityGroups\r\nReplicationSettings",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "BatchSeparator",
                           "Batch separator for scripting output. \"GO\" by default.",
                           "",
                           false,
                           "false",
                           "GO"
                       ],
                       [
                           "ScriptingOption",
                           "Add scripting options to scripting output for all objects except Registered Servers and Extended Events.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports SQL Server *ALL* database restore scripts, logins, database mail profiles/accounts, credentials, SQL Agent objects, linked servers,\nCentral Management Server objects, server configuration settings (sp_configure), user objects in systems databases,\nsystem triggers and backup devices from one SQL Server to another.\n\nFor more granular control, please use one of the -Exclude parameters and use the other functions available within the dbatools module.",
        "Name":  "Export-DbaInstance",
        "Links":  "https://dbatools.io/Export-DbaInstance",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaInstance -SqlInstance sqlserver\\instance\nAll databases, logins, job objects and sp_configure options will be exported from\r\nsqlserver\\instance to an automatically generated folder name in Documents.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaInstance -SqlInstance sqlcluster -Exclude Databases, Logins -Path C:\\dr\\sqlcluster\nExports everything but logins and database restore scripts to C:\\dr\\sqlcluster",
        "Syntax":  "Export-DbaInstance [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Path] \u003cString\u003e] [-NoRecovery] [-IncludeDbMasterKey] [[-Exclude] \u003cString[]\u003e] [[-BatchSeparator] \u003cString\u003e] [[-ScriptingOption] \u003cScriptingOptions\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaLinkedServer",
        "Description":  "Exports linked servers INCLUDING PASSWORDS, unless specified otherwise, to sql file.\n\nRequires remote Windows access if exporting the password.",
        "Tags":  "LinkedServer",
        "Params":  [
                       [
                           "SqlInstance",
                           "Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2005 or higher.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "LinkedServer",
                           "The linked server(s) to export. If unspecified, all linked servers will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative linked servers. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "Login to the target OS using alternative linked servers. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to the exported sql file.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludePassword",
                           "Exports the linked server without any sensitive information.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "Append to Path",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "InputObject",
                           "Allow credentials to be piped in from Get-DbaLinkedServer",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports linked servers INCLUDING PASSWORDS, unless specified otherwise, to sql file.",
        "Name":  "Export-DbaLinkedServer",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaLinkedServer -SqlInstance sql2017 -Path C:\\temp\\ls.sql\nExports the linked servers, including passwords, from sql2017 to the file C:\\temp\\ls.sql\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaLinkedServer -SqlInstance sql2017 -Path C:\\temp\\ls.sql -ExcludePassword\nExports the linked servers, without passwords, from sql2017 to the file C:\\temp\\ls.sql",
        "Syntax":  "Export-DbaLinkedServer [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-LinkedServer] \u003cString[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Path] \u003cString\u003e] [-ExcludePassword] [-Append] [[-InputObject] \u003cLinkedServer[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaLogin",
        "Description":  "Exports Windows and SQL Logins to a T-SQL file. Export includes login, SID, password, default database, default language, server permissions, server roles, db permissions, db roles.",
        "Tags":  [
                     "Export",
                     "Login"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. SQL Server 2000 and above supported.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Login",
                           "The login(s) to process. Options for this list are auto-populated from the server. If unspecified, all logins will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeLogin",
                           "The login(s) to exclude. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. Options for this list are auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The file to write to.",
                           "OutFile,FilePath,FileName",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoClobber",
                           "If this switch is enabled, a file already existing at the path specified by Path will not be overwritten.",
                           "NoOverwrite",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "If this switch is enabled, content will be appended to a file already existing at the path specified by Path. If the file does not exist, it will be created.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExcludeDatabases",
                           "If this switch is enabled, mappings for databases will not be exported.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExcludeJobs",
                           "If this switch is enabled, Agent job ownership will not be exported.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExcludeGoBatchSeparator",
                           "If specified, will NOT script the \u0027GO\u0027 batch separator.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DestinationVersion",
                           "To say to which version the script should be generated. If not specified will use instance major version.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "Export-SqlLogin",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports Windows and SQL Logins to a T-SQL file. Export includes login, SID, password, default database, default language, server permissions, server roles, db permissions, db roles.",
        "Name":  "Export-DbaLogin",
        "Links":  "https://dbatools.io/Export-DbaLogin",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sql2005 -Path C:\\temp\\sql2005-logins.sql\nExports the logins for SQL Server \"sql2005\" and writes them to the file \"C:\\temp\\sql2005-logins.sql\"\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sqlserver2014a -ExcludeLogin realcajun -SqlCredential $scred -Path C:\\temp\\logins.sql -Append\nAuthenticates to sqlserver2014a using SQL Authentication. Exports all logins except for realcajun to C:\\temp\\logins.sql, and appends to the file if it exists. If not, the file will be created.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sqlserver2014a -Login realcajun, netnerds -Path C:\\temp\\logins.sql\nExports ONLY logins netnerds and realcajun FROM sqlserver2014a to the file  C:\\temp\\logins.sql\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sqlserver2014a -Login realcajun, netnerds -Database HR, Accounting\nExports ONLY logins netnerds and realcajun FROM sqlserver2014a with the permissions on databases HR and Accounting\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sqlserver2008 -Login realcajun, netnerds -Path C:\\temp\\login.sql -ExcludeGoBatchSeparator\nExports ONLY logins netnerds and realcajun FROM sqlserver2008 server, to the C:\\temp\\login.sql file without the \u0027GO\u0027 batch separator.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eExport-DbaLogin -SqlInstance sqlserver2008 -Login realcajun -Path C:\\temp\\users.sql -DestinationVersion SQLServer2016\nExports login realcajun from sqlserver2008 to the file C:\\temp\\users.sql with syntax to run on SQL Server 2016",
        "Syntax":  "Export-DbaLogin [-SqlInstance] \u003cDbaInstanceParameter\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Login] \u003cObject[]\u003e] [[-ExcludeLogin] \u003cObject[]\u003e] [[-Database] \u003cObject[]\u003e] [[-Path] \u003cString\u003e] [-NoClobber] [-Append] [-ExcludeDatabases] [-ExcludeJobs] [-EnableException] [-ExcludeGoBatchSeparator] [[-DestinationVersion] \u003cString\u003e] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaPfDataCollectorSetTemplate",
        "Description":  "Exports a Data Collector Set XML Template from Get-DbaPfDataCollectorSet. Exports to \"$home\\Documents\\Performance Monitor Templates\" by default.",
        "Tags":  [
                     "Performance",
                     "DataCollector"
                 ],
        "Params":  [
                       [
                           "ComputerName",
                           "The target computer. Defaults to localhost.",
                           "",
                           false,
                           "false",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to $ComputerName using alternative credentials. To use:\n$cred = Get-Credential, then pass $cred object to the -Credential parameter.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CollectorSet",
                           "The name of the collector set(s) to export.",
                           "DataCollectorSet",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to export the file. Can be .xml or directory.",
                           "",
                           false,
                           "false",
                           "\"$home\\Documents\\Performance Monitor Templates\""
                       ],
                       [
                           "InputObject",
                           "Accepts the object output by Get-DbaPfDataCollectorSetTemplate via the pipeline.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports a new Data Collector Set XML Template.",
        "Name":  "Export-DbaPfDataCollectorSetTemplate",
        "Links":  "https://dbatools.io/Export-DbaPfDataCollectorSetTemplate",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaPfDataCollectorSetTemplate -ComputerName sql2017 -Path C:\\temp\\pf\nExports all data collector sets from to the C:\\temp\\pf folder.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaPfDataCollectorSet ComputerName sql2017 -CollectorSet \u0027System Correlation\u0027 | Export-DbaPfDataCollectorSetTemplate -Path C:\\temp\nExports the \u0027System Correlation\u0027 data collector set from sql2017 to C:\\temp.",
        "Syntax":  "Export-DbaPfDataCollectorSetTemplate [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [[-CollectorSet] \u003cString[]\u003e] [[-Path] \u003cString\u003e] [[-InputObject] \u003cObject[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaRepServerSetting",
        "Description":  "Exports replication server settings to file.",
        "Tags":  "Replication",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances",
                           "ServerInstance,SqlServer",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "Specifies the path to a file which will contain the output.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ScriptOption",
                           "Not real sure how to use this yet",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Allows piping from Get-DbaRepServer",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Encoding",
                           "Specifies the file encoding. The default is UTF8.\nValid values are:\r\n-- ASCII: Uses the encoding for the ASCII (7-bit) character set.\r\n-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.\r\n-- Byte: Encodes a set of characters into a sequence of bytes.\r\n-- String: Uses the encoding type for a string.\r\n-- Unicode: Encodes in UTF-16 format using the little-endian byte order.\r\n-- UTF7: Encodes in UTF-7 format.\r\n-- UTF8: Encodes in UTF-8 format.\r\n-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.",
                           "",
                           false,
                           "false",
                           "UTF8"
                       ],
                       [
                           "Passthru",
                           "Output script to console",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoClobber",
                           "Do not overwrite file",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "Append to file",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports replication server settings to file.",
        "Name":  "Export-DbaRepServerSetting",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaRepServerSetting -SqlInstance sql2017 -Path C:\\temp\\replication.sql\nExports the replication settings on sql2017 to the file C:\\temp\\replication.sql\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaRepServer -SqlInstance sql2017 | Export-DbaRepServerSettings -Path C:\\temp\\replication.sql\nExports the replication settings on sql2017 to the file C:\\temp\\replication.sql",
        "Syntax":  "Export-DbaRepServerSetting [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Path] \u003cString\u003e] [[-ScriptOption] \u003cObject[]\u003e] [[-InputObject] \u003cReplicationServer[]\u003e] [[-Encoding] \u003cString\u003e] [-Passthru] [-NoClobber] [-Append] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaScript",
        "Description":  "Exports scripts from SQL Management Objects",
        "Tags":  [
                     "Migration",
                     "Backup",
                     "Export"
                 ],
        "Params":  [
                       [
                           "InputObject",
                           "A SQL Management Object such as the one returned from Get-DbaLogin",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "ScriptingOptionsObject",
                           "An SMO Scripting Object that can be used to customize the output - see New-DbaScriptingOption",
                           "ScriptingOptionObject",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The output filename and location. If no path is specified, one will be created. If the file already exists, the output will be appended.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Encoding",
                           "Specifies the file encoding. The default is UTF8.\nValid values are:\r\n-- ASCII: Uses the encoding for the ASCII (7-bit) character set.\r\n-- BigEndianUnicode: Encodes in UTF-16 format using the big-endian byte order.\r\n-- Byte: Encodes a set of characters into a sequence of bytes.\r\n-- String: Uses the encoding type for a string.\r\n-- Unicode: Encodes in UTF-16 format using the little-endian byte order.\r\n-- UTF7: Encodes in UTF-7 format.\r\n-- UTF8: Encodes in UTF-8 format.\r\n-- Unknown: The encoding type is unknown or invalid. The data can be treated as binary.",
                           "",
                           false,
                           "false",
                           "UTF8"
                       ],
                       [
                           "BatchSeparator",
                           "Specifies the Batch Separator to use. Default is None",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoPrefix",
                           "Do not include a Prefix",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Passthru",
                           "Output script to console",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoClobber",
                           "Do not overwrite file",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "Append to file",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Shows what would happen if the command were to run. No actions are actually performed",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Prompts you for confirmation before executing any changing operations within the command",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports scripts from SQL Management Objects (SMO)",
        "Name":  "Export-DbaScript",
        "Links":  "https://dbatools.io/Export-DbaScript",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance sql2016 | Export-DbaScript\nExports all jobs on the SQL Server sql2016 instance using a trusted connection - automatically determines filename as .\\sql2016-Job-Export-date.sql\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance sql2016 | Export-DbaScript -Path C:\\temp\\export.sql -Append\nExports all jobs on the SQL Server sql2016 instance using a trusted connection - Will append the output to the file C:\\temp\\export.sql if it already exists\r\nScript does not include Batch Separator and will not compile\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaDbTable -SqlInstance sql2016 -Database MyDatabase -Table \u0027dbo.Table1\u0027, \u0027dbo.Table2\u0027 -SqlCredential sqladmin | Export-DbaScript -Path C:\\temp\\export.sql\nExports only script for \u0027dbo.Table1\u0027 and \u0027dbo.Table2\u0027 in MyDatabase to C:temp\\export.sql and uses the SQL login \"sqladmin\" to login to sql2016\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance sql2016 -Job syspolicy_purge_history, \u0027Hourly Log Backups\u0027 -SqlCredential sqladmin | Export-DbaScript -Path C:\\temp\\export.sql -NoPrefix\nExports only syspolicy_purge_history and \u0027Hourly Log Backups\u0027 to C:temp\\export.sql and uses the SQL login \"sqladmin\" to login to sql2016\r\nSuppress the output of a Prefix\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003e$options = New-DbaScriptingOption\nPS C:\\\u003e $options.ScriptSchema = $true\r\nPS C:\\\u003e $options.IncludeDatabaseContext  = $true\r\nPS C:\\\u003e $options.IncludeHeaders = $false\r\nPS C:\\\u003e $Options.NoCommandTerminator = $false\r\nPS C:\\\u003e $Options.ScriptBatchTerminator = $true\r\nPS C:\\\u003e $Options.AnsiFile = $true\r\nPS C:\\\u003e Get-DbaAgentJob -SqlInstance sql2016 -Job syspolicy_purge_history, \u0027Hourly Log Backups\u0027 -SqlCredential sqladmin | Export-DbaScript -Path C:\\temp\\export.sql -ScriptingOptionsObject $options\nExports only syspolicy_purge_history and \u0027Hourly Log Backups\u0027 to C:temp\\export.sql and uses the SQL login \"sqladmin\" to login to sql2016\r\nAppends a batch separator at end of each script.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance sql2014 | Export-DbaScript -Passthru | ForEach-Object { $_.Replace(\u0027sql2014\u0027,\u0027sql2016\u0027) } | Set-Content -Path C:\\temp\\export.sql\nExports jobs and replaces all instances of the servername \"sql2014\" with \"sql2016\" then writes to C:\\temp\\export.sql\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003e$options = New-DbaScriptingOption\nPS C:\\\u003e $options.ScriptSchema = $true\r\nPS C:\\\u003e $options.IncludeDatabaseContext  = $true\r\nPS C:\\\u003e $options.IncludeHeaders = $false\r\nPS C:\\\u003e $Options.NoCommandTerminator = $false\r\nPS C:\\\u003e $Options.ScriptBatchTerminator = $true\r\nPS C:\\\u003e $Options.AnsiFile = $true\r\nPS C:\\\u003e $Databases = Get-DbaDatabase -SqlInstance sql2016 -ExcludeDatabase master, model, msdb, tempdb\r\nPS C:\\\u003e foreach ($db in $Databases) {\r\n\u003e\u003e        Export-DbaScript -InputObject $db -Path C:\\temp\\export.sql -Append -Encoding UTF8 -ScriptingOptionsObject $options -NoPrefix\r\n\u003e\u003e }\nExports Script for each database on sql2016 excluding system databases\r\nUses Scripting options to ensure Batch Terminator is set\r\nWill append the output to the file C:\\temp\\export.sql if it already exists",
        "Syntax":  "Export-DbaScript [-InputObject] \u003cObject[]\u003e [[-ScriptingOptionsObject] \u003cScriptingOptions\u003e] [[-Path] \u003cString\u003e] [[-Encoding] \u003cString\u003e] [[-BatchSeparator] \u003cString\u003e] [-NoPrefix] [-Passthru] [-NoClobber] [-Append] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaSpConfigure",
        "Description":  "Exports advanced sp_configure global configuration options to sql file.",
        "Tags":  [
                     "SpConfig",
                     "Configure",
                     "Configuration"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input.\r\nYou must have sysadmin access if needs to set \u0027show advanced options\u0027 to 1 and server version must be SQL Server version 2005 or higher.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "Specifies the path to a file which will contain the sp_configure queries necessary to replicate the configuration settings on another instance. This file is suitable for input into \r\nImport-DbaSPConfigure.\r\nIf not specified will output to My Documents folder with default name of ServerName-MMDDYYYYhhmmss-sp_configure.sql\r\nIf a directory is passed then uses default name of ServerName-MMDDYYYYhhmmss-sp_configure.sql",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Export-SqlSpConfigure",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports advanced sp_configure global configuration options to sql file.",
        "Name":  "Export-DbaSpConfigure",
        "Links":  "https://dbatools.io/Export-DbaSpConfigure",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaSpConfigure -SqlInstance sourceserver\nExports the SPConfigure settings on sourceserver. As no Path was defined outputs to My Documents folder with default name format of Servername-MMDDYYYYhhmmss-sp_configure.sql\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaSpConfigure -SqlInstance sourceserver -Path C:\\temp\nExports the SPConfigure settings on sourceserver to the directory C:\\temp using the default name format\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$cred = Get-Credential sqladmin\nPS C:\\\u003e Export-DbaSpConfigure -SqlInstance sourceserver -SqlCredential $cred -Path C:\\temp\\sp_configure.sql\nExports the SPConfigure settings on sourceserver to the file C:\\temp\\sp_configure.sql. Uses SQL Authentication to connect. Will require SysAdmin rights if needs to set \u0027show advanced options\u0027\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e\u0027Server1\u0027, \u0027Server2\u0027 | Export-DbaSpConfigure -Path C:\\temp\\configure.sql\nExports the SPConfigure settings for Server1 and Server2 using pipeline. As more than 1 Server adds prefix of Servername and date to the file name and saves to file like  \r\nC:\\temp\\Servername-MMDDYYYYhhmmss-configure.sql",
        "Syntax":  "Export-DbaSpConfigure [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Path] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbatoolsConfig",
        "Description":  "Exports configuration items to a Json file.",
        "Params":  [
                       [
                           "FullName",
                           "Select the configuration objects to export by filtering by their full name.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Module",
                           "Select the configuration objects to export by filtering by their module name.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "Select the configuration objects to export by filtering by their name.",
                           "",
                           false,
                           "false",
                           "*"
                       ],
                       [
                           "Config",
                           "The configuration object(s) to export.\r\nReturned by Get-DbatoolsConfig.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "ModuleName",
                           "Exports all configuration pertinent to a module to a predefined path.\r\nExported configuration items include all settings marked as \u0027ModuleExport\u0027 that have been changed from the default value.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "ModuleVersion",
                           "The configuration version of the module-settings to write.",
                           "",
                           false,
                           "false",
                           "1"
                       ],
                       [
                           "Scope",
                           "Which predefined path to write module specific settings to.\r\nOnly file scopes are considered.\r\nBy default it writes to the suer profile.",
                           "",
                           false,
                           "false",
                           "FileUserShared"
                       ],
                       [
                           "OutPath",
                           "The path (filename included) to export to.\r\nWill fail if the folder does not exist, will overwrite the file if it exists.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SkipUnchanged",
                           "If set, configuration objects whose value was not changed from its original value will not be exported.\r\n(Note: Settings that were updated with the same value as the original default will still be considered changed)",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "This parameters disables user-friendly warnings and enables the throwing of exceptions.\r\nThis is less user friendly, but allows catching exceptions in calling scripts.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Synopsis":  "Exports configuration items to a Json file.",
        "Name":  "Export-DbatoolsConfig",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbatoolsConfig | Export-DbatoolsConfig -OutPath \u0027~/export.json\u0027\nExports all current settings to json.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbatoolsConfig -Module message -OutPath \u0027~/export.json\u0027 -SkipUnchanged\nExports all settings of the module \u0027message\u0027 that are no longer the original default values to json.",
        "Syntax":  "Export-DbatoolsConfig [-FullName] \u003cString\u003e [-OutPath] \u003cString\u003e [-SkipUnchanged] [-EnableException] [\u003cCommonParameters\u003e]\nExport-DbatoolsConfig [-Module] \u003cString\u003e [[-Name] \u003cString\u003e] [-OutPath] \u003cString\u003e [-SkipUnchanged] [-EnableException] [\u003cCommonParameters\u003e]\nExport-DbatoolsConfig [-Config] \u003cConfig[]\u003e [-OutPath] \u003cString\u003e [-SkipUnchanged] [-EnableException] [\u003cCommonParameters\u003e]\nExport-DbatoolsConfig -ModuleName \u003cString\u003e [-ModuleVersion \u003cInt32\u003e] [-Scope {UserDefault | UserMandatory | SystemDefault | SystemMandatory | FileUserLocal | FileUserShared | FileSystem}] [-SkipUnchanged] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaUser",
        "Description":  "Exports users creation and its permissions to a T-SQL file or host. Export includes user, create and add to role(s), database level permissions, object level permissions.",
        "Tags":  [
                     "User",
                     "Export"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. SQL Server 2000 and above supported.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using alternative credentials\n$scred = Get-Credential, then pass $scred object to the -SqlCredential parameter\nWindows Authentication will be used if SqlCredential is not specified",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "User",
                           "Export only the specified database user(s). If not specified will export all users from the database(s)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationVersion",
                           "To say to which version the script should be generated. If not specified will use database compatibility level",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "Specifies the full path of a file to write the script to.",
                           "OutFile,FilePath,FileName",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoClobber",
                           "Do not overwrite file",
                           "NoOverwrite",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "Append to file",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ScriptingOptionsObject",
                           "A Microsoft.SqlServer.Management.Smo.ScriptingOptions object with the options that you want to use to generate the t-sql script.\r\nYou can use the NEw-DbaScriptingOption to generate it.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeGoBatchSeparator",
                           "If specified, will NOT script the \u0027GO\u0027 batch separator.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Export-SqlUser",
        "Author":  "Claudio Silva (@ClaudioESSilva)",
        "Synopsis":  "Exports users creation and its permissions to a T-SQL file or host.",
        "Name":  "Export-DbaUser",
        "Links":  "https://dbatools.io/Export-DbaUser",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sql2005 -Path C:\\temp\\sql2005-users.sql\nExports SQL for the users in server \"sql2005\" and writes them to the file \"C:\\temp\\sql2005-users.sql\"\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sqlserver2014a $scred -Path C:\\temp\\users.sql -Append\nAuthenticates to sqlserver2014a using SQL Authentication. Exports all users to C:\\temp\\users.sql, and appends to the file if it exists. If not, the file will be created.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sqlserver2014a -User User1, User2 -Path C:\\temp\\users.sql\nExports ONLY users User1 and User2 from sqlserver2014a to the file  C:\\temp\\users.sql\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sqlserver2008 -User User1 -Path C:\\temp\\users.sql -DestinationVersion SQLServer2016\nExports user User1 from sqlserver2008 to the file C:\\temp\\users.sql with syntax to run on SQL Server 2016\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sqlserver2008 -Database db1,db2 -Path C:\\temp\\users.sql\nExports ONLY users from db1 and db2 database on sqlserver2008 server, to the C:\\temp\\users.sql file.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$options = New-DbaScriptingOption\nPS C:\\\u003e $options.ScriptDrops = $false\r\nPS C:\\\u003e $options.WithDependencies = $true\r\nPS C:\\\u003e Export-DbaUser -SqlInstance sqlserver2008 -Database db1,db2 -Path C:\\temp\\users.sql -ScriptingOptionsObject $options\nExports ONLY users from db1 and db2 database on sqlserver2008 server, to the C:\\temp\\users.sql file.\r\nIt will not script drops but will script dependencies.\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eExport-DbaUser -SqlInstance sqlserver2008 -Database db1,db2 -Path C:\\temp\\users.sql -ExcludeGoBatchSeparator\nExports ONLY users from db1 and db2 database on sqlserver2008 server, to the C:\\temp\\users.sql file without the \u0027GO\u0027 batch separator.",
        "Syntax":  "Export-DbaUser [-SqlInstance] \u003cDbaInstanceParameter\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [[-User] \u003cObject[]\u003e] [[-DestinationVersion] \u003cString\u003e] [[-Path] \u003cString\u003e] [-NoClobber] [-Append] [-EnableException] [[-ScriptingOptionsObject] \u003cScriptingOptions\u003e] [-ExcludeGoBatchSeparator] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaXECsv",
        "Description":  "Exports Extended Events to a CSV file.",
        "Tags":  [
                     "ExtendedEvent",
                     "XE",
                     "XEvent"
                 ],
        "Params":  [
                       [
                           "InputObject",
                           "Allows Piping",
                           "FullName",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Path",
                           "Specifies the InputObject to the output CSV file",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Gianluca Sartori (@spaghettidba)",
        "Synopsis":  "Exports Extended Events to a CSV file.",
        "Name":  "Export-DbaXECsv",
        "Links":  "https://dbatools.io/Export-DbaXECsv",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-ChildItem -Path C:\\temp\\sample.xel | Export-DbaXECsv -Path c:\\temp\\sample.csv\nWrites Extended Events data to the file \"C:\\temp\\events.csv\".\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaXESession -SqlInstance sql2014 -Session deadlocks | Export-DbaXECsv -Path c:\\temp\\events.csv\nWrites Extended Events data to the file \"C:\\temp\\events.csv\".",
        "Syntax":  "Export-DbaXECsv [-InputObject] \u003cObject[]\u003e [-Path] \u003cString\u003e [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Export-DbaXESessionTemplate",
        "Description":  "Exports an XESession XML Template either from the Target SQL Server or XE Session(s) output by Get-DbaXESession. Exports to \"$home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates\" by default",
        "Tags":  [
                     "ExtendedEvent",
                     "XE",
                     "XEvent"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2008 or higher.",
                           "ServerInstance,SqlServer",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Session",
                           "The Name of the session(s) to export.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "The path to export the file into. Can be .xml or directory.",
                           "",
                           false,
                           "false",
                           "\"$home\\Documents\\SQL Server Management Studio\\Templates\\XEventTemplates\""
                       ],
                       [
                           "InputObject",
                           "Specifies an XE Session output by Get-DbaXESession.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Exports an XESession XML Template using XE Session(s) output by Get-DbaXESession",
        "Name":  "Export-DbaXESessionTemplate",
        "Links":  "https://dbatools.io/Export-DbaXESessionTemplate",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eExport-DbaXESessionTemplate -SqlInstance sql2017 -Path C:\\temp\\xe\nExports an XESession XML Template for all Extended Event Sessions on sql2017 to the C:\\temp\\xe folder.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaXESession -SqlInstance sql2017 -Session system_health | Export-DbaXESessionTemplate -Path C:\\temp\\xe\nGets the system_health Extended Events Session from sql2017 and then exports as an XESession XML Template to C:\\temp\\xe",
        "Syntax":  "Export-DbaXESessionTemplate [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Session] \u003cObject[]\u003e] [[-Path] \u003cString\u003e] [[-InputObject] \u003cSession[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaAgentJob",
        "Description":  "This command filters SQL Agent jobs giving the DBA a list of jobs that may need attention or could possibly be options for removal.",
        "Tags":  [
                     "Agent",
                     "Job"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using SQL Logins as opposed to Windows Auth/Integrated/Trusted.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "JobName",
                           "Filter agent jobs to only the name(s) you list.\r\nSupports regular expression (e.g. MyJob*) being passed in.",
                           "Name",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJobName",
                           "Allows you to enter an array of agent job names to ignore",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "StepName",
                           "Filter based on StepName.\r\nSupports regular expression (e.g. MyJob*) being passed in.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LastUsed",
                           "Find all jobs that havent ran in the INT number of previous day(s)",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "IsDisabled",
                           "Find all jobs that are disabled",
                           "Disabled",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IsFailed",
                           "Find all jobs that have failed",
                           "Failed",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IsNotScheduled",
                           "Find all jobs with no schedule assigned",
                           "NoSchedule",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IsNoEmailNotification",
                           "Find all jobs without email notification configured",
                           "NoEmailNotification",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Category",
                           "Filter based on agent job categories",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Owner",
                           "Filter based on owner of the job/s",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Since",
                           "Datetime object used to narrow the results to a date",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stephen Bennett (https://sqlnotesfromtheunderground.wordpress.com/)",
        "Synopsis":  "Find-DbaAgentJob finds agent job/s that fit certain search filters.",
        "Name":  "Find-DbaAgentJob",
        "Links":  "https://dbatools.io/Find-DbaAgentJob",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01 -JobName *backup*\nReturns all agent job(s) that have backup in the name\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01, Dev02 -JobName Mybackup\nReturns all agent job(s) that are named exactly Mybackup\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01 -LastUsed 10\nReturns all agent job(s) that have not ran in 10 days\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01 -IsDisabled -IsNoEmailNotification -IsNotScheduled\nReturns all agent job(s) that are either disabled, have no email notification or don\u0027t have a schedule. returned with detail\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003e$servers | Find-DbaAgentJob -IsFailed | Start-DbaAgentJob\nFinds all failed job then starts them. Consider using a -WhatIf at the end of Start-DbaAgentJob to see what it\u0027ll do first\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01 -LastUsed 10 -Exclude \"Yearly - RollUp Workload\", \"SMS - Notification\"\nReturns all agent jobs that have not ran in the last 10 days ignoring jobs \"Yearly - RollUp Workload\" and \"SMS - Notification\"\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01 -Category \"REPL-Distribution\", \"REPL-Snapshot\" | Format-Table -AutoSize -Wrap\nReturns all job/s on Dev01 that are in either category \"REPL-Distribution\" or \"REPL-Snapshot\"\n-------------------------- EXAMPLE 8 --------------------------\nPS C:\\\u003eFind-DbaAgentJob -SqlInstance Dev01, Dev02 -IsFailed -Since \u00272016-07-01 10:47:00\u0027\nReturns all agent job(s) on Dev01 and Dev02 that have failed since July of 2016 (and still have history in msdb)\n-------------------------- EXAMPLE 9 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance CMSServer -Group Production | Find-DbaAgentJob -Disabled -IsNotScheduled | Format-Table -AutoSize -Wrap\nQueries CMS server to return all SQL instances in the Production folder and then list out all agent jobs that have either been disabled or have no schedule.",
        "Syntax":  "Find-DbaAgentJob [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-JobName \u003cString[]\u003e] [-ExcludeJobName \u003cString[]\u003e] [-StepName \u003cString[]\u003e] [-LastUsed \u003cInt32\u003e] [-IsDisabled] [-IsFailed] [-IsNotScheduled] [-IsNoEmailNotification] [-Category \u003cString[]\u003e] [-Owner \u003cString\u003e] [-Since \u003cDateTime\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaBackup",
        "Description":  "Provides all of the same functionality for finding SQL backups to remove from disk as a standard maintenance plan would.\n\nAs an addition you have the ability to check the Archive bit on files before deletion. This will allow you to ensure backups have been archived to your archive location before removal.",
        "Tags":  "Backup",
        "Params":  [
                       [
                           "Path",
                           "Specifies the name of the base level folder to search for backup files.",
                           "BackupFolder",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "BackupFileExtension",
                           "Specifies the filename extension of the backup files you wish to find (typically \u0027bak\u0027, \u0027trn\u0027 or \u0027log\u0027). Do not include the period.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "RetentionPeriod",
                           "Specifies the retention period for backup files. Correct format is ##U.\n## is the retention value and must be an integer value\r\nU signifies the units where the valid units are:\r\nh = hours\r\nd = days\r\nw = weeks\r\nm = months\nFormatting Examples:\r\n\u002748h\u0027 = 48 hours\r\n\u00277d\u0027 = 7 days\r\n\u00274w\u0027 = 4 weeks\r\n\u00271m\u0027 = 1 month",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "CheckArchiveBit",
                           "If this switch is enabled, the filesystem Archive bit is checked.\r\nIf this bit is set (which translates to \"it has not been backed up to another location yet\"), the file won\u0027t be included.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chris Sommer (@cjsommer), www.cjsommer.com",
        "Synopsis":  "Finds SQL Server backups on disk.",
        "Name":  "Find-DbaBackup",
        "Links":  "https://dbatools.io/Find-DbaBackup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaBackup -Path \u0027C:\\MSSQL\\SQL Backup\\\u0027 -BackupFileExtension trn -RetentionPeriod 48h\nSearches for all trn files in C:\\MSSQL\\SQL Backup\\ and all subdirectories that are more than 48 hours old will be included.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaBackup -Path \u0027C:\\MSSQL\\Backup\\\u0027 -BackupFileExtension bak -RetentionPeriod 7d -CheckArchiveBit\nSearches for all bak files in C:\\MSSQL\\Backup\\ and all subdirectories that are more than 7 days old will be included, but only if the files have been backed up to another location as verified by \r\nchecking the Archive bit.",
        "Syntax":  "Find-DbaBackup [-Path] \u003cString\u003e [-BackupFileExtension] \u003cString\u003e [-RetentionPeriod] \u003cString\u003e [-CheckArchiveBit] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaCommand",
        "Description":  "Finds dbatools commands searching through the inline help text, building a consolidated json index and querying it because Get-Help is too slow",
        "Tags":  [
                     "Find",
                     "Help",
                     "Command"
                 ],
        "Params":  [
                       [
                           "Pattern",
                           "Searches help for all commands in dbatools for the specified pattern and displays all results",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Tag",
                           "Finds all commands tagged with this auto-populated tag",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Author",
                           "Finds all commands tagged with this author",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "MinimumVersion",
                           "Finds all commands tagged with this auto-populated minimum version",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "MaximumVersion",
                           "Finds all commands tagged with this auto-populated maximum version",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Rebuild",
                           "Rebuilds the index",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "Displays what would happen if the command is run",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "Confirms overwrite of index",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Simone Bizzotto (@niphold)",
        "Synopsis":  "Finds dbatools commands searching through the inline help text",
        "Name":  "Find-DbaCommand",
        "Links":  "https://dbatools.io/Find-DbaCommand",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaCommand \"snapshot\"\nFor lazy typers: finds all commands searching the entire help for \"snapshot\"\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaCommand -Pattern \"snapshot\"\nFor rigorous typers: finds all commands searching the entire help for \"snapshot\"\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaCommand -Tag copy\nFinds all commands tagged with \"copy\"\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaCommand -Tag copy,user\nFinds all commands tagged with BOTH \"copy\" and \"user\"\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-DbaCommand -Author chrissy\nFinds every command whose author contains our beloved \"chrissy\"\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-DbaCommand -Author chrissy -Tag copy\nFinds every command whose author contains our beloved \"chrissy\" and it tagged as \"copy\"\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eFind-DbaCommand -Pattern snapshot -Rebuild\nFinds all commands searching the entire help for \"snapshot\", rebuilding the index (good for developers)",
        "Syntax":  "Find-DbaCommand [[-Pattern] \u003cString\u003e] [[-Tag] \u003cString[]\u003e] [[-Author] \u003cString\u003e] [[-MinimumVersion] \u003cString\u003e] [[-MaximumVersion] \u003cString\u003e] [-Rebuild] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaDatabase",
        "Description":  "Allows you to search SQL Server instances for database that have either the same name, owner or service broker guid.\n\nThere a several reasons for the service broker guid not matching on a restored database primarily using alter database new broker. or turn off broker to return a guid of 0000-0000-0000-0000.",
        "Tags":  "Database",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credential object used to connect to the SQL Server as a different user",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Property",
                           "What you would like to search on. Either Database Name, Owner, or Service Broker GUID. Database name is the default.",
                           "",
                           false,
                           "false",
                           "Name"
                       ],
                       [
                           "Pattern",
                           "Value that is searched for. This is a regular expression match but you can just use a plain ol string like \u0027dbareports\u0027",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Exact",
                           "Search for an exact match instead of a pattern",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Detailed",
                           "Output all properties, will be depreciated in 1.0.0 release.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stephen Bennett, https://sqlnotesfromtheunderground.wordpress.com/",
        "Synopsis":  "Find database/s on multiple servers that match criteria you input",
        "Name":  "Find-DbaDatabase",
        "Links":  "https://dbatools.io/Find-DbaDatabase",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaDatabase -SqlInstance \"DEV01\", \"DEV02\", \"UAT01\", \"UAT02\", \"PROD01\", \"PROD02\" -Pattern Report\nReturns all database from the SqlInstances that have a database with Report in the name\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaDatabase -SqlInstance \"DEV01\", \"DEV02\", \"UAT01\", \"UAT02\", \"PROD01\", \"PROD02\" -Pattern TestDB -Exact | Select-Object *\nReturns all database from the SqlInstances that have a database named TestDB with a detailed output.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaDatabase -SqlInstance \"DEV01\", \"DEV02\", \"UAT01\", \"UAT02\", \"PROD01\", \"PROD02\" -Property ServiceBrokerGuid -Pattern \u0027-faeb-495a-9898-f25a782835f5\u0027 | Select-Object *\nReturns all database from the SqlInstances that have the same Service Broker GUID with a detailed output",
        "Syntax":  "Find-DbaDatabase [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Property] \u003cString\u003e] [-Pattern] \u003cString\u003e [-Exact] [-Detailed] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaDbGrowthEvent",
        "Description":  "Finds any database AutoGrow events in the Default Trace.\n\nThe following events are included:\n92 - Data File Auto Grow\n93 - Log File Auto Grow\n94 - Data File Auto Shrink\n95 - Log File Auto Shrink",
        "Tags":  [
                     "AutoGrow",
                     "Growth",
                     "Database"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EventType",
                           "Provide a filter on growth event type to filter the results.\nAllowed values: Growth, Shrink",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "FileType",
                           "Provide a filter on file type to filter the results.\nAllowed values: Data, Log",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "UseLocalTime",
                           "Return the local time of the instance instead of converting to UTC.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Find-DbaDatabaseGrowthEvent",
        "Author":  "Aaron Nelson",
        "Synopsis":  "Finds any database AutoGrow events in the Default Trace.",
        "Name":  "Find-DbaDbGrowthEvent",
        "Links":  "https://dbatools.io/Find-DbaDatabaseGrowthEvent",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance localhost\nReturns any database AutoGrow events in the Default Trace with UTC time for the instance for every database on the localhost instance.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance localhost -UseLocalTime\nReturns any database AutoGrow events in the Default Trace with the local time of the instance for every database on the localhost instance.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance ServerA\\SQL2016, ServerA\\SQL2014\nReturns any database AutoGrow events in the Default Traces for every database on ServerA\\sql2016 \u0026 ServerA\\SQL2014.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance ServerA\\SQL2016 | Format-Table -AutoSize -Wrap\nReturns any database AutoGrow events in the Default Trace for every database on the ServerA\\SQL2016 instance in a table format.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance ServerA\\SQL2016 -EventType Shrink\nReturns any database Auto Shrink events in the Default Trace for every database on the ServerA\\SQL2016 instance.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-DbaDatabaseGrowthEvent -SqlInstance ServerA\\SQL2016 -EventType Growth -FileType Data\nReturns any database Auto Growth events on data files in the Default Trace for every database on the ServerA\\SQL2016 instance.",
        "Syntax":  "Find-DbaDbGrowthEvent [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [[-EventType] \u003cString\u003e] [[-FileType] \u003cString\u003e] [-UseLocalTime] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaDbUnusedIndex",
        "Description":  "This command will help you to find Unused indexes on a database or a list of databases\n\nFor now only supported for CLUSTERED and NONCLUSTERED indexes",
        "Tags":  "Index",
        "Params":  [
                       [
                           "SqlInstance",
                           "The SQL Server you want to check for unused indexes.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. Options for this list are auto-populated from the server. If unspecified, all databases will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Specifies the database(s) to exclude from processing. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IgnoreUptime",
                           "Less than 7 days uptime can mean that analysis of unused indexes is unreliable, and normally no results will be returned. By setting this option results will be returned even if the Instance has been \r\nrunning for less that 7 days.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "InputObject",
                           "Enables piping from Get-DbaDatabase",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Find-SqlUnusedIndex",
        "Author":  "Aaron Nelson (@SQLvariant), SQLvariant.com",
        "Synopsis":  "Find unused indexes",
        "Name":  "Find-DbaDbUnusedIndex",
        "Links":  "https://dbatools.io/Find-DbaDbUnusedIndex",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaDbUnusedIndex -SqlInstance sql2016 -Database db1, db2\nFinds unused databases on db1 and db2 on sql2016\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaDbUnusedIndex -SqlInstance sql2016 -SqlCredential $cred\nFinds unused databases on db1 and db2 on sql2016 using SQL Authentication to connect to the server\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaDatabase -SqlInstance sql2016 | Find-DbaDbUnusedIndex\nFinds unused databases on all databases on sql2016",
        "Syntax":  "Find-DbaDbUnusedIndex [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [-IgnoreUptime] [[-InputObject] \u003cDatabase[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaDisabledIndex",
        "Description":  "This command will help you to find disabled indexes on a database or a list of databases.",
        "Tags":  "Index",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. Options for this list are auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Specifies the database(s) to exclude from processing. Options for this list are auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoClobber",
                           "If this switch is enabled, the output file will not be overwritten.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Append",
                           "If this switch is enabled, content will be appended to the output file.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WhatIf",
                           "If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.",
                           "wi",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Confirm",
                           "If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.",
                           "cf",
                           false,
                           "false",
                           ""
                       ]
                   ],
        "Alias":  "",
        "Author":  "Jason Squires, sqlnotnull.com",
        "Synopsis":  "Find Disabled indexes",
        "Name":  "Find-DbaDisabledIndex",
        "Links":  "https://dbatools.io/Find-DbadisabledIndex",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaDisabledIndex -SqlInstance sql2005\nGenerates the SQL statements to drop the selected disabled indexes on server \"sql2005\".\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaDisabledIndex -SqlInstance sqlserver2016 -SqlCredential $cred\nGenerates the SQL statements to drop the selected disabled indexes on server \"sqlserver2016\", using SQL Authentication to connect to the database.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaDisabledIndex -SqlInstance sqlserver2016 -Database db1, db2\nGenerates the SQL Statement to drop selected indexes in databases db1 \u0026 db2 on server \"sqlserver2016\".\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaDisabledIndex -SqlInstance sqlserver2016\nGenerates the SQL statements to drop selected indexes on all user databases.",
        "Syntax":  "Find-DbaDisabledIndex [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [[-ExcludeDatabase] \u003cObject[]\u003e] [-NoClobber] [-Append] [-EnableException] [-WhatIf] [-Confirm] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaDuplicateIndex",
        "Description":  "This command will help you to find duplicate and overlapping indexes on a database or a list of databases.\n\nOn SQL Server 2008 and higher, the IsFiltered property will also be checked\n\nOnly supports CLUSTERED and NONCLUSTERED indexes.\n\nOutput:\nTableName\nIndexName\nKeyColumns\nIncludedColumns\nIndexSizeMB\nIndexType\nCompressionDescription (When 2008+)\n[RowCount]\nIsDisabled\nIsFiltered (When 2008+)",
        "Tags":  "Index",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process. Options for this list are auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IncludeOverlapping",
                           "If this switch is enabled, indexes which are partially duplicated will be returned.\nExample: If the first key column is the same between two indexes, but one has included columns and the other not, this will be shown.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Find-SqlDuplicateIndex",
        "Author":  "Claudio Silva (@ClaudioESSilva)",
        "Synopsis":  "Find duplicate and overlapping indexes.",
        "Name":  "Find-DbaDuplicateIndex",
        "Links":  "https://dbatools.io/Find-DbaDuplicateIndex",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaDuplicateIndex -SqlInstance sql2005\nReturns duplicate indexes found on sql2005\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaDuplicateIndex -SqlInstance sql2017 -SqlCredential sqladmin\nFinds exact duplicate indexes on all user databases present on sql2017, using SQL authentication.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaDuplicateIndex -SqlInstance sql2017 -Database db1, db2\nFinds exact duplicate indexes on the db1 and db2 databases.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaDuplicateIndex -SqlInstance sql2017 -IncludeOverlapping\nFinds both duplicate and overlapping indexes on all user databases.",
        "Syntax":  "Find-DbaDuplicateIndex [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Database] \u003cObject[]\u003e] [-IncludeOverlapping] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaInstance",
        "Description":  "This function searches for SQL Server Instances.\n\nIt supports a variety of scans for this purpose which can be separated in two categories:\n- Discovery\n- Scan\n\nDiscovery:\nThis is where it compiles a list of computers / addresses to check.\nIt supports several methods of generating such lists (including Active Directory lookup or IP Ranges), but also supports specifying a list of computers to check.\n- For details on discovery, see the documentation on the \u0027-DiscoveryType\u0027 parameter\n- For details on explicitly providing a list, see the documentation on the \u0027-ComputerName\u0027 parameter\n\nScan:\nOnce a list of computers has been provided, this command will execute a variety of actions to determine any instances present for each of them.\nThis is described in more detail in the documentation on the \u0027-ScanType\u0027 parameter.\nAdditional parameters allow more granular control over individual scans (e.g. Credentials to use).\n\nNote on logging and auditing:\nThe Discovery phase is un-problematic since it is non-intrusive, however during the scan phase, all targeted computers may be accessed repeatedly.\nThis may cause issues with security teams, due to many logon events and possibly failed authentication.\nThis action constitutes a network scan, which may be illegal depending on the nation you are in and whether you own the network you scan.\nIf you are unsure whether you may use this command in your environment, check the detailed description on the \u0027-ScanType\u0027 parameter and contact your IT security team for advice.",
        "Tags":  [
                     "Instance",
                     "Connect",
                     "SqlServer"
                 ],
        "Params":  [
                       [
                           "ComputerName",
                           "The computer to scan. Can be a variety of input types, including text or the output of Get-ADComputer.\r\nAny extra instance information (such as connection strings or live sql server connections) beyond the computername will be discarded.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "DiscoveryType",
                           "The mechanisms to be used to discover instances.\r\nSupports any combination of:\r\n- Service Principal Name lookup (\u0027Domain\u0027; from Active Directory)\r\n- SQL Instance Enumeration (\u0027DataSourceEnumeration\u0027; same as SSMS uses)\r\n- IP Address range (\u0027IPRange\u0027; all IP Addresses will be scanned)\nSPN Lookup:\r\nThe function tries to connect active directory to look up all computers with registered SQL Instances.\r\nNot all instances need to be registered properly, making this not 100% reliable.\r\nBy default, your nearest Domain Controller is contacted for this scan.\r\nHowever it is possible to explicitly state the DC to contact using its DistinguishedName and the \u0027-DomainController\u0027 parameter.\r\nIf credentials were specified using the \u0027-Credential\u0027 parameter, those same credentials are used to perform this lookup, allowing the scan of other domains.\nSQL Instance Enumeration:\r\nThis uses the default UDP Broadcast based instance enumeration used by SSMS to detect instances.\r\nNote that the result from this is not used in the actual scan, but only to compile a list of computers to scan.\r\nTo enable the same results for the scan, ensure that the \u0027Browser\u0027 scan is enabled.\nIP Address range:\r\nThis \u0027Discovery\u0027 uses a range of IPAddresses and simply passes them on to be tested.\r\nSee the \u0027Description\u0027 part of help on security issues of network scanning.\r\nBy default, it will enumerate all ethernet network adapters on the local computer and scan the entire subnet they are on.\r\nBy using the \u0027-IpAddress\u0027 parameter, custom network ranges can be specified.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "The credentials to use on windows network connection.\r\nThese credentials are used for:\r\n- Contact to domain controllers for SPN lookups (only if explicit Domain Controller is specified)\r\n- CIM/WMI contact to the scanned computers during the scan phase (see the \u0027-ScanType\u0027 parameter documentation on affected scans).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "The credentials used to connect to SqlInstances to during the scan phase.\r\nSee the \u0027-ScanType\u0027 parameter documentation on affected scans.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ScanType",
                           "The scans are the individual methods used to retrieve information about the scanned computer and any potentially installed instances.\r\nThis parameter is optional, by default all scans except for establishing an actual SQL connection are performed.\r\nScans can be specified in any arbitrary combination, however at least one instance detecting scan needs to be specified in order for data to be returned.\nScans:\r\n Browser\r\n- Tries discovering all instances via the browser service\r\n- This scan detects instances.\nSQLService\r\n- Tries listing all SQL Services using CIM/WMI\r\n- This scan uses credentials specified in the \u0027-Credential\u0027 parameter if any.\r\n- This scan detects instances.\r\n- Success in this scan guarantees high confidence (See parameter \u0027-MinimumConfidence\u0027 for details).\nSPN\r\n- Tries looking up the Service Principal Names for each instance\r\n- Will use the nearest Domain Controller by default\r\n- Target a specific domain controller using the \u0027-DomainController\u0027 parameter\r\n- If using the \u0027-DomainController\u0027 parameter, use the \u0027-Credential\u0027 parameter to specify the credentials used to connect\nTCPPort\r\n- Tries connecting to the TCP Ports.\r\n- By default, port 1433 is connected to.\r\n- The parameter \u0027-TCPPort\u0027 can be used to provide a list of port numbers to scan.\r\n- This scan detects possible instances. Since other services might bind to a given port, this is not the most reliable test.\r\n- This scan is also used to validate found SPNs if both scans are used in combination\nDNSResolve\r\n- Tries resolving the computername in DNS\nPing\r\n- Tries pinging the computer. Failure will NOT terminate scans.\nSqlConnect\r\n- Tries to establish a SQL connection to the server\r\n- Uses windows credentials by default\r\n- Specify custom credentials using the \u0027-SqlCredential\u0027 parameter\r\n- This scan is not used by default\r\n- Success in this scan guarantees high confidence (See parameter \u0027-MinimumConfidence\u0027 for details).\nAll\r\n- All of the above",
                           "",
                           false,
                           "false",
                           "Default"
                       ],
                       [
                           "IpAddress",
                           "This parameter can be used to override the defaults for the IPRange discovery.\r\nThis parameter accepts a list of strings supporting any combination of:\r\n- Plain IP Addresses (e.g.: \"10.1.1.1\")\r\n- IP Address Ranges (e.g.: \"10.1.1.1-10.1.1.5\")\r\n- IP Address \u0026 Subnet Mask (e.g.: \"10.1.1.1/255.255.255.0\")\r\n- IP Address \u0026 Subnet Length: (e.g.: \"10.1.1.1/24)\r\nOverlapping addresses will not result in duplicate scans.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DomainController",
                           "The domain controller to contact for SPN lookups / searches.\r\nUses the credentials from the \u0027-Credential\u0027 parameter if specified.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "TCPPort",
                           "The ports to scan in the TCP Port Scan method.\r\nDefaults to 1433.",
                           "",
                           false,
                           "false",
                           "1433"
                       ],
                       [
                           "MinimumConfidence",
                           "This command tries to discover instances, which isn\u0027t always a sure thing.\r\nDepending on the number and type of scans completed, we have different levels of confidence in our results.\r\nBy default, we will return anything that we have at least a low confidence of being an instance.\r\nThese are the confidence levels we support and how they are determined:\r\n- High: Established SQL Connection (including rejection for bad credentials) or service scan.\r\n- Medium: Browser reply or a combination of TCPConnect _and_ SPN test.\r\n- Low: Either TCPConnect _or_ SPN\r\n- None: Computer existence could be verified, but no sign of an SQL Instance",
                           "",
                           false,
                           "false",
                           "Low"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Scott Sutherland, 2018 NetSPI | Friedrich Weinmann (@FredWeinmann)",
        "Synopsis":  "Search for SQL Server Instances.",
        "Name":  "Find-DbaInstance",
        "Links":  "https://dbatools.io/Find-DbaInstance",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaInstance -DiscoveryType Domain, DataSourceEnumeration\nPerforms a network search for SQL Instances by:\r\n- Looking up the Service Principal Names of computers in active directory\r\n- Using the UDP broadcast based auto-discovery of SSMS\r\nAfter that it will extensively scan all hosts thus discovered for instances.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaInstance -DiscoveryType All\nPerforms a network search for SQL Instances, using all discovery protocols:\r\n- Active directory search for Service Principal Names\r\n- SQL Instance Enumeration (same as SSMS does)\r\n- All IPAddresses in the current computer\u0027s subnets of all connected network interfaces\r\nNote: This scan will take a long time, due to including the IP Scan\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-ADComputer -Filter \"*\" | Find-DbaInstance\nScans all computers in the domain for SQL Instances, using a deep probe:\r\n- Tries resolving the name in DNS\r\n- Tries pinging the computer\r\n- Tries listing all SQL Services using CIM/WMI\r\n- Tries discovering all instances via the browser service\r\n- Tries connecting to the default TCP Port (1433)\r\n- Tries connecting to the TCP port of each discovered instance\r\n- Tries to establish a SQL connection to the server using default windows credentials\r\n- Tries looking up the Service Principal Names for each instance\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-Content .\\servers.txt | Find-DbaInstance -SqlCredential $cred -ScanType Browser, SqlConnect\nReads all servers from the servers.txt file (one server per line),\r\nthen scans each of them for instances using the browser service\r\nand finally attempts to connect to each instance found using the specified credentials.\r\nthen scans each of them for instances using the browser service and SqlService\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-DbaInstance -ComputerName localhost | Get-DbaDatabase | Format-Table -Wrap\nScans localhost for instances using the browser service, traverses all instances for all databases and displays all information in a formatted table.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-DbaInstance -ComputerName localhost | Get-DbaDatabase | Select-Object SqlInstance, Name, Status, RecoveryModel, SizeMB, Compatibility, Owner, LastFullBackup, LastDiffBackup, LastLogBackup \r\n| Format-Table -Wrap\nScans localhost for instances using the browser service, traverses all instances for all databases and displays a subset of the important information in a formatted table.\nUsing this method reguarly is not recommended. Use Get-DbaService or Get-DbaCmsRegServer instead.",
        "Syntax":  "Find-DbaInstance -ComputerName \u003cDbaInstanceParameter[]\u003e [-Credential \u003cPSCredential\u003e] [-SqlCredential \u003cPSCredential\u003e] [-ScanType {TCPPort | SqlConnect | SqlService | DNSResolve | SPN | Browser | Ping | Default | All}] [-DomainController \u003cString\u003e] [-TCPPort \u003cInt32[]\u003e] [-MinimumConfidence {None | Low | Medium | High}] [-EnableException] [\u003cCommonParameters\u003e]\nFind-DbaInstance -DiscoveryType {IPRange | Domain | DataSourceEnumeration | All} [-Credential \u003cPSCredential\u003e] [-SqlCredential \u003cPSCredential\u003e] [-ScanType {TCPPort | SqlConnect | SqlService | DNSResolve | SPN | Browser | Ping | Default | All}] [-IpAddress \u003cString[]\u003e] [-DomainController \u003cString\u003e] [-TCPPort \u003cInt32[]\u003e] [-MinimumConfidence {None | Low | Medium | High}] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaLoginInGroup",
        "Description":  "Outputs all the active directory groups members for a server, or limits it to find a specific AD user in the groups",
        "Tags":  [
                     "Login",
                     "Group",
                     "Security"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "PSCredential object to connect under. If not specified, current Windows login will be used.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Login",
                           "Find all AD Groups used on the instance that an individual login is a member of.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stephen Bennett, https://sqlnotesfromtheunderground.wordpress.com/ | Simone Bizzotto (@niphlod)",
        "Synopsis":  "Finds Logins in Active Directory groups that have logins on the SQL Instance.",
        "Name":  "Find-DbaLoginInGroup",
        "Links":  "https://dbatools.io/Find-DbaLoginInGroup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaLoginInGroup -SqlInstance DEV01 -Login \"MyDomain\\Stephen.Bennett\"\nReturns all active directory groups with logins on Sql Instance DEV01 that contain the AD user Stephen.Bennett.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaLoginInGroup -SqlInstance DEV01\nReturns all active directory users within all windows AD groups that have logins on the instance.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaLoginInGroup -SqlInstance DEV01 | Where-Object Login -like \u0027*stephen*\u0027\nReturns all active directory users within all windows AD groups that have logins on the instance whose login contains \"stephen\"",
        "Syntax":  "Find-DbaLoginInGroup [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Login] \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaOrphanedFile",
        "Description":  "This command searches all directories associated with SQL database files for database files that are not currently in use by the SQL Server instance.\n\nBy default, it looks for orphaned .mdf, .ldf and .ndf files in the root\\data directory, the default data path, the default log path, the system paths and any directory in use by any attached directory.\n\nYou can specify additional filetypes using the -FileType parameter, and additional paths to search using the -Path parameter.",
        "Tags":  [
                     "Orphan",
                     "Database",
                     "DatabaseFile"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2000 or higher.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Path",
                           "Specifies one or more directories to search in addition to the default data and log directories.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "FileType",
                           "Specifies file extensions other than mdf, ldf and ndf to search for. Do not include the dot (\".\") when specifying the extension.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LocalOnly",
                           "If this switch is enabled, only local filenames will be returned. Using this switch with multiple servers is not recommended since it does not return the associated server name.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "RemoteOnly",
                           "If this switch is enabled, only remote filenames will be returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Sander Stad (@sqlstad), sqlstad.nl",
        "Synopsis":  "Find-DbaOrphanedFile finds orphaned database files. Orphaned database files are files not associated with any attached database.",
        "Name":  "Find-DbaOrphanedFile",
        "Links":  "https://dbatools.io/Find-DbaOrphanedFile",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sqlserver2014a\nConnects to sqlserver2014a, authenticating with Windows credentials, and searches for orphaned files. Returns server name, local filename, and unc path to file.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sqlserver2014a -SqlCredential $cred\nConnects to sqlserver2014a, authenticating with SQL Server authentication, and searches for orphaned files. Returns server name, local filename, and unc path to file.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sql2014 -Path \u0027E:\\Dir1\u0027, \u0027E:\\Dir2\u0027\nFinds the orphaned files in \"E:\\Dir1\" and \"E:Dir2\" in addition to the default directories.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sql2014 -LocalOnly\nReturns only the local file paths for orphaned files.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sql2014 -RemoteOnly\nReturns only the remote file path for orphaned files.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eFind-DbaOrphanedFile -SqlInstance sql2014, sql2016 -FileType fsf, mld\nFinds the orphaned ending with \".fsf\" and \".mld\" in addition to the default filetypes \".mdf\", \".ldf\", \".ndf\" for both the servers sql2014 and sql2016.",
        "Syntax":  "Find-DbaOrphanedFile [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Path] \u003cString[]\u003e] [[-FileType] \u003cString[]\u003e] [-LocalOnly] [-RemoteOnly] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaSimilarTable",
        "Description":  "This function can either run against specific databases or all databases searching all/specific tables and views including in system databases.\nTypically one would use this to find for example archive version(s) of a table whose structures are similar.\nThis can also be used to find tables/views that are very similar to a given table/view structure to see where a table/view might be used.\n\nMore information can be found here: https://sqljana.wordpress.com/2017/03/31/sql-server-find-tables-with-similar-table-structure/",
        "Tags":  "Table",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SchemaName",
                           "If you are looking in a specific schema whose table structures is to be used as reference structure, provide the name of the schema.\r\nIf no schema is provided, looks at all schemas",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "TableName",
                           "If you are looking in a specific table whose structure is to be used as reference structure, provide the name of the table.\r\nIf no table is provided, looks at all tables\r\nIf the table name exists in multiple schemas, all of them would qualify",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeViews",
                           "By default, views are included. You can exclude them by setting this switch to $false\r\nThis excludes views in both matching and matched list",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeSystemDatabases",
                           "By default system databases are ignored but you can include them within the search using this parameter",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "MatchPercentThreshold",
                           "The minimum percentage of column names that should match between the matching and matched objects.\r\nEntries with no matches are eliminated",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Jana Sattainathan (@SQLJana), http://sqljana.wordpress.com",
        "Synopsis":  "Returns all tables/views that are similar in structure by comparing the column names of matching and matched tables/views",
        "Name":  "Find-DbaSimilarTable",
        "Links":  "https://dbatools.io/Find-DbaSimilarTable",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaSimilarTable -SqlInstance DEV01\nSearches all user database tables and views for each, returns all tables or views with their matching tables/views and match percent\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaSimilarTable -SqlInstance DEV01 -Database AdventureWorks\nSearches AdventureWorks database and lists tables/views and their corresponding matching tables/views with match percent\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaSimilarTable -SqlInstance DEV01 -Database AdventureWorks -SchemaName HumanResource\nSearches AdventureWorks database and lists tables/views in the HumanResource schema with their corresponding matching tables/views with match percent\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaSimilarTable -SqlInstance DEV01 -Database AdventureWorks -SchemaName HumanResource -Table Employee\nSearches AdventureWorks database and lists tables/views in the HumanResource schema and table Employee with its corresponding matching tables/views with match percent\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eFind-DbaSimilarTable -SqlInstance DEV01 -Database AdventureWorks -MatchPercentThreshold 60\nSearches AdventureWorks database and lists all tables/views with its corresponding matching tables/views with match percent greater than or equal to 60",
        "Syntax":  "Find-DbaSimilarTable [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-SchemaName \u003cString\u003e] [-TableName \u003cString\u003e] [-ExcludeViews] [-IncludeSystemDatabases] [-MatchPercentThreshold \u003cInt32\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaStoredProcedure",
        "Description":  "This function can either run against specific databases or all databases searching all user or user and system stored procedures.",
        "Tags":  [
                     "StoredProcedure",
                     "Proc"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Pattern",
                           "String pattern that you want to search for in the stored procedure text body",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "IncludeSystemObjects",
                           "By default, system stored procedures are ignored but you can include them within the search using this parameter.\nWarning - this will likely make it super slow if you run it on all databases.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeSystemDatabases",
                           "By default system databases are ignored but you can include them within the search using this parameter",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stephen Bennett, https://sqlnotesfromtheunderground.wordpress.com/",
        "Synopsis":  "Returns all stored procedures that contain a specific case-insensitive string or regex pattern.",
        "Name":  "Find-DbaStoredProcedure",
        "Links":  "https://dbatools.io/Find-DbaStoredProcedure",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaStoredProcedure -SqlInstance DEV01 -Pattern whatever\nSearches all user databases stored procedures for \"whatever\" in the text body\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaStoredProcedure -SqlInstance sql2016 -Pattern \u0027\\[email protected]\\w+\\.\\w+\u0027\nSearches all databases for all stored procedures that contain a valid email pattern in the text body\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaStoredProcedure -SqlInstance DEV01 -Database MyDB -Pattern \u0027some string\u0027 -Verbose\nSearches in \"mydb\" database stored procedures for \"some string\" in the text body\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaStoredProcedure -SqlInstance sql2016 -Database MyDB -Pattern RUNTIME -IncludeSystemObjects\nSearches in \"mydb\" database stored procedures for \"runtime\" in the text body",
        "Syntax":  "Find-DbaStoredProcedure [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] -Pattern \u003cString\u003e [-IncludeSystemObjects] [-IncludeSystemDatabases] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaTrigger",
        "Description":  "This function search on Instance, Database and Object level.\nIf you specify one or more databases, search on Server level will not be preformed.",
        "Tags":  "Trigger",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Pattern",
                           "String pattern that you want to search for in the trigger text body",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "TriggerLevel",
                           "Allows specify the trigger level that you want to search. By default is All (Server, Database, Object).",
                           "",
                           false,
                           "false",
                           "All"
                       ],
                       [
                           "IncludeSystemObjects",
                           "By default, system triggers are ignored but you can include them within the search using this parameter.\nWarning - this will likely make it super slow if you run it on all databases.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeSystemDatabases",
                           "By default system databases are ignored but you can include them within the search using this parameter",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Claudio Silva (@ClaudioESSilva)",
        "Synopsis":  "Returns all triggers that contain a specific case-insensitive string or regex pattern.",
        "Name":  "Find-DbaTrigger",
        "Links":  "https://dbatools.io/Find-DbaTrigger",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaTrigger -SqlInstance DEV01 -Pattern whatever\nSearches all user databases triggers for \"whatever\" in the text body\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaTrigger -SqlInstance sql2016 -Pattern \u0027\\[email protected]\\w+\\.\\w+\u0027\nSearches all databases for all triggers that contain a valid email pattern in the text body\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaTrigger -SqlInstance DEV01 -Database MyDB -Pattern \u0027some string\u0027 -Verbose\nSearches in \"mydb\" database triggers for \"some string\" in the text body\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaTrigger -SqlInstance sql2016 -Database MyDB -Pattern RUNTIME -IncludeSystemObjects\nSearches in \"mydb\" database triggers for \"runtime\" in the text body",
        "Syntax":  "Find-DbaTrigger [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] -Pattern \u003cString\u003e [-TriggerLevel \u003cString\u003e] [-IncludeSystemObjects] [-IncludeSystemDatabases] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaUserObject",
        "Description":  "Looks at the below list of objects to see if they are either owned by a user or a specific user (using the parameter -Pattern)\nDatabase Owner\nAgent Job Owner\nUsed in Credential\nUSed in Proxy\nSQL Agent Steps using a Proxy\nEndpoints\nServer Roles\nDatabase Schemas\nDatabase Roles\nDatabase Assembles\nDatabase Synonyms",
        "Tags":  "Object",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input",
                           "ServerInstance,SqlServer,SqlInstances",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Pattern",
                           "The regex pattern that the command will search for",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stephen Bennett, https://sqlnotesfromtheunderground.wordpress.com/",
        "Synopsis":  "Searches SQL Server to find user-owned objects (i.e. not dbo or sa) or for any object owned by a specific user specified by the Pattern parameter.",
        "Name":  "Find-DbaUserObject",
        "Links":  "https://dbatools.io/Find-DbaUserObject",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaUserObject -SqlInstance DEV01 -Pattern ad\\stephen\nSearches user objects for owner ad\\stephen\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaUserObject -SqlInstance DEV01 -Verbose\nShows all user owned (non-sa, non-dbo) objects and verbose output",
        "Syntax":  "Find-DbaUserObject [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Pattern \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Find-DbaView",
        "Description":  "This function can either run against specific databases or all databases searching all user or user and system views.",
        "Tags":  "View",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "The database(s) to process - this list is auto-populated from the server. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "The database(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Pattern",
                           "String pattern that you want to search for in the view text body",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "IncludeSystemObjects",
                           "By default, system views are ignored but you can include them within the search using this parameter.\nWarning - this will likely make it super slow if you run it on all databases.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IncludeSystemDatabases",
                           "By default system databases are ignored but you can include them within the search using this parameter",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Claudio Silva  (@ClaudioESSilva)",
        "Synopsis":  "Returns all views that contain a specific case-insensitive string or regex pattern.",
        "Name":  "Find-DbaView",
        "Links":  "https://dbatools.io/Find-DbaView",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eFind-DbaView -SqlInstance DEV01 -Pattern whatever\nSearches all user databases views for \"whatever\" in the text body\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eFind-DbaView -SqlInstance sql2016 -Pattern \u0027\\[email protected]\\w+\\.\\w+\u0027\nSearches all databases for all views that contain a valid email pattern in the text body\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eFind-DbaView -SqlInstance DEV01 -Database MyDB -Pattern \u0027some string\u0027 -Verbose\nSearches in \"mydb\" database views for \"some string\" in the text body\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eFind-DbaView -SqlInstance sql2016 -Database MyDB -Pattern RUNTIME -IncludeSystemObjects\nSearches in \"mydb\" database views for \"runtime\" in the text body",
        "Syntax":  "Find-DbaView [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] -Pattern \u003cString\u003e [-IncludeSystemObjects] [-IncludeSystemDatabases] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Format-DbaBackupInformation",
        "Description":  "Performs various mapping on Backup History, ready restoring\nOptions include changing restore paths, backup paths, database name and many others",
        "Tags":  [
                     "DisasterRecovery",
                     "Backup",
                     "Restore"
                 ],
        "Params":  [
                       [
                           "BackupHistory",
                           "A dbatools backupHistory object, normally this will have been created using Select-DbaBackupInformation",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "ReplaceDatabaseName",
                           "If a single value is provided, this will be replaced do all occurrences a database name\r\nIf a Hashtable is passed in, each database name mention will be replaced as specified. If a database\u0027s name does not appear it will not be replace\r\nDatabaseName will also be replaced where it  occurs in the file paths of data and log files.\r\nPlease note, that this won\u0027t change the Logical Names of data files, that has to be done with a separate Alter DB call",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ReplaceDbNameInFile",
                           "If set, will replace the old database name with the new name if it occurs in the file name",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DataFileDirectory",
                           "This will move ALL restored files to this location during the restore",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LogFileDirectory",
                           "This will move all log files to this location, overriding DataFileDirectory",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DestinationFileStreamDirectory",
                           "This move the FileStream folder and contents to the new location, overriding DataFileDirectory",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DatabaseNamePrefix",
                           "This string will be prefixed to all restored database\u0027s name",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DatabaseFilePrefix",
                           "A string that will be prefixed to every file restored",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DatabaseFileSuffix",
                           "A string that will be suffixed to every file restored",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "RebaseBackupFolder",
                           "Use this to rebase where your backups are stored.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Continue",
                           "Indicates that this is a continuing restore",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "FileMapping",
                           "A hashtable that can be used to move specific files to a location.\r\n`$FileMapping = @{\u0027DataFile1\u0027=\u0027c:\\restoredfiles\\Datafile1.mdf\u0027;\u0027DataFile3\u0027=\u0027d:\\DataFile3.mdf\u0027}`\r\nAnd files not specified in the mapping will be restored to their original location\r\nThis Parameter is exclusive with DestinationDataDirectory\r\nIf specified, this will override any other file renaming/relocation options.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "PathSep",
                           "By default is Windows\u0027s style (`\\`) but you can pass also, e.g., `/` for Unix\u0027s style paths",
                           "",
                           false,
                           "false",
                           "\\"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Stuart Moore (@napalmgram), stuart-moore.com",
        "Synopsis":  "Transforms the data in a dbatools BackupHistory object for a restore",
        "Name":  "Format-DbaBackupInformation",
        "Links":  "https://dbatools.io/Format-DbaBackupInformation",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003e$History | Format-DbaBackupInformation -ReplaceDatabaseName NewDb\nChanges as database name references to NewDb, both in the database name and any restore paths. Note, this will fail if the BackupHistory object contains backups for more than 1 database\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$History | Format-DbaBackupInformation -ReplaceDatabaseName @{\u0027OldB\u0027=\u0027NewDb\u0027;\u0027ProdHr\u0027=\u0027DevHr\u0027}\nWill change all occurrences of original database name in the backup history (names and restore paths) using the mapping in the hashtable.\r\nIn this example any occurrence of OldDb will be replaced with NewDb and ProdHr with DevPR\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$History | Format-DbaBackupInformation -DataFileDirectory \u0027D:\\DataFiles\\\u0027 -LogFileDirectory \u0027E:\\LogFiles\\\nThis example with change the restore path for all data files (everything that is not a log file) to d:\\datafiles\r\nAnd all Transaction Log files will be restored to E:\\Logfiles\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$History | Format-DbaBackupInformation -RebaseBackupFolder f:\\backups\nThis example changes the location that SQL Server will look for the backups. This is useful if you\u0027ve moved the backups to a different location",
        "Syntax":  "Format-DbaBackupInformation [-BackupHistory] \u003cObject[]\u003e [[-ReplaceDatabaseName] \u003cObject\u003e] [-ReplaceDbNameInFile] [[-DataFileDirectory] \u003cString\u003e] [[-LogFileDirectory] \u003cString\u003e] [[-DestinationFileStreamDirectory] \u003cString\u003e] [[-DatabaseNamePrefix] \u003cString\u003e] [[-DatabaseFilePrefix] \u003cString\u003e] [[-DatabaseFileSuffix] \u003cString\u003e] [[-RebaseBackupFolder] \u003cString\u003e] [-Continue] [[-FileMapping] \u003cHashtable\u003e] [[-PathSep] \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgDatabase",
        "Description":  "Gets availability group databases from a SQL Server instance.\n\nDefault view provides most common set of properties for information on the database in an availability group.\n\nInformation returned on the database will be specific to that replica, whether it is primary or a secondary.",
        "Tags":  [
                     "Hadr",
                     "HA",
                     "AG",
                     "AvailabilityGroup",
                     "Replica"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "Specify the availability groups to query.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Specify the database or databases to return. This list is auto-populated from the server for tab completion. Multiple databases can be specified. If none are specified all databases will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piped input from Get-DbaAvailabilityGroup.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton), https://wsmelton.github.io",
        "Synopsis":  "Gets availability group databases from a SQL Server instance.",
        "Name":  "Get-DbaAgDatabase",
        "Links":  "https://dbatools.io/Get-DbaAgDatabase",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgDatabase -SqlInstance sql2017a\nReturns all the databases in each availability group found on sql2017a\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgDatabase -SqlInstance sql2017a -AvailabilityGroup AG101\nReturns all the databases in the availability group AG101 on sql2017a\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlcluster -AvailabilityGroup SharePoint -Database Sharepoint_Config | Get-DbaAgDatabase\nReturns the database Sharepoint_Config found in the availability group SharePoint on server sqlcluster",
        "Syntax":  "Get-DbaAgDatabase [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString[]\u003e] [[-Database] \u003cString[]\u003e] [[-InputObject] \u003cAvailabilityGroup[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentAlert",
        "Description":  "This function returns SQL Agent alerts.",
        "Tags":  [
                     "Agent",
                     "SMO"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,Instance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Klaas Vandenberghe (@PowerDBAKlaas)",
        "Synopsis":  "Returns all SQL Agent alerts on a SQL Server Agent.",
        "Name":  "Get-DbaAgentAlert",
        "Links":  "https://dbatools.io/Get-DbaAgentAlert",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentAlert -SqlInstance ServerA,ServerB\\instanceB\nReturns all SQL Agent alerts on serverA and serverB\\instanceB\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e\u0027serverA\u0027,\u0027serverB\\instanceB\u0027 | Get-DbaAgentAlert\nReturns all SQL Agent alerts  on serverA and serverB\\instanceB",
        "Syntax":  "Get-DbaAgentAlert [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentJob",
        "Description":  "The Get-DbaAgentJob returns connected SMO object for SQL Agent Job information for each instance(s) of SQL Server.",
        "Tags":  [
                     "Job",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Job",
                           "The job(s) to process - this list is auto-populated from the server. If unspecified, all jobs will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJob",
                           "The job(s) to exclude - this list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Return jobs with T-SQL job steps associated with specific databases",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Category",
                           "Return jobs associated with specific category",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDisabledJobs",
                           "Switch will exclude disabled jobs from the output.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Gets SQL Agent Job information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaAgentJob",
        "Links":  "https://dbatools.io/Get-DbaAgentJob",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance localhost\nReturns all SQL Agent Jobs on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance localhost, sql2016\nReturns all SQl Agent Jobs for the local and sql2016 SQL Server instances\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance localhost -Job BackupData, BackupDiff\nReturns all SQL Agent Jobs named BackupData and BackupDiff from the local SQL Server instance.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance localhost -ExcludeJob BackupDiff\nReturns all SQl Agent Jobs for the local SQL Server instances, except the BackupDiff Job.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance localhost -ExcludeDisabledJobs\nReturns all SQl Agent Jobs for the local SQL Server instances, excluding the disabled jobs.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$servers | Get-DbaAgentJob | Out-GridView -PassThru | Start-DbaAgentJob -WhatIf\nFind all of your Jobs from SQL Server instances in the $servers collection, select the jobs you want to start then see jobs would start if you ran Start-DbaAgentJob",
        "Syntax":  "Get-DbaAgentJob [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Job \u003cString[]\u003e] [-ExcludeJob \u003cString[]\u003e] [-Database \u003cString[]\u003e] [-Category \u003cString[]\u003e] [-ExcludeDisabledJobs] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentJobCategory",
        "Description":  "Get-DbaAgentJobCategory makes it possible to retrieve the job categories.",
        "Tags":  [
                     "Agent",
                     "Job",
                     "JobCategory"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Category",
                           "The name of the category to filter out. If no category is used all categories will be returned.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CategoryType",
                           "The type of category. This can be \"LocalJob\", \"MultiServerJob\" or \"None\".\r\nIf no category is used all categories types will be returned.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Force",
                           "The force parameter will ignore some errors in the parameters and assume defaults.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Get-DbaJobCategory",
        "Author":  "Sander Stad (@sqlstad), sqlstad.nl",
        "Synopsis":  "Get-DbaAgentJobCategory retrieves the job categories.",
        "Name":  "Get-DbaAgentJobCategory",
        "Links":  "https://dbatools.io/Get-DbaAgentJobCategory",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJobCategory -SqlInstance sql1\nReturn all the job categories.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJobCategory -SqlInstance sql1 -Category \u0027Log Shipping\u0027\nReturn all the job categories that have the name \u0027Log Shipping\u0027.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentJobCategory -SqlInstance sstad-pc -CategoryType MultiServerJob\nReturn all the job categories that have a type MultiServerJob.",
        "Syntax":  "Get-DbaAgentJobCategory [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Category] \u003cString[]\u003e] [[-CategoryType] \u003cString\u003e] [-Force] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentJobHistory",
        "Description":  "Get-DbaAgentJobHistory returns all information on the executions still available on each instance(s) of SQL Server submitted.\nThe cleanup of SQL Agent history determines how many records are kept.\n\nhttps://msdn.microsoft.com/en-us/library/ms201680.aspx\nhttps://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.agent.jobhistoryfilter(v=sql.120).aspx",
        "Tags":  [
                     "Job",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Job",
                           "The name of the job from which the history is wanted. If unspecified, all jobs will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJob",
                           "The job(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "StartDate",
                           "The DateTime starting from which the history is wanted. If unspecified, all available records will be processed.",
                           "",
                           false,
                           "false",
                           "1900-01-01"
                       ],
                       [
                           "EndDate",
                           "The DateTime before which the history is wanted. If unspecified, all available records will be processed.",
                           "",
                           false,
                           "false",
                           "$(Get-Date)"
                       ],
                       [
                           "ExcludeJobSteps",
                           "Use this switch to discard all job steps, and return only the job totals",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "WithOutputFile",
                           "Use this switch to retrieve the output file (only if you want step details). Bonus points, we handle the quirks\r\nof SQL Agent tokens to the best of our knowledge (https://technet.microsoft.com/it-it/library/ms175575(v=sql.110).aspx)",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "JobCollection",
                           "An array of SMO jobs",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Klaas Vandenberghe (@PowerDbaKlaas) | Simone Bizzotto (@niphold)",
        "Synopsis":  "Gets execution history of SQL Agent Job on instance(s) of SQL Server.",
        "Name":  "Get-DbaAgentJobHistory",
        "Links":  "https://dbatools.io/Get-DbaAgentJobHistory",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance localhost\nReturns all SQL Agent Job execution results on the local default SQL Server instance.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance localhost, sql2016\nReturns all SQL Agent Job execution results for the local and sql2016 SQL Server instances.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e\u0027sql1\u0027,\u0027sql2\\Inst2K17\u0027 | Get-DbaAgentJobHistory\nReturns all SQL Agent Job execution results for sql1 and sql2\\Inst2K17.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql2\\Inst2K17 | Select-Object *\nReturns all properties for all SQl Agent Job execution results on sql2\\Inst2K17.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql2\\Inst2K17 -Job \u0027Output File Cleanup\u0027\nReturns all properties for all SQl Agent Job execution results of the \u0027Output File Cleanup\u0027 job on sql2\\Inst2K17.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql2\\Inst2K17 -Job \u0027Output File Cleanup\u0027 -WithOutputFile\nReturns all properties for all SQl Agent Job execution results of the \u0027Output File Cleanup\u0027 job on sql2\\Inst2K17,\r\nwith additional properties that show the output filename path\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql2\\Inst2K17 -ExcludeJobSteps\nReturns the SQL Agent Job execution results for the whole jobs on sql2\\Inst2K17, leaving out job step execution results.\n-------------------------- EXAMPLE 8 --------------------------\nPS C:\\\u003eGet-DbaAgentJobHistory -SqlInstance sql2\\Inst2K17 -StartDate \u00272017-05-22\u0027 -EndDate \u00272017-05-23 12:30:00\u0027\nReturns the SQL Agent Job execution results between 2017/05/22 00:00:00 and 2017/05/23 12:30:00 on sql2\\Inst2K17.\n-------------------------- EXAMPLE 9 --------------------------\nPS C:\\\u003eGet-DbaAgentJob -SqlInstance sql2016 | Where-Object Name -Match backup | Get-DbaAgentJobHistory\nGets all jobs with the name that match the regex pattern \"backup\" and then gets the job history from those. You can also use -Like *backup* in this example.",
        "Syntax":  "Get-DbaAgentJobHistory [-SqlCredential \u003cPSCredential\u003e] [-Job \u003cObject[]\u003e] [-ExcludeJob \u003cObject[]\u003e] [-StartDate \u003cDateTime\u003e] [-EndDate \u003cDateTime\u003e] [-ExcludeJobSteps] [-WithOutputFile] [-EnableException] [\u003cCommonParameters\u003e]\nGet-DbaAgentJobHistory -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Job \u003cObject[]\u003e] [-ExcludeJob \u003cObject[]\u003e] [-StartDate \u003cDateTime\u003e] [-EndDate \u003cDateTime\u003e] [-ExcludeJobSteps] [-WithOutputFile] [-EnableException] [\u003cCommonParameters\u003e]\nGet-DbaAgentJobHistory [-SqlCredential \u003cPSCredential\u003e] [-Job \u003cObject[]\u003e] [-ExcludeJob \u003cObject[]\u003e] [-StartDate \u003cDateTime\u003e] [-EndDate \u003cDateTime\u003e] [-ExcludeJobSteps] [-WithOutputFile] -JobCollection \u003cJob\u003e [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentJobOutputFile",
        "Description":  "This function returns for one or more SQL Instances the output file value for each step of one or many agent job with the Job Names\nprovided dynamically. It will not return anything if there is no Output File",
        "Tags":  [
                     "Agent",
                     "Job"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue, ByPropertyName)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credential object used to connect to the SQL Server as a different user be it Windows or SQL Server. Windows users are determined by the existence of a backslash, so if you are intending to use an \r\nalternative Windows connection instead of a SQL login, ensure it contains a backslash.",
                           "",
                           false,
                           "true (ByPropertyName)",
                           ""
                       ],
                       [
                           "Job",
                           "The job(s) to process - this list is auto-populated from the server. If unspecified, all jobs will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJob",
                           "The job(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Rob Sewell (https://sqldbawithabeard.com) | Simone Bizzotto (@niphold)",
        "Synopsis":  "Returns the Output File for each step of one or many agent job with the Job Names provided dynamically if\nrequired for one or more SQL Instances",
        "Name":  "Get-DbaAgentJobOutputFile",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJobOutputFile -SqlInstance SERVERNAME -Job \u0027The Agent Job\u0027\nThis will return the configured paths to the output files for each of the job step of the The Agent Job Job\r\non the SERVERNAME instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJobOutputFile -SqlInstance SERVERNAME\nThis will return the configured paths to the output files for each of the job step of all the Agent Jobs\r\non the SERVERNAME instance\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentJobOutputFile -SqlInstance SERVERNAME,SERVERNAME2 -Job \u0027The Agent Job\u0027\nThis will return the configured paths to the output files for each of the job step of the The Agent Job Job\r\non the SERVERNAME instance and SERVERNAME2\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e$Servers = \u0027SERVER\u0027,\u0027SERVER\\INSTANCE1\u0027\nGet-DbaAgentJobOutputFile -SqlInstance $Servers -Job \u0027The Agent Job\u0027 -OpenFile\nThis will return the configured paths to the output files for each of the job step of the The Agent Job Job\r\non the SERVER instance and the SERVER\\INSTANCE1 and open the files if they are available\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaAgentJobOutputFile -SqlInstance SERVERNAME  | Out-GridView\nThis will return the configured paths to the output files for each of the job step of all the Agent Jobs\r\non the SERVERNAME instance and Pipe them to Out-GridView\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e(Get-DbaAgentJobOutputFile -SqlInstance SERVERNAME | Out-GridView -PassThru).FileName | Invoke-Item\nThis will return the configured paths to the output files for each of the job step of all the Agent Jobs\r\non the SERVERNAME instance and Pipe them to Out-GridView and enable you to choose the output\r\nfile and open it\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eGet-DbaAgentJobOutputFile -SqlInstance SERVERNAME -Verbose\nThis will return the configured paths to the output files for each of the job step of all the Agent Jobs\r\non the SERVERNAME instance and also show the job steps without an output file",
        "Syntax":  "Get-DbaAgentJobOutputFile [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-Job \u003cObject[]\u003e] [-ExcludeJob \u003cObject[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentJobStep",
        "Description":  "The Get-DbaAgentJobStep returns connected SMO object for SQL Agent Job Step for each instance(s) of SQL Server.",
        "Tags":  [
                     "Job",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Job",
                           "The job(s) to process - this list is auto-populated from the server. If unspecified, all jobs will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeJob",
                           "The job(s) to exclude - this list is auto-populated from the server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDisabledJobs",
                           "Switch will exclude disabled jobs from the output.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Klaas Vandenberghe (@PowerDbaKlaas), http://powerdba.eu",
        "Synopsis":  "Gets SQL Agent Job Step information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaAgentJobStep",
        "Links":  "https://dbatools.io/Get-DbaAgentJobStep",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentJobStep -SqlInstance localhost\nReturns all SQL Agent Job Steps on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentJobStep -SqlInstance localhost, sql2016\nReturns all SQL Agent Job Steps for the local and sql2016 SQL Server instances\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentJobStep -SqlInstance localhost -Job BackupData, BackupDiff\nReturns all SQL Agent Job Steps for the jobs named BackupData and BackupDiff from the local SQL Server instance.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAgentJobStep -SqlInstance localhost -ExcludeJob BackupDiff\nReturns all SQL Agent Job Steps for the local SQL Server instances, except for the BackupDiff Job.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaAgentJobStep -SqlInstance localhost -ExcludeDisabledJobs\nReturns all SQL Agent Job Steps for the local SQL Server instances, excluding the disabled jobs.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$servers | Get-DbaAgentJobStep\nFind all of your Job Steps from SQL Server instances in the $servers collection",
        "Syntax":  "Get-DbaAgentJobStep [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Job \u003cObject[]\u003e] [-ExcludeJob \u003cObject[]\u003e] [-ExcludeDisabledJobs] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentLog",
        "Description":  "Gets the \"SQL Agent Error Log\" of an instance. Returns all 10 error logs by default.",
        "Tags":  "Logging",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using SQL Logins as opposed to Windows Auth/Integrated/Trusted.",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "LogNumber",
                           "An Int32 value that specifies the index number of the error log required. Error logs are listed 0 through 9 where 0 is the current error log and 9 is the oldest.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Gets the \"SQL Agent Error Log\" of an instance",
        "Name":  "Get-DbaAgentLog",
        "Links":  "https://dbatools.io/Get-DbaAgentLog",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentLog -SqlInstance sql01\\sharepoint\nReturns the entire error log for the SQL Agent on sql01\\sharepoint\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentLog -SqlInstance sql01\\sharepoint -LogNumber 3, 6\nReturns log numbers 3 and 6 for the SQL Agent on sql01\\sharepoint\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$servers = \"sql2014\",\"sql2016\", \"sqlcluster\\sharepoint\"\nPS C:\\\u003e $servers | Get-DbaAgentLog -LogNumber 0\nReturns the most recent SQL Agent error logs for \"sql2014\",\"sql2016\" and \"sqlcluster\\sharepoint\"",
        "Syntax":  "Get-DbaAgentLog [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-LogNumber] \u003cInt32[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentOperator",
        "Description":  "This function returns SQL Agent operators.",
        "Tags":  [
                     "Agent",
                     "Operator"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Operator",
                           "The operator(s) to process - this list is auto-populated from the server. If unspecified, all operators will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeOperator",
                           "The operator(s) to exclude - this list is auto-populated from the server",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Klaas Vandenberghe (@PowerDBAKlaas)",
        "Synopsis":  "Returns all SQL Agent operators on a SQL Server Agent.",
        "Name":  "Get-DbaAgentOperator",
        "Links":  "https://dbatools.io/Get-DbaAgentOperator",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentOperator -SqlInstance ServerA,ServerB\\instanceB\nReturns any SQL Agent operators on serverA and serverB\\instanceB\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e\u0027ServerA\u0027,\u0027ServerB\\instanceB\u0027 | Get-DbaAgentOperator\nReturns all SQL Agent operators  on serverA and serverB\\instanceB\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentOperator -SqlInstance ServerA -Operator Dba1,Dba2\nReturns only the SQL Agent Operators Dba1 and Dba2 on ServerA.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAgentOperator -SqlInstance ServerA,ServerB -ExcludeOperator Dba3\nReturns all the SQL Agent operators on ServerA and ServerB, except the Dba3 operator.",
        "Syntax":  "Get-DbaAgentOperator [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Operator \u003cObject[]\u003e] [-ExcludeOperator \u003cObject[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentProxy",
        "Description":  "This function returns SQL Agent proxies.",
        "Tags":  [
                     "Agent",
                     "SMO"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,Instance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Proxy",
                           "The proxy to process - this list is auto-populated from the server. If unspecified, all proxies will be processed.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Returns all SQL Agent proxies on a SQL Server Agent.",
        "Name":  "Get-DbaAgentProxy",
        "Links":  "https://dbatools.io/Get-DbaAgentProxy",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentProxy -SqlInstance ServerA,ServerB\\instanceB\nReturns all SQL Agent proxies on serverA and serverB\\instanceB\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e\u0027serverA\u0027,\u0027serverB\\instanceB\u0027 | Get-DbaAgentProxy\nReturns all SQL Agent proxies  on serverA and serverB\\instanceB",
        "Syntax":  "Get-DbaAgentProxy [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Proxy \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentSchedule",
        "Description":  "This function returns SQL Agent Shared Schedules.",
        "Tags":  [
                     "Agent",
                     "Schedule"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,Instance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "Schedule",
                           "Parameter to filter the schedules returned",
                           "Schedules",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chris McKeown (@devopsfu), http://www.devopsfu.com",
        "Synopsis":  "Returns all SQL Agent Shared Schedules on a SQL Server Agent.",
        "Name":  "Get-DbaAgentSchedule",
        "Links":  "https://dbatools.io/Get-DbaAgentSchedule",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentSchedule -SqlInstance localhost\nReturns all SQL Agent Shared Schedules on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentSchedule -SqlInstance localhost, sql2016\nReturns all SQL Agent Shared Schedules for the local and sql2016 SQL Server instances\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgentSchedule -SqlInstance sql2016 -Schedule \"Maintenance10min\",\"Maintenance60min\"\nReturns the \"Maintenance10min\" \u0026 \"Maintenance60min\" schedules from the sql2016 SQL Server instance",
        "Syntax":  "Get-DbaAgentSchedule [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-Schedule \u003cObject[]\u003e] [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgentServer",
        "Description":  "The Get-DbaAgentServer returns connected SMO object for SQL Agent Server information for each instance(s) of SQL Server.",
        "Tags":  [
                     "Job",
                     "Agent"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Cláudio Silva (@claudioessilva), https://claudioessilva.eu",
        "Synopsis":  "Gets SQL Agent Server information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaAgentServer",
        "Links":  "https://dbatools.io/Get-DbaAgentServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgentServer -SqlInstance localhost\nReturns SQL Agent Server on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgentServer -SqlInstance localhost, sql2016\nReturns SQL Agent Servers for the localhost and sql2016 SQL Server instances",
        "Syntax":  "Get-DbaAgentServer [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgHadr",
        "Description":  "Gets the Hadr setting, from the service level, and returns true or false for the specified SQL Server instance.",
        "Tags":  [
                     "Hadr",
                     "HA",
                     "AG",
                     "AvailabilityGroup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton), http://wsmelton.github.io",
        "Synopsis":  "Gets the Hadr service setting on the specified SQL Server instance.",
        "Name":  "Get-DbaAgHadr",
        "Links":  "https://dbatools.io/Get-DbaAgHadr",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgHadr -SqlInstance sql2016\nReturns a status of the Hadr setting for sql2016 SQL Server instance.",
        "Syntax":  "Get-DbaAgHadr [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgListener",
        "Description":  "Returns availability group listeners.",
        "Tags":  [
                     "AG",
                     "HA",
                     "AvailabilityGroup",
                     "Listener"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "Specify the availability groups to query.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Listener",
                           "Return only specific listeners.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piped input from Get-DbaAvailabilityGroup.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Viorel Ciucu (@viorelciucu)",
        "Synopsis":  "Returns availability group listeners.",
        "Name":  "Get-DbaAgListener",
        "Links":  "https://dbatools.io/Get-DbaAgListener",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgListener -SqlInstance sql2017a\nReturns all listeners found on sql2017a\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgListener -SqlInstance sql2017a -AvailabilityGroup AG-a\nReturns all listeners found on sql2017a on sql2017a for the availability group AG-a\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sql2017a -AvailabilityGroup OPP | Get-DbaAgListener\nReturns all listeners found on sql2017a on sql2017a for the availability group OPP",
        "Syntax":  "Get-DbaAgListener [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString[]\u003e] [[-Listener] \u003cString[]\u003e] [[-InputObject] \u003cAvailabilityGroup[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAgReplica",
        "Description":  "Returns the availability group replica object found on the server.",
        "Tags":  [
                     "AG",
                     "HA",
                     "AvailabilityGroup",
                     "Replica"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server version must be SQL Server version 2012 or higher.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the SqlInstance instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "Specify the availability groups to query.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Replica",
                           "Return only specific replicas.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "InputObject",
                           "Enables piped input from Get-DbaAvailabilityGroup.",
                           "",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton) | Chrissy LeMaire (@cl)",
        "Synopsis":  "Returns the availability group replica object found on the server.",
        "Name":  "Get-DbaAgReplica",
        "Links":  "https://dbatools.io/Get-DbaAgReplica",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAgReplica -SqlInstance sql2017a\nReturns basic information on all the availability group replicas found on sql2017a\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAgReplica -SqlInstance sql2017a -AvailabilityGroup SharePoint\nShows basic information on the replicas found on availability group SharePoint on sql2017a\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAgReplica -SqlInstance sql2017a | Select-Object *\nReturns full object properties on all availability group replicas found on sql2017a",
        "Syntax":  "Get-DbaAgReplica [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString[]\u003e] [[-Replica] \u003cString[]\u003e] [[-InputObject] \u003cAvailabilityGroup[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAvailabilityGroup",
        "Description":  "Returns availability group objects from a SQL Server instance.\n\nDefault view provides most common set of properties for information on the Availability Group(s).",
        "Tags":  [
                     "Hadr",
                     "HA",
                     "AG",
                     "AvailabilityGroup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2012 or higher.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AvailabilityGroup",
                           "Return only specific availability groups.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IsPrimary",
                           "If this switch is enabled, a boolean indicating whether SqlInstance is the Primary replica in the AG is returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton) | Chrissy LeMaire (@cl)",
        "Synopsis":  "Returns availability group objects from a SQL Server instance.",
        "Name":  "Get-DbaAvailabilityGroup",
        "Links":  "https://dbatools.io/Get-DbaAvailabilityGroup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlserver2014a\nReturns basic information on all the Availability Group(s) found on sqlserver2014a.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlserver2014a -AvailabilityGroup AG-a\nShows basic information on the Availability Group AG-a on sqlserver2014a.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlserver2014a | Select *\nReturns full object properties on all Availability Group(s) on sqlserver2014a.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlserver2014a | Select-Object -ExpandProperty PrimaryReplicaServerName\nReturns the SQL Server instancename of the primary replica as a string\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaAvailabilityGroup -SqlInstance sqlserver2014a -AvailabilityGroup AG-a -IsPrimary\nReturns true/false if the server, sqlserver2014a, is the primary replica for AG-a Availability Group.",
        "Syntax":  "Get-DbaAvailabilityGroup [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-AvailabilityGroup] \u003cString[]\u003e] [-IsPrimary] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaAvailableCollation",
        "Description":  "The Get-DbaAvailableCollation function returns the list of collations available on each SQL Server.\nOnly the connect permission is required to get this information.",
        "Tags":  [
                     "Collation",
                     "Configuration"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "TThe target SQL Server instance or instances. Only connect permission is required.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Bryan Hamby (@galador)",
        "Synopsis":  "Function to get available collations for a given SQL Server",
        "Name":  "Get-DbaAvailableCollation",
        "Links":  "https://dbatools.io/Get-DbaAvailableCollation",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaAvailableCollation -SqlInstance sql2016\nGets all the collations from server sql2016 using NT authentication",
        "Syntax":  "Get-DbaAvailableCollation [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaBackupDevice",
        "Description":  "The Get-DbaBackupDevice command gets SQL Backup Device information for each instance(s) of SQL Server.",
        "Tags":  "Backup",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function\r\nto be executed against multiple SQL Server instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Gets SQL Backup Device information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaBackupDevice",
        "Links":  "https://dbatools.io/Get-DbaBackupDevice",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaBackupDevice -SqlInstance localhost\nReturns all Backup Devices on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaBackupDevice -SqlInstance localhost, sql2016\nReturns all Backup Devices for the local and sql2016 SQL Server instances",
        "Syntax":  "Get-DbaBackupDevice [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaBackupHistory",
        "Description":  "Returns backup history details for some or all databases on a SQL Server.\n\nYou can even get detailed information (including file path) for latest full, differential and log files.\n\nBackups taken with the CopyOnly option will NOT be returned, unless the IncludeCopyOnly switch is present\n\nReference: http://www.sqlhub.com/2011/07/find-your-backup-history-in-sql-server.html",
        "Tags":  [
                     "DisasterRecovery",
                     "Backup"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function to be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Credential object used to connect to the SQL Server Instance as a different user. This can be a Windows or SQL Server account. Windows users are determined by the existence of a backslash, so if you \r\nare intending to use an alternative Windows connection instead of a SQL login, ensure it contains a backslash.",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Specifies one or more database(s) to process. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Specifies one or more database(s) to exclude from processing.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IncludeCopyOnly",
                           "By default Get-DbaBackupHistory will ignore backups taken with the CopyOnly option. This switch will include them",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Force",
                           "If this switch is enabled, a large amount of information is returned, similar to what SQL Server itself returns.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Since",
                           "Specifies a DateTime object to use as the starting point for the search for backups.",
                           "",
                           false,
                           "false",
                           "(Get-Date \u002701/01/1970\u0027)"
                       ],
                       [
                           "RecoveryFork",
                           "Specifies the Recovery Fork you want backup history for",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Last",
                           "If this switch is enabled, the most recent full chain of full, diff and log backup sets is returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "LastFull",
                           "If this switch is enabled, the most recent full backup set is returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "LastDiff",
                           "If this switch is enabled, the most recent differential backup set is returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "LastLog",
                           "If this switch is enabled, the most recent log backup is returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DeviceType",
                           "Specifies a filter for backup sets based on DeviceTypes. Valid options are \u0027Disk\u0027,\u0027Permanent Disk Device\u0027, \u0027Tape\u0027, \u0027Permanent Tape Device\u0027,\u0027Pipe\u0027,\u0027Permanent Pipe Device\u0027,\u0027Virtual Device\u0027, in addition \r\nto custom integers for your own DeviceTypes.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Raw",
                           "If this switch is enabled, one object per backup file is returned. Otherwise, media sets (striped backups across multiple files) will be grouped into a single return object.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "LastLsn",
                           "Specifies a minimum LSN to use in filtering backup history. Only backups with an LSN greater than this value will be returned, which helps speed the retrieval process.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Type",
                           "Specifies one or more types of backups to return. Valid options are \u0027Full\u0027, \u0027Log\u0027, \u0027Differential\u0027, \u0027File\u0027, \u0027Differential File\u0027, \u0027Partial Full\u0027, and \u0027Partial Differential\u0027. Otherwise, all types of \r\nbackups will be returned unless one of the -Last* switches is enabled.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl) | Stuart Moore (@napalmgram)",
        "Synopsis":  "Returns backup history details for databases on a SQL Server.",
        "Name":  "Get-DbaBackupHistory",
        "Links":  "https://dbatools.io/Get-DbaBackupHistory",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance SqlInstance2014a\nReturns server name, database, username, backup type, date for all database backups still in msdb history on SqlInstance2014a. This may return many rows; consider using filters that are included in \r\nother examples.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$cred = Get-Credential sqladmin\nGet-DbaBackupHistory -SqlInstance SqlInstance2014a -SqlCredential $cred\nDoes the same as above but connect to SqlInstance2014a as SQL user \"sqladmin\"\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance SqlInstance2014a -Database db1, db2 -Since \u00272016-07-01 10:47:00\u0027\nReturns backup information only for databases db1 and db2 on SqlInstance2014a since July 1, 2016 at 10:47 AM.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014, pubs -Force | Format-Table\nReturns information only for AdventureWorks2014 and pubs and formats the results as a table.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014 -Last\nReturns information about the most recent full, differential and log backups for AdventureWorks2014 on sql2014.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014 -Last -DeviceType Disk\nReturns information about the most recent full, differential and log backups for AdventureWorks2014 on sql2014, but only for backups to disk.\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014 -Last -DeviceType 148,107\nReturns information about the most recent full, differential and log backups for AdventureWorks2014 on sql2014, but only for backups with device_type 148 and 107.\n-------------------------- EXAMPLE 8 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014 -LastFull\nReturns information about the most recent full backup for AdventureWorks2014 on sql2014.\n-------------------------- EXAMPLE 9 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2014 -Database AdventureWorks2014 -Type Full\nReturns information about all Full backups for AdventureWorks2014 on sql2014.\n-------------------------- EXAMPLE 10 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sql2016 | Get-DbaBackupHistory\nReturns database backup information for every database on every server listed in the Central Management Server on sql2016.\n-------------------------- EXAMPLE 11 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance SqlInstance2014a, sql2016 -Force\nReturns detailed backup history for all databases on SqlInstance2014a and sql2016.\n-------------------------- EXAMPLE 12 --------------------------\nPS C:\\\u003eGet-DbaBackupHistory -SqlInstance sql2016 -Database db1 -RecoveryFork 38e5e84a-3557-4643-a5d5-eed607bef9c6 -Last\nIf db1 has multiple recovery forks, specifying the RecoveryFork GUID will restrict the search to that fork.",
        "Syntax":  "Get-DbaBackupHistory -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-IncludeCopyOnly] [-Since \u003cDateTime\u003e] [-RecoveryFork \u003cString\u003e] [-DeviceType \u003cString[]\u003e] [-Raw] [-LastLsn \u003cBigInteger\u003e] [-Type \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]\nGet-DbaBackupHistory -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-IncludeCopyOnly] [-Force] [-Since \u003cDateTime\u003e] [-RecoveryFork \u003cString\u003e] [-DeviceType \u003cString[]\u003e] [-Raw] [-LastLsn \u003cBigInteger\u003e] [-Type \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]\nGet-DbaBackupHistory -SqlInstance \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Database \u003cObject[]\u003e] [-ExcludeDatabase \u003cObject[]\u003e] [-IncludeCopyOnly] [-Since \u003cDateTime\u003e] [-RecoveryFork \u003cString\u003e] [-Last] [-LastFull] [-LastDiff] [-LastLog] [-DeviceType \u003cString[]\u003e] [-Raw] [-LastLsn \u003cBigInteger\u003e] [-Type \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaBackupInformation",
        "Description":  "Upon being passed a list of potential backups files this command will scan the files, select those that contain SQL Server\nbackup sets. It will then filter those files down to a set\n\nThe function defaults to working on a remote instance. This means that all paths passed in must be relative to the remote instance.\nXpDirTree will be used to perform the file scans\n\nVarious means can be used to pass in a list of files to be considered. The default is to non recursively scan the folder\npassed in.",
        "Tags":  [
                     "DisasterRecovery",
                     "Backup",
                     "Restore"
                 ],
        "Params":  [
                       [
                           "Path",
                           "Path to SQL Server backup files.\nPaths passed in as strings will be scanned using the desired method, default is a non recursive folder scan\r\nAccepts multiple paths separated by \u0027,\u0027\nOr it can consist of FileInfo objects, such as the output of Get-ChildItem or Get-Item. This allows you to work with\r\nyour own file structures as needed",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlInstance",
                           "The SQL Server instance to be used to read the headers of the backup files",
                           "ServerInstance,SqlServer",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using SQL Logins as opposed to Windows Auth/Integrated/Trusted.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "DatabaseName",
                           "An array of Database Names to filter by. If empty all databases are returned.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SourceInstance",
                           "If provided only backup originating from this destination will be returned. This SQL instance will not be connected to or involved in this work",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "NoXpDirTree",
                           "If this switch is set, then Files will be parsed as locally files. This can cause failures if the running user can see files that the parsing SQL Instance cannot",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "DirectoryRecurse",
                           "If specified the provided path/directory will be traversed (only applies if not using XpDirTree)",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "Replaces user friendly yellow warnings with bloody red exceptions of doom!\r\nUse this if you want the function to throw terminating errors you want to catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "MaintenanceSolution",
                           "This switch tells the function that the folder is the root of a Ola Hallengren backup folder",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "IgnoreLogBackup",
                           "This switch only works with the MaintenanceSolution switch. With an Ola Hallengren style backup we can be sure that the LOG folder contains only log backups and skip it.\r\nFor all other scenarios we need to read the file headers to be sure.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExportPath",
                           "If specified the output will export via CliXml format to the specified file. This allows you to store the backup history object for later usage, or move it between computers",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "AzureCredential",
                           "The name of the SQL Server credential to be used if restoring from an Azure hosted backup",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Import",
                           "When specified along with a path the command will import a previously exported BackupHistory object from an xml file.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "Anonymise",
                           "If specified we will output the results with ComputerName, InstanceName, Database, UserName, Paths, and Logical and Physical Names hashed out\r\nThis options is mainly for use if we need you to submit details for fault finding to the dbatools team",
                           "Anonymize",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "NoClobber",
                           "If specified will stop Export from overwriting an existing file, the default is to overwrite",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "PassThru",
                           "When data is exported the cmdlet will return no other output, this switch means it will also return the normal output which can be then piped into another command",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl) | Stuart Moore (@napalmgram)",
        "Synopsis":  "Scan backup files and creates a set, compatible with Restore-DbaDatabase",
        "Name":  "Get-DbaBackupInformation",
        "Links":  "https://dbatools.io/Get-DbaBackupInformation",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaBackupInformation -SqlInstance Server1 -Path c:\\backups\\ -DirectoryRecurse\nWill use the Server1 instance to recursively read all backup files under c:\\backups, and return a dbatools BackupHistory object\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaBackupInformation -SqlInstance Server1 -Path c:\\backups\\ -DirectoryRecurse -ExportPath c:\\store\\BackupHistory.xml\nPS C:\\\u003e robocopy c:\\store\\ \\\\remoteMachine\\C$\\store\\ BackupHistory.xml\r\nPS C:\\\u003e Get-DbaBackupInformation -Import -Path  c:\\store\\BackupHistory.xml | Restore-DbaDatabase -SqlInstance Server2 -TrustDbBackupHistory\nThis example creates backup history output from server1 and copies the file to the remote machine in order to preserve backup history. It is then used to restore the databases onto server2.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaBackupInformation -SqlInstance Server1 -Path c:\\backups\\ -DirectoryRecurse -ExportPath C:\\store\\BackupHistory.xml -PassThru | Restore-DbaDatabase -SqlInstance Server2 \r\n-TrustDbBackupHistory\nIn this example we gather backup information, export it to an xml file, and then pass it on through to Restore-DbaDatabase.\r\nThis allows us to repeat the restore without having to scan all the backup files again\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-ChildItem c:\\backups\\ -recurse -files | Where-Object {$_.extension -in (\u0027.bak\u0027,\u0027.trn\u0027) -and $_.LastWriteTime -gt (get-date).AddMonths(-1)} | Get-DbaBackupInformation -SqlInstance Server1 \r\n-ExportPath C:\\backupHistory.xml\nThis lets you keep a record of all backup history from the last month on hand to speed up refreshes\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003e$Backups = Get-DbaBackupInformation -SqlInstance Server1 -Path \\\\network\\backups\nPS C:\\\u003e $Backups += Get-DbaBackupInformation -SqlInstance Server2 -NoXpDirTree -Path c:\\backups\nScan the unc folder \\\\network\\backups with Server1, and then scan the C:\\backups folder on\r\nServer2 not using xp_dirtree, adding the results to the first set.\n-------------------------- EXAMPLE 6 --------------------------\nPS C:\\\u003e$Backups = Get-DbaBackupInformation -SqlInstance Server1 -Path \\\\network\\backups -MaintenanceSolution\nWhen MaintenanceSolution is indicated we know we are dealing with the output from Ola Hallengren backup scripts. So we make sure that a FULL folder exists in the first level of Path, if not we \r\nshortcut scanning all the files as we have nothing to work with\n-------------------------- EXAMPLE 7 --------------------------\nPS C:\\\u003e$Backups = Get-DbaBackupInformation -SqlInstance Server1 -Path \\\\network\\backups -MaintenanceSolution -IgnoreLogBackup\nAs we know we are dealing with an Ola Hallengren style backup folder from the MaintenanceSolution switch, when IgnoreLogBackup is also included we can ignore the LOG folder to skip any scanning of \r\nlog backups. Note this also means they WON\u0027T be restored",
        "Syntax":  "Get-DbaBackupInformation -Path \u003cObject[]\u003e -SqlInstance \u003cDbaInstanceParameter\u003e [-SqlCredential \u003cPSCredential\u003e] [-DatabaseName \u003cString[]\u003e] [-SourceInstance \u003cString[]\u003e] [-NoXpDirTree] [-DirectoryRecurse] [-EnableException] [-MaintenanceSolution] [-IgnoreLogBackup] [-ExportPath \u003cString\u003e] [-AzureCredential \u003cString\u003e] [-Anonymise] [-NoClobber] [-PassThru] [\u003cCommonParameters\u003e]\nGet-DbaBackupInformation -Path \u003cObject[]\u003e [-DatabaseName \u003cString[]\u003e] [-SourceInstance \u003cString[]\u003e] [-EnableException] [-MaintenanceSolution] [-IgnoreLogBackup] [-ExportPath \u003cString\u003e] [-AzureCredential \u003cString\u003e] [-Import] [-Anonymise] [-NoClobber] [-PassThru] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaBuildReference",
        "Description":  "Returns info about the specific build of a SQL instance, including the SP, the CU and the reference KB, wherever possible.\nIt also includes End Of Support dates as specified on Microsoft Life Cycle Policy",
        "Tags":  "SqlBuild",
        "Params":  [
                       [
                           "Build",
                           "Instead of connecting to a real instance, pass a string identifying the build to get the info back.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Kb",
                           "Get a KB information based on its number. Supported format: KBXXXXXX, or simply XXXXXX.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "MajorVersion",
                           "Get a KB information based on SQL Server version. Can be refined further by -ServicePack and -CumulativeUpdate parameters.\r\nExamples: SQL2008 | 2008R2 | 2016",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ServicePack",
                           "Get a KB information based on SQL Server Service Pack version. Can be refined further by -CumulativeUpdate parameter.\r\nExamples: SP0 | 2 | RTM",
                           "SP",
                           false,
                           "false",
                           "RTM"
                       ],
                       [
                           "CumulativeUpdate",
                           "Get a KB information based on SQL Server Cumulative Update version.\r\n Examples: CU0 | CU13 | CU0",
                           "CU",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "SqlInstance",
                           "Target any number of instances, in order to return their build state.",
                           "ServerInstance,SqlServer",
                           false,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "When connecting to an instance, use the credentials specified.",
                           "Credential",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Update",
                           "Looks online for the most up to date reference, replacing the local one.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Get-DbaSqlBuildReference",
        "Author":  "Simone Bizzotto (@niphold) | Friedrich Weinmann (@FredWeinmann)",
        "Synopsis":  "Returns SQL Server Build infos on a SQL instance",
        "Name":  "Get-DbaBuildReference",
        "Links":  "https://dbatools.io/Get-DbaBuildReference",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaBuildReference -Build \"12.00.4502\"\nReturns information about a build identified by  \"12.00.4502\" (which is SQL 2014 with SP1 and CU11)\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaBuildReference -Build \"12.00.4502\" -Update\nReturns information about a build trying to fetch the most up to date index online. When the online version is newer, the local one gets overwritten\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaBuildReference -Build \"12.0.4502\",\"10.50.4260\"\nReturns information builds identified by these versions strings\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a | Get-DbaBuildReference\nIntegrate with other cmdlets to have builds checked for all your registered servers on sqlserver2014a",
        "Syntax":  "Get-DbaBuildReference [[-Build] \u003cVersion[]\u003e] [[-Kb] \u003cString[]\u003e] [[-MajorVersion] \u003cString\u003e] [[-ServicePack] \u003cString\u003e] [[-CumulativeUpdate] \u003cString\u003e] [[-SqlInstance] \u003cDbaInstanceParameter[]\u003e] [[-SqlCredential] \u003cPSCredential\u003e] [-Update] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaClientAlias",
        "Description":  "Gets SQL Server alias by reading HKLM:\\SOFTWARE\\Microsoft\\MSSQLServer\\Client",
        "Tags":  "Alias",
        "Params":  [
                       [
                           "ComputerName",
                           "The target computer where the alias has been created",
                           "",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to remote computers using alternative credentials",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Gets any SQL Server alias for the specified server(s)",
        "Name":  "Get-DbaClientAlias",
        "Links":  "https://dbatools.io/Get-DbaClientAlias",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaClientAlias\nGets all SQL Server client aliases on the local computer\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaClientAlias -ComputerName workstationx\nGets all SQL Server client aliases on Workstationx\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaClientAlias -ComputerName workstationx -Credential ad\\sqldba\nLogs into workstationx as ad\\sqldba then retrieves all SQL Server client aliases on Workstationx\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e\u0027Server1\u0027, \u0027Server2\u0027 | Get-DbaClientAlias\nGets all SQL Server client aliases on Server1 and Server2",
        "Syntax":  "Get-DbaClientAlias [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaClientProtocol",
        "Description":  "Gets the SQL Server related client protocols on one or more computers.\n\nRequires Local Admin rights on destination computer(s).\nThe client protocols can be enabled and disabled when retrieved via WSMan.",
        "Tags":  "Protocol",
        "Params":  [
                       [
                           "ComputerName",
                           "The target SQL Server instance or instances.",
                           "cn,host,Server",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Credential object used to connect to the computer as a different user.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Klaas Vandenberghe (@PowerDBAKlaas)",
        "Synopsis":  "Gets the SQL Server related client protocols on a computer.",
        "Name":  "Get-DbaClientProtocol",
        "Links":  "https://dbatools.io/Get-DbaClientProtocol",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaClientProtocol -ComputerName sqlserver2014a\nGets the SQL Server related client protocols on computer sqlserver2014a.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e\u0027sql1\u0027,\u0027sql2\u0027,\u0027sql3\u0027 | Get-DbaClientProtocol\nGets the SQL Server related client protocols on computers sql1, sql2 and sql3.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaClientProtocol -ComputerName sql1,sql2 | Out-GridView\nGets the SQL Server related client protocols on computers sql1 and sql2, and shows them in a grid view.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e(Get-DbaClientProtocol -ComputerName sql2 | Where { $_.DisplayName = \u0027via\u0027 }).Disable()\nDisables the VIA ClientNetworkProtocol on computer sql2.\r\nIf successful, return code 0 is shown.",
        "Syntax":  "Get-DbaClientProtocol [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCmConnection",
        "Description":  "Retrieves windows management connections from the cache",
        "Tags":  [
                     "ComputerManagement",
                     "CIM"
                 ],
        "Params":  [
                       [
                           "ComputerName",
                           "The computername to ComputerName for.",
                           "Filter",
                           false,
                           "true (ByValue)",
                           "*"
                       ],
                       [
                           "UserName",
                           "Username on credentials to look for. Will not find connections using the default windows credentials.",
                           "",
                           false,
                           "false",
                           "*"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Friedrich Weinmann (@FredWeinmann)",
        "Synopsis":  "Retrieves windows management connections from the cache",
        "Name":  "Get-DbaCmConnection",
        "Links":  "https://dbatools.io/Get-DbaCmConnection",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCmConnection\nList all cached connections.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmConnection sql2014\nList the cached connection - if any - to the server sql2014.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCmConnection -UserName \"*charles*\"\nList all cached connection that use a username containing \"charles\" as default or override credentials.",
        "Syntax":  "Get-DbaCmConnection [[-ComputerName] \u003cString[]\u003e] [-UserName \u003cString\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCmObject",
        "Description":  "This function centralizes all requests for information retrieved from Get-WmiObject or Get-CimInstance.\nIt uses different protocols as available in this order:\n- Cim over WinRM\n- Cim over DCOM\n- Wmi\n- Wmi over PowerShell Remoting\nIt remembers channels that didn\u0027t work and will henceforth avoid them. It remembers invalid credentials and will avoid reusing them.\nMuch of its behavior can be configured using Test-DbaCmConnection.",
        "Tags":  [
                     "ComputerManagement",
                     "CIM"
                 ],
        "Params":  [
                       [
                           "ClassName",
                           "The name of the class to retrieve.",
                           "Class",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "Query",
                           "The Wmi/Cim query tu run against the server.",
                           "",
                           true,
                           "false",
                           ""
                       ],
                       [
                           "ComputerName",
                           "The computer(s) to connect to. Defaults to localhost.",
                           "",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Credentials to use. Invalid credentials will be stored in a credentials cache and not be reused.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Namespace",
                           "The namespace of the class to use.",
                           "",
                           false,
                           "false",
                           "root\\cimv2"
                       ],
                       [
                           "DoNotUse",
                           "Connection Protocols that should not be used.",
                           "",
                           false,
                           "false",
                           "None"
                       ],
                       [
                           "Force",
                           "Overrides some checks that might otherwise halt execution as a precaution\r\n- Ignores timeout on bad connections",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "SilentlyContinue",
                           "Use in conjunction with the -EnableException switch.\r\nBy default, Get-DbaCmObject will throw a terminating exception when connecting to a target is impossible in exception enabled mode.\r\nSetting this switch will cause it write a non-terminating exception and continue with the next computer.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Friedrich Weinmann (@FredWeinmann)",
        "Synopsis":  "Retrieves Wmi/Cim-Style information from computers.",
        "Name":  "Get-DbaCmObject",
        "Links":  "https://dbatools.io/Get-DbaCmObject",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCmObject win32_OperatingSystem\nRetrieves the common operating system information from the local computer.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmObject -Computername \"sql2014\" -ClassName Win32_OperatingSystem -Credential $cred -DoNotUse CimRM\nRetrieves the common operating system information from the server sql2014.\r\nIt will use the Credentials stored in $cred to connect, unless they are known to not work, in which case they will default to windows credentials (unless another default has been set).",
        "Syntax":  "Get-DbaCmObject [-ClassName] \u003cString\u003e [-ComputerName \u003cDbaCmConnectionParameter[]\u003e] [-Credential \u003cPSCredential\u003e] [-Namespace \u003cString\u003e] [-DoNotUse {None | CimRM | CimDCOM | Wmi | PowerShellRemoting}] [-Force] [-SilentlyContinue] [-EnableException] [\u003cCommonParameters\u003e]\nGet-DbaCmObject [-Query] \u003cString\u003e [-ComputerName \u003cDbaCmConnectionParameter[]\u003e] [-Credential \u003cPSCredential\u003e] [-Namespace \u003cString\u003e] [-DoNotUse {None | CimRM | CimDCOM | Wmi | PowerShellRemoting}] [-Force] [-SilentlyContinue] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCmsRegServer",
        "Description":  "Returns an array of servers found in the CMS.",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "Specifies one or more names to include. Name is the visible name in SSMS CMS interface (labeled Registered Server Name)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ServerName",
                           "Specifies one or more server names to include. Server Name is the actual instance name (labeled Server Name)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Group",
                           "Specifies one or more groups to include from SQL Server Central Management Server.",
                           "Groups",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeGroup",
                           "Specifies one or more Central Management Server groups to exclude.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Id",
                           "Get server by Id(s)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IncludeSelf",
                           "If this switch is enabled, the CMS server itself will be included in the results, along with all other Registered Servers.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ExcludeCmsServer",
                           "Deprecated, now follows the Microsoft convention of not including it by default. If you\u0027d like to include the CMS Server, use -IncludeSelf",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "ResolveNetworkName",
                           "If this switch is enabled, the NetBIOS name and IP address(es) of each server will be returned.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Get-DbaCmsRegServerName,Get-DbaRegisteredServer,Get-SqlRegisteredServerName",
        "Author":  "Bryan Hamby (@galador)",
        "Synopsis":  "Gets list of SQL Server objects stored in SQL Server Central Management Server (CMS).",
        "Name":  "Get-DbaCmsRegServer",
        "Links":  "https://dbatools.io/Get-DbaCmsRegServer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a\nGets a list of servers from the CMS on sqlserver2014a, using Windows Credentials.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a -IncludeSelf\nGets a list of servers from the CMS on sqlserver2014a and includes sqlserver2014a in the output results.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a -SqlCredential $credential | Select-Object -Unique -ExpandProperty ServerName\nReturns only the server names from the CMS on sqlserver2014a, using SQL Authentication to authenticate to the server.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a -Group HR, Accounting\nGets a list of servers in the HR and Accounting groups from the CMS on sqlserver2014a.\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServer -SqlInstance sqlserver2014a -Group HR\\Development\nReturns a list of servers in the HR and sub-group Development from the CMS on sqlserver2014a.",
        "Syntax":  "Get-DbaCmsRegServer [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Name] \u003cString[]\u003e] [[-ServerName] \u003cString[]\u003e] [[-Group] \u003cObject[]\u003e] [[-ExcludeGroup] \u003cObject[]\u003e] [[-Id] \u003cInt32[]\u003e] [-IncludeSelf] [-ExcludeCmsServer] [-ResolveNetworkName] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCmsRegServerGroup",
        "Description":  "Returns an array of Server Groups found in the CMS.",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Group",
                           "Specifies one or more groups to include from SQL Server Central Management Server.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeGroup",
                           "Specifies one or more Central Management Server groups to exclude.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Id",
                           "Get group by Id(s). This parameter only works if the group has a registered server in it.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Get-DbaRegisteredServerGroup",
        "Author":  "Tony Wilhelm (@tonywsql)",
        "Synopsis":  "Gets list of Server Groups objects stored in SQL Server Central Management Server (CMS).",
        "Name":  "Get-DbaCmsRegServerGroup",
        "Links":  "https://dbatools.io/Get-DbaCmsRegServerGroup",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sqlserver2014a\nGets the top level groups from the CMS on sqlserver2014a, using Windows Credentials.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sqlserver2014a -SqlCredential $credential\nGets the top level groups from the CMS on sqlserver2014a, using alternative credentials to authenticate to the server.\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sqlserver2014a -Group HR, Accounting\nGets the HR and Accounting groups from the CMS on sqlserver2014a.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerGroup -SqlInstance sqlserver2014a -Group HR\\Development\nReturns the sub-group Development of the HR group from the CMS on sqlserver2014a.",
        "Syntax":  "Get-DbaCmsRegServerGroup [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Group] \u003cObject[]\u003e] [[-ExcludeGroup] \u003cObject[]\u003e] [[-Id] \u003cInt32[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCmsRegServerStore",
        "Description":  "Returns a SQL Server Registered Server Store object - useful for working with Central Management Store",
        "Tags":  [
                     "RegisteredServer",
                     "CMS"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function\r\nto be executed against multiple SQL Server instances.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "Get-DbaRegisteredServerStore",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Returns a SQL Server Registered Server Store Object",
        "Name":  "Get-DbaCmsRegServerStore",
        "Links":  "https://dbatools.io/Get-DbaCmsRegServerStore",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerStore -SqlInstance sqlserver2014a\nReturns a SQL Server Registered Server Store Object from sqlserver2014a\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCmsRegServerStore -SqlInstance sqlserver2014a -SqlCredential sqladmin\nReturns a SQL Server Registered Server Store Object from sqlserver2014a  by logging in with the sqladmin login",
        "Syntax":  "Get-DbaCmsRegServerStore [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaComputerCertificate",
        "Description":  "Gets computer certificates on localhost that are candidates for using with SQL Server\u0027s network encryption",
        "Tags":  "Certificate",
        "Params":  [
                       [
                           "ComputerName",
                           "The target SQL Server instance or instances. Defaults to localhost. If target is a cluster, you must specify the distinct nodes.",
                           "ServerInstance,SqlServer,SqlInstance",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Allows you to login to $ComputerName using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Store",
                           "Certificate store - defaults to LocalMachine",
                           "",
                           false,
                           "false",
                           "LocalMachine"
                       ],
                       [
                           "Folder",
                           "Certificate folder - defaults to My (Personal)",
                           "",
                           false,
                           "false",
                           "My"
                       ],
                       [
                           "Path",
                           "The path to a certificate - basically changes the path into a certificate object",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Thumbprint",
                           "Return certificate based on thumbprint",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Simplifies finding computer certificates that are candidates for using with SQL Server\u0027s network encryption",
        "Name":  "Get-DbaComputerCertificate",
        "Links":  null,
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaComputerCertificate\nGets computer certificates on localhost that are candidates for using with SQL Server\u0027s network encryption\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaComputerCertificate -ComputerName sql2016\nGets computer certificates on sql2016 that are candidates for using with SQL Server\u0027s network encryption\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaComputerCertificate -ComputerName sql2016 -Thumbprint 8123472E32AB412ED4288888B83811DB8F504DED, 04BFF8B3679BB01A986E097868D8D494D70A46D6\nGets computer certificates on sql2016 that match thumbprints 8123472E32AB412ED4288888B83811DB8F504DED or 04BFF8B3679BB01A986E097868D8D494D70A46D6",
        "Syntax":  "Get-DbaComputerCertificate [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Store] \u003cString\u003e] [[-Folder] \u003cString\u003e] [[-Path] \u003cString\u003e] [[-Thumbprint] \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaComputerSystem",
        "Description":  "Gets computer system information from the server and returns as an object.",
        "Tags":  "ServerInfo",
        "Params":  [
                       [
                           "ComputerName",
                           "Target computer(s). If no computer name is specified, the local computer is targeted",
                           "cn,host,Server",
                           false,
                           "true (ByValue)",
                           "$env:COMPUTERNAME"
                       ],
                       [
                           "Credential",
                           "Alternate credential object to use for accessing the target computer(s).",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "IncludeAws",
                           "If computer is hosted in AWS Infrastructure as a Service (IaaS), additional information will be included.",
                           "",
                           false,
                           "false",
                           "False"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Shawn Melton (@wsmelton), https://wsmelton.github.io",
        "Synopsis":  "Gets computer system information from the server.",
        "Name":  "Get-DbaComputerSystem",
        "Links":  "https://dbatools.io/Get-DbaComputerSystem",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaComputerSystem\nReturns information about the local computer\u0027s computer system\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaComputerSystem -ComputerName sql2016\nReturns information about the sql2016\u0027s computer system\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaComputerSystem -ComputerName sql2016 -IncludeAws\nReturns information about the sql2016\u0027s computer system and includes additional properties around the EC2 instance.",
        "Syntax":  "Get-DbaComputerSystem [[-ComputerName] \u003cDbaInstanceParameter[]\u003e] [[-Credential] \u003cPSCredential\u003e] [-IncludeAws] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaConnection",
        "Description":  "Returns a bunch of information from dm_exec_connections which, according to Microsoft:\n\"Returns information about the connections established to this instance of SQL Server and the details of each connection. Returns server wide connection information for SQL Server. Returns current database connection information for SQL Database.\"",
        "Tags":  "Connection",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Server(s) must be SQL Server 2005 or higher.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "Credential,Cred",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Returns a bunch of information from dm_exec_connections.",
        "Name":  "Get-DbaConnection",
        "Links":  "https://dbatools.io/Get-DbaConnection",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaConnection -SqlInstance sql2016, sql2017\nReturns client connection information from sql2016 and sql2017",
        "Syntax":  "Get-DbaConnection [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCpuRingBuffer",
        "Description":  "This command is based off of Glen Berry\u0027s diagnostic query for average CPU\n\nThe sys.dm_os_ring_buffers stores the average CPU utilization history\nby the current instance of SQL Server, plus the summed average CPU utilization\nby all other processes on your machine are captured in one minute increments\nfor the past 256 minutes.\n\nReference: https://www.sqlskills.com/blogs/glenn/sql-server-diagnostic-information-queries-detailed-day-16//",
        "Tags":  "CPU",
        "Params":  [
                       [
                           "SqlInstance",
                           "Allows you to specify a comma separated list of servers to query.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to servers using SQL Logins as opposed to Windows Auth/Integrated/Trusted. To use:\r\n$cred = Get-Credential, this pass this $cred to the param.\nWindows Authentication will be used if DestinationSqlCredential is not specified. To connect as a different Windows user, run PowerShell as that user.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "CollectionMinutes",
                           "Allows you to specify a Collection Period in Minutes. Default is 60 minutes",
                           "",
                           false,
                           "false",
                           "60"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Patrick Flynn (@sqllensman)",
        "Synopsis":  "Collects CPU data from sys.dm_os_ring_buffers.  Works on SQL Server 2005 and above.",
        "Name":  "Get-DbaCpuRingBuffer",
        "Links":  "https://dbatools.io/Get-DbaCpuRingBuffer",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCpuRingBuffer -SqlInstance sql2008, sqlserver2012\nGets CPU Statistics from sys.dm_os_ring_buffers for servers sql2008 and sqlserver2012 for last 60 minutes.\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCpuRingBuffer -SqlInstance sql2008 -CollectionMinutes 240\nGets CPU Statistics from sys.dm_os_ring_buffers for server sql2008 for last 240 minutes\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003e$output = Get-DbaCpuRingBuffer -SqlInstance sql2008 -CollectionMinutes 240 | Select * | ConvertTo-DbaDataTable\nGets CPU Statistics from sys.dm_os_ring_buffers for server sql2008 for last 240 minutes into a Data Table.\n-------------------------- EXAMPLE 4 --------------------------\nPS C:\\\u003e\u0027sql2008\u0027,\u0027sql2012\u0027 | Get-DbaCpuRingBuffer\nGets CPU Statistics from sys.dm_os_ring_buffers for servers sql2008 and sqlserver2012\n-------------------------- EXAMPLE 5 --------------------------\nPS C:\\\u003e$cred = Get-Credential sqladmin\nPS C:\\\u003e Get-DbaCpuRingBuffer -SqlInstance sql2008 -SqlCredential $cred\nConnects using sqladmin credential and returns CPU Statistics from sys.dm_os_ring_buffers from sql2008",
        "Syntax":  "Get-DbaCpuRingBuffer [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-CollectionMinutes] \u003cInt32\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCpuUsage",
        "Description":  "\"If there are a lot of processes running on your instance and the CPU is very high,\nthen it\u0027s hard to find the exact process eating up your CPU using just the SQL Server\ntools. One way to correlate the data between what is running within SQL Server and at\nthe Windows level is to use SPID and KPID values to get the exact process.\"\n\nThis command automates that process.\n\nReferences: https://www.mssqltips.com/sqlservertip/2454/how-to-find-out-how-much-cpu-a-sql-server-process-is-really-using/\n\nNote: This command returns results from all SQL instances on the destination server but the process\ncolumn is specific to -SqlInstance passed.",
        "Tags":  "CPU",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances.",
                           "ServerInstance,SqlServer,SqlServers",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Allows you to login to the SQL instance using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Credential",
                           "Allows you to login to the Windows Server using alternative credentials.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Threshold",
                           "CPU threshold.",
                           "",
                           false,
                           "false",
                           "0"
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Chrissy LeMaire (@cl), netnerds.net",
        "Synopsis":  "Provides detailed CPU usage information about a SQL Server\u0027s process",
        "Name":  "Get-DbaCpuUsage",
        "Links":  "https://dbatools.io/Get-DbaCpuUsage",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCpuUsage -SqlInstance sql2017\nLogs into the SQL Server instance \"sql2017\" and also the Computer itself (via WMI) to gather information\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003e$usage = Get-DbaCpuUsage -SqlInstance sql2017\nPS C:\\\u003e $usage.Process\nExplores the processes (from Get-DbaProcess) associated with the usage results\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCpuUsage -SqlInstance sql2017 -SqlCredential sqladmin -Credential ad\\sqldba\nLogs into the SQL instance using the SQL Login \u0027sqladmin\u0027 and then Windows instance as \u0027ad\\sqldba\u0027",
        "Syntax":  "Get-DbaCpuUsage [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [[-SqlCredential] \u003cPSCredential\u003e] [[-Credential] \u003cPSCredential\u003e] [[-Threshold] \u003cInt32\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCredential",
        "Description":  "The Get-DbaCredential command gets SQL Credential information for each instance(s) of SQL Server.",
        "Tags":  "Credential",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function\r\nto be executed against multiple SQL Server instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Name",
                           "Only include specific names\r\nNote: if spaces exist in the credential name, you will have to type \"\" or \u0027\u0027 around it.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeName",
                           "Excluded credential names",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Identity",
                           "Only include specific identities\r\nNote: if spaces exist in the credential identity, you will have to type \"\" or \u0027\u0027 around it.",
                           "CredentialIdentity",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeIdentity",
                           "Excluded identities",
                           "ExcludeCredentialIdentity",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Gets SQL Credential information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaCredential",
        "Links":  "https://dbatools.io/Get-DbaCredential",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCredential -SqlInstance localhost\nReturns all SQL Credentials on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCredential -SqlInstance localhost, sql2016 -Name \u0027PowerShell Proxy\u0027\nReturns the SQL Credentials named \u0027PowerShell Proxy\u0027 for the local and sql2016 SQL Server instances\n-------------------------- EXAMPLE 3 --------------------------\nPS C:\\\u003eGet-DbaCredential -SqlInstance localhost, sql2016 -Identity ad\\powershell\nReturns the SQL Credentials for the account \u0027ad\\powershell\u0027 on the local and sql2016 SQL Server instances",
        "Syntax":  "Get-DbaCredential [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-Name \u003cString[]\u003e] [-ExcludeName \u003cString[]\u003e] [-Identity \u003cString[]\u003e] [-ExcludeIdentity \u003cString[]\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaCustomError",
        "Description":  "The Get-DbaCustomError command gets SQL Custom Error Message information for each instance(s) of SQL Server.",
        "Tags":  [
                     "Error",
                     "CustomError"
                 ],
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. This can be a collection and receive pipeline input to allow the function\r\nto be executed against multiple SQL Server instances.",
                           "",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "EnableException",
                           "By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.\r\nThis avoids overwhelming you with \"sea of red\" exceptions, but is inconvenient because it basically disables advanced scripting.\r\nUsing this switch turns this \"nice by default\" feature off and enables you to catch exceptions with your own try/catch.",
                           "Silent",
                           false,
                           "false",
                           "False"
                       ]
                   ],
        "Alias":  "",
        "Author":  "Garry Bargsley (@gbargsley), http://blog.garrybargsley.com",
        "Synopsis":  "Gets SQL Custom Error Message information for each instance(s) of SQL Server.",
        "Name":  "Get-DbaCustomError",
        "Links":  "https://dbatools.io/Get-DbaCustomError",
        "Examples":  "-------------------------- EXAMPLE 1 --------------------------\nPS C:\\\u003eGet-DbaCustomError -SqlInstance localhost\nReturns all Custom Error Message(s) on the local default SQL Server instance\n-------------------------- EXAMPLE 2 --------------------------\nPS C:\\\u003eGet-DbaCustomError -SqlInstance localhost, sql2016\nReturns all Custom Error Message(s) for the local and sql2016 SQL Server instances",
        "Syntax":  "Get-DbaCustomError [-SqlInstance] \u003cDbaInstanceParameter[]\u003e [-SqlCredential \u003cPSCredential\u003e] [-EnableException] [\u003cCommonParameters\u003e]"
    },
    {
        "CommandName":  "Get-DbaDatabase",
        "Description":  "The Get-DbaDatabase command gets SQL database information for each database that is present on the target instance(s) of\nSQL Server. If the name of the database is provided, the command will return only the specific database information.",
        "Tags":  "Database",
        "Params":  [
                       [
                           "SqlInstance",
                           "The target SQL Server instance or instances. Defaults to localhost.",
                           "ServerInstance,SqlServer",
                           true,
                           "true (ByValue)",
                           ""
                       ],
                       [
                           "SqlCredential",
                           "Login to the target instance using alternative credentials. Windows and SQL Authentication supported. Accepts credential objects (Get-Credential)",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "Database",
                           "Specifies one or more database(s) to process. If unspecified, all databases will be processed.",
                           "Databases",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeDatabase",
                           "Specifies one or more database(s) to exclude from processing.",
                           "",
                           false,
                           "false",
                           ""
                       ],
                       [
                           "ExcludeUser",
                           "If this switch is enabled, only databases which are not User databases will be processed.\nThis parameter cannot be used with -ExcludeSystem.",
                           "SystemDbOnly,NoUserDb,ExcludeAllUserDb",
                           false,
                           "false",
                           "False"