@@ -9,7 +9,7 @@ System.Management.Automation.PSObject containing properties about the connection
9
9
Database
10
10
11
11
. EXAMPLE
12
- Test-ConnectionString.ps1 'Server=(localdb)\ProjectsV13;Integrated Security=SSPI;Encrypt=True'
12
+ Test-ConnectionString.ps1 'Server=(localdb)\ProjectsV13;Integrated Security=SSPI;Encrypt=True' -Details
13
13
14
14
ServerName : SERVERNAME\LOCALDB#DCCC9EEC
15
15
AppName : Core Microsoft SqlClient Data Provider
@@ -48,23 +48,38 @@ LocalSMOVersion : 17.100.0.0
48
48
# Requires -Version 3
49
49
# Requires -Modules dbatools
50
50
[CmdletBinding ()][OutputType ([psobject ])] Param (
51
- [Parameter (Position = 0 , Mandatory = $true )][string ] $ConnectionString
51
+ [Parameter (Position = 0 , Mandatory = $true )][string ] $ConnectionString ,
52
+ [switch ] $Details
52
53
)
53
54
Process
54
55
{
55
- $csb = New-DbaConnectionStringBuilder - ConnectionString $ConnectionString
56
- $server = Connect-DbaInstance - ConnectionString $ConnectionString
57
- $conn = Join-Keys.ps1 - ReferenceObject (New-Object Collections.Hashtable $csb ) `
58
- - InputObject (Test-DbaConnection $csb.DataSource - SkipPSRemoting | ConvertTo-OrderedDictionary.ps1 )
59
- $info = Invoke-DbaQuery - SqlInstance $server -As PSObject - Query @'
56
+ try
57
+ {
58
+ if ($Details )
59
+ {
60
+ $csb = New-DbaConnectionStringBuilder - ConnectionString $ConnectionString
61
+ $server = Connect-DbaInstance - ConnectionString $ConnectionString
62
+ $conn = Join-Keys.ps1 - ReferenceObject (New-Object Collections.Hashtable $csb ) `
63
+ - InputObject (Test-DbaConnection $csb.DataSource - SkipPSRemoting | ConvertTo-OrderedDictionary.ps1 )
64
+ $info = Invoke-DbaQuery - SqlInstance $server -As PSObject - Query @'
60
65
select @@ServerName [ServerName], db_name() [DatabaseName],
61
66
serverproperty('ComputerNamePhysicalNetBIOS') [ComputerName],
62
67
serverproperty('MachineName') [MachineName],
63
68
serverproperty('InstanceName') [InstanceName],
64
69
current_timestamp [ServerTime],
65
70
serverproperty('Edition') [Edition],
66
71
app_name() [AppName];
67
- '@ | Add-Member - NotePropertyName Server - NotePropertyValue $server - PassThru |
68
- ConvertTo-OrderedDictionary.ps1
69
- return [pscustomobject ](Join-Keys.ps1 $conn $info )
72
+ '@ | ConvertTo-OrderedDictionary.ps1
73
+ [void ] $info.Add (' Server' , $server )
74
+ $connInfo = Join-Keys.ps1 $conn $info
75
+ if ($connInfo.Contains (' Password' )) {$connInfo [' Password' ] = ConvertTo-SecureString $connInfo [' Password' ] - AsPlainText - Force}
76
+ return [pscustomobject ]$connInfo
77
+ }
78
+ else
79
+ {
80
+ return Invoke-DbaQuery - SqlInstance (Connect-DbaInstance - ConnectionString $ConnectionString ) `
81
+ - Query ' select cast(1 as bit) Success;' | ConvertFrom-DataRow.ps1 - AsValues
82
+ }
83
+ }
84
+ catch {return $false }
70
85
}
0 commit comments