forked from Skatterbrainz/sccm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Get-CMAdoConnection.ps1
39 lines (39 loc) · 1.52 KB
/
Get-CMAdoConnection.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function Get-CmAdoConnection {
<#
.DESCRIPTION
Returns an ADO connection object to an open connection to a ConfigMgr SQL database server
.PARAMETER SQLServerName
Name of ConfigMgr SQL Server hostname
.PARAMETER DatabaseName
Name of the SQL instance Database to connect to
.PARAMETER ConnectionTimeOut
Optional SQL connection timeout value. Default is 30.
.PARAMETER QueryTimeout
Optional SQL query timeout value. Default is 120.
#>
[CmdletBinding(SupportsShouldProcess=$True)]
param (
[parameter(Mandatory=$True, HelpMessage="ConfigMgr SQL Server hostname")]
[ValidateNotNullOrEmpty()]
[string] $SQLServerName,
[parameter(Mandatory=$True, HelpMessage="SQL Server database name")]
[ValidateNotNullOrEmpty()]
[string] $DatabaseName,
[parameter(Mandatory=$False, HelpMessage="SQL connection timeout value")]
[int] $ConnectionTimeout = 30,
[parameter(Mandatory=$False, HelpMessage="SQL query timeout value")]
[int]$QueryTimeout = 120
)
Write-Verbose "opening new connection to $SQLServerName"
$conn = New-Object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $SQLServerName,$DatabaseName,$ConnectionTimeout
$conn.ConnectionString = $ConnectionString
try {
$conn.Open()
Write-Output $conn
}
catch {
Write-Error $Error[0].Exception.Message
break
}
}