/
26_4.ps1
46 lines (46 loc) · 1.38 KB
/
26_4.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
40
41
42
43
44
45
46
function Export-DiskInfoToSQL {
[CmdletBinding()]
param(
[Parameter(Mandatory=$True,
ValueFromPipeline=$True)]
[object[]]$DiskInfo
)
BEGIN {
New-DiskInfoSQLTable
$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = $DiskInfoSqlConnection
$conn.Open()
$cmd = New-Object System.Data.SqlClient.SqlCommand
$cmd.Connection = $conn
}
PROCESS {
ForEach ($object in $DiskInfo) {
if ($object.size -eq $null) {
$size = 0
} else {
$size = $object.size
}
if ($object.freespace -eq $null) {
$freespace = 0
} else {
$freespace = $object.freespace
}
$sql = @"
INSERT INTO DiskInfo (ComputerName,
DiskSize,DriveType,FreeSpace,DriveID,DateAdded)
VALUES('$($object.ComputerName)',
$size,
$($object.DriveType),
$freespace,
'$($object.Drive)',
'$(Get-Date)')
"@
$cmd.CommandText = $sql
Write-Verbose "EXECUTING QUERY `n $sql"
$cmd.ExecuteNonQuery() | Out-Null
} #ForEach
} #PROCESS
END {
$conn.Close()
}
}