Skip to content

Commit 2a69774

Browse files
committed
Merge branch 'main' of https://github.com/brianary/scripts
2 parents 00594d9 + 67f52be commit 2a69774

File tree

1 file changed

+25
-10
lines changed

1 file changed

+25
-10
lines changed

Test-ConnectionString.ps1

+25-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ System.Management.Automation.PSObject containing properties about the connection
99
Database
1010
1111
.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
1313
1414
ServerName : SERVERNAME\LOCALDB#DCCC9EEC
1515
AppName : Core Microsoft SqlClient Data Provider
@@ -48,23 +48,38 @@ LocalSMOVersion : 17.100.0.0
4848
#Requires -Version 3
4949
#Requires -Modules dbatools
5050
[CmdletBinding()][OutputType([psobject])] Param(
51-
[Parameter(Position=0,Mandatory=$true)][string] $ConnectionString
51+
[Parameter(Position=0,Mandatory=$true)][string] $ConnectionString,
52+
[switch] $Details
5253
)
5354
Process
5455
{
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 @'
6065
select @@ServerName [ServerName], db_name() [DatabaseName],
6166
serverproperty('ComputerNamePhysicalNetBIOS') [ComputerName],
6267
serverproperty('MachineName') [MachineName],
6368
serverproperty('InstanceName') [InstanceName],
6469
current_timestamp [ServerTime],
6570
serverproperty('Edition') [Edition],
6671
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}
7085
}

0 commit comments

Comments
 (0)