DiagnosticServerCLI.ps1


<#PSScriptInfo
 
.VERSION 0.0.5
 
.GUID 01e1b65a-32a9-4937-beed-1cb1cf74344c
 
.AUTHOR Quest Software inc.
 
.COMPANYNAME Quest Software inc.
 
.COPYRIGHT Copyright 2019 Quest Software and/or its affiliates
and other contributors as indicated by the @author tags.
 
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 
.TAGS Spotlight DiagnosticServer PSModule Core Desktop CLI Cmdlet Function
 
.LICENSEURI
 
.PROJECTURI https://www.quest.com/products/spotlight-on-sql-server-enterprise/
 
.ICONURI
 
.EXTERNALMODULEDEPENDENCIES
 
.REQUIREDSCRIPTS
 
.EXTERNALSCRIPTDEPENDENCIES
 
.RELEASENOTES
Add Get-Connection cmdlet
 
.PRIVATEDATA
 
#>
 

#Requires -Module .\Module\DiagnosticServerCLI.psm1


<#
 
.DESCRIPTION
The Diagnostic Server CLI module
 
#>
 

Param()


<#
* Copyright 2019 Quest Software and/or its affiliates
* and other contributors as indicated by the @author tags.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
#>


################# Define Global Variables #########################
$Script:DiagnosticServerWebProtocol = "https"
$Script:DiagnosticServerPort = 40403
###################################################################


################# Initialization #########################
# Allow TLS, TLS1.0, TLS1.1 and TLS1.2
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls -bor [System.Net.SecurityProtocolType]::Tls11 -bor [System.Net.SecurityProtocolType]::Tls12
    
if(($PSVersionTable.PSEdition -eq "Core") -or ($PSVersionTable.PSVersion.CompareTo([version]"6.0.0") -ge 0))
{
    # Do nothing here
    Write-Debug "PowerShell ${PSVersionTable.PSEdition} ${PSVersionTable.PSVersion}"  
}
else 
{
    # Trust all certificates(Diagnostic Server certificate is self-signed)
    #[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $True }
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
    public bool CheckValidationResult(
        ServicePoint srvPoint, X509Certificate certificate,
        WebRequest request, int certificateProblem) {
        return true;
    }
}
"@

    [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
}
###################################################################



# Import Shared functions
Import-Module -Name .\*.psm1 -Force







###################################################################
#################### Code Signature below #######################
#################### DONOT DELETE !!! #######################
###################################################################




# SIG # Begin signature block
# MIIN6gYJKoZIhvcNAQcCoIIN2zCCDdcCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUF4Xwg6/M8guiOpDkiqkPxIhY
# +UegggshMIIFJDCCBAygAwIBAgIRAKUiPaTPNplDzk48ofdLsiEwDQYJKoZIhvcN
# AQELBQAwfDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3Rl
# cjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMSQw
# IgYDVQQDExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwHhcNMTkwNjI0MDAw
# MDAwWhcNMjEwNjIzMjM1OTU5WjCBlDELMAkGA1UEBhMCVVMxDjAMBgNVBBEMBTky
# NjU2MQswCQYDVQQIDAJDQTEUMBIGA1UEBwwLQWxpc28gVmllam8xFjAUBgNVBAkM
# DTQgUG9sYXJpcyBXYXkxHDAaBgNVBAoME1F1ZXN0IFNvZnR3YXJlIEluYy4xHDAa
# BgNVBAMME1F1ZXN0IFNvZnR3YXJlIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IB
# DwAwggEKAoIBAQCwZsIXCTY9zj+xysmh6S1WnRYMPD32F+myo78qrcha91NX9UZn
# UPXn+4eXWdVOU54BRaAEM/BCs4Hwa58KIIJY17Jy3zZV3BFCZEmDt5EEpMqyjzlk
# hAZOEvWDD3EWZ2WuWo978hSOE2SO0p0a9GcDYLzN2nK/qJAWXc9RF4K0OeY+V4At
# Wsb7Jgbrxh0q7rxNzfydq/IYRsXyNi6GygzSZknbMTZ2Me6vHhCpyWEz58Vn/r9v
# B2sUopiGDHF/an4uIX5xeqKr3LI1j67R8Mjtz2MbZ/A7vqz6TYjRjAl5SD43iw0l
# W+h3uhd5ZSSCzL5+GsaJApBFhk/qf+QhXPM5AgMBAAGjggGGMIIBgjAfBgNVHSME
# GDAWgBQO4TqoUzox1Yq+wbutZxoDha00DjAdBgNVHQ4EFgQUmikN52xU3eqIY1Nm
# pObsiCwut0UwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAww
# CgYIKwYBBQUHAwMwEQYJYIZIAYb4QgEBBAQDAgQQMEAGA1UdIAQ5MDcwNQYMKwYB
# BAGyMQECAQMCMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BT
# MEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
# b1JTQUNvZGVTaWduaW5nQ0EuY3JsMHMGCCsGAQUFBwEBBGcwZTA+BggrBgEFBQcw
# AoYyaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ29kZVNpZ25pbmdD
# QS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMA0GCSqG
# SIb3DQEBCwUAA4IBAQCCSelsaQGbWS1/lHXqBiVgUgL6dZ0+FsAJldBlP6NPhVnJ
# GMUMvLtAq2x/Tt3PowXiWcR4ZpaTY6Df3cVbliGl12e+Ib5z/UaI31Hg1BgxWjt2
# MZgiWUSpriB6gyxqOiCJwLySAV/IVjnTefvMRQim7Wnw9hT7Af7JgIVcIC+hY7IJ
# JUa1HYxeLSA+wMOFKqvF/uMXGWNaF1fSQrlZoyk9CQzKw114BEA/ZI6QEQocmMba
# MNSHaN/cYUEnN1lWqgk1XwYLNiQHNsJYKZsUpPZXfk6tQ9eOyb/hRP31wJwoG3y1
# V/J0nEV6XFyXyFKulifqfVPAeUQdg78XW/FFzmdYMIIF9TCCA92gAwIBAgIQHaJI
# MG+bJhjQguCWfTPTajANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMxEzAR
# BgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
# ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0Eg
# Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMx
# MjM1OTU5WjB8MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
# dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQx
# JDAiBgNVBAMTG1NlY3RpZ28gUlNBIENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZI
# hvcNAQEBBQADggEPADCCAQoCggEBAIYijTKFehifSfCWL2MIHi3cfJ8Uz+MmtiVm
# KUCGVEZ0MWLFEO2yhyemmcuVMMBW9aR1xqkOUGKlUZEQauBLYq798PgYrKf/7i4z
# IPoMGYmobHutAMNhodxpZW0fbieW15dRhqb0J+V8aouVHltg1X7XFpKcAC9o95ft
# anK+ODtj3o+/bkxBXRIgCFnoOc2P0tbPBrRXBbZOoT5Xax+YvMRi1hsLjcdmG0qf
# nYHEckC14l/vC0X/o84Xpi1VsLewvFRqnbyNVlPG8Lp5UEks9wO5/i9lNfIi6iwH
# r0bZ+UYc3Ix8cSjz/qfGFN1VkW6KEQ3fBiSVfQ+noXw62oY1YdMCAwEAAaOCAWQw
# ggFgMB8GA1UdIwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQO
# 4TqoUzox1Yq+wbutZxoDha00DjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgw
# BgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAwYIKwYBBQUHAwgwEQYDVR0gBAow
# CDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
# LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
# BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
# bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
# L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEATWNQ7Uc0SmGk
# 295qKoyb8QAAHh1iezrXMsL2s+Bjs/thAIiaG20QBwRPvrjqiXgi6w9G7PNGXkBG
# iRL0C3danCpBOvzW9Ovn9xWVM8Ohgyi33i/klPeFM4MtSkBIv5rCT0qxjyT0s4E3
# 07dksKYjalloUkJf/wTr4XRleQj1qZPea3FAmZa6ePG5yOLDCBaxq2NayBWAbXRe
# SnV+pbjDbLXP30p5h1zHQE1jNfYw08+1Cg4LBH+gS667o6XQhACTPlNdNKUANWls
# vp8gJRANGftQkGG+OY96jk32nw4e/gdREmaDJhlIlc5KycF/8zoFm/lv34h/wCOe
# 0h5DekUxwZxNqfBZslkZ6GqNKQQCd3xLS81wvjqyVVp4Pry7bwMQJXcVNIr5NsxD
# kuS6T/FikyglVyn7URnHoSVAaoRXxrKdsbwcCtp8Z359LukoTBh+xHsxQXGaSyns
# Cz1XUNLK3f2eBVHlRHjdAd6xdZgNVCT98E7j4viDvXK6yz067vBeF5Jobchh+abx
# KgoLpbn0nu6YMgWFnuv5gynTxix9vTp3Los3QqBqgu07SqqUEKThDfgXxbZaeTMY
# kuO1dfih6Y4KJR7kHvGfWocj/5+kUZ77OYARzdu1xKeogG/lU9Tg46LC0lsa+jIm
# LWpXcBw8pFguo/NbSwfcMlnzh6cabVgxggIzMIICLwIBATCBkTB8MQswCQYDVQQG
# EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm
# b3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxJDAiBgNVBAMTG1NlY3RpZ28g
# UlNBIENvZGUgU2lnbmluZyBDQQIRAKUiPaTPNplDzk48ofdLsiEwCQYFKw4DAhoF
# AKB4MBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisG
# AQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcN
# AQkEMRYEFD8aQGOPitJ9QQJyaPPp86a/buAQMA0GCSqGSIb3DQEBAQUABIIBAHQo
# YySSNLNTznu3PHoC7bsdk2BHbm/f5AxlPDDbW2yCcuHagmehrrPImqyAHVzoahka
# ra69ww1hm0xtEcZGJrF4f5pCMtv8SY0Qwime/faJ9ATLbfkObQRKvtQvn53SMPF9
# ge+QRHn6VTxLHfDM9Xdognw7zJK+YZyzV7dq1dGgdcYYXa7bIiQtn+5ustv20O2C
# VlDlRGif9r+5Ys1Un8Xb3o/2m7cIyFzWPowGxb8OHVrnAHeZnAb9ggxrs9njd/YK
# VXyGzj6RMlTKxY0+qCoIORF8LIramAXbMJPXANKo1y+WyDH2KFjSW6EQGcnn0c2S
# CR0XxbXKdiEDV0qkJc0=
# SIG # End signature block