41 lines
1.1 KiB
PowerShell
41 lines
1.1 KiB
PowerShell
function Invoke-QueryOnClientDatabase {
|
|
<#
|
|
.SYNOPSIS
|
|
Runs a Query Against a Client Database Object
|
|
#>
|
|
param (
|
|
[Parameter(Position = 0, Mandatory = $true)]
|
|
[PSObject]$Client,
|
|
|
|
[Parameter(Position = 1, Mandatory = $true)]
|
|
[string]$QueryString
|
|
)
|
|
|
|
$conn = New-Object System.Data.SqlClient.SqlConnection
|
|
|
|
$conStrBuilder = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($Client.ConnectionString)
|
|
$conn.ConnectionString = $conStrBuilder.ToString()
|
|
Write-Verbose ("Connecting to master database with connection string {0}" -f $conStrBuilder.ToString())
|
|
|
|
try {
|
|
$conn.Open()
|
|
$query = New-Object System.Data.SqlClient.SqlCommand($QueryString, $conn)
|
|
$result = $query.ExecuteScalar()
|
|
|
|
$result
|
|
}
|
|
catch {
|
|
Write-Warning "An exception occurred while trying to execute the specified query against the client database"
|
|
Write-Warning $error[0] | Format-List -Force
|
|
return $null
|
|
}
|
|
finally {
|
|
if ($conn.State -ne [System.Data.ConnectionState]::Closed) {
|
|
$conn.Close()
|
|
}
|
|
|
|
$conn = $null
|
|
}
|
|
}
|
|
|