-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQuery-SQL.ps1
More file actions
36 lines (31 loc) · 1.17 KB
/
Copy pathQuery-SQL.ps1
File metadata and controls
36 lines (31 loc) · 1.17 KB
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
param(
[Parameter(Mandatory=$true,Position=0)]
[ValidateNotNullOrEmpty()]
[String]$SQLServer,
[Parameter(Mandatory=$true,Position=1)]
[ValidateNotNullOrEmpty()]
[String]$Database,
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[String]$Query,
[Parameter(Mandatory=$false)]
[PSCredential]$Credential
)
if ($PSBoundParameters.ContainsKey("Credential")) {
$Authentication = "User ID={0};Password={1}" -f $Credential.GetNetworkCredential().UserName, $Credential.GetNetworkCredential().password
}
else {
$Authentication = "Integrated Security=true"
}
# Database Connection
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = 'Server={0};database={1};{2}' -f $SQLServer,$Database,$Authentication
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $Query
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
return $Dataset.Tables[0] | Select-Object -Property *