-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathExport-CollectionVariables.ps1
More file actions
46 lines (35 loc) · 1.16 KB
/
Copy pathExport-CollectionVariables.ps1
File metadata and controls
46 lines (35 loc) · 1.16 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
37
38
39
40
41
42
43
44
45
46
<#
.\Export-CollectionVariables.ps1 -SMSProvider localhost -CollectionName Parent -OutputFile $env:TEMP\collvars.csv
#>
param
(
$SMSProvider,
$CollectionName,
$OutputFile
)
Function Get-SiteCode
{
$wqlQuery = “SELECT * FROM SMS_ProviderLocation”
$a = Get-WmiObject -Query $wqlQuery -Namespace “root\sms” -ComputerName $SMSProvider
$a | ForEach-Object {
if($_.ProviderForLocalSite)
{
$script:SiteCode = $_.SiteCode
}
}
return $SiteCode
}
Function Get-CMCollectionID
{
$script:CollectionID = Get-WmiObject -Class SMS_Collection -Namespace root\SMS\Site_$SiteCode -ComputerName $SMSProvider -Filter "Name = '$($CollectionName)'"
return $CollectionID.CollectionID
}
$SiteCode = Get-SiteCode
$CollectionID = Get-CMCollectionID
$CollSettings = Get-WmiObject -Class SMS_CollectionSettings -Namespace root\sms\site_$SiteCode -ComputerName $SMSProvider -Filter "CollectionID = '$($CollectionID)'"
$CollSettings = [wmi]$($CollSettings).__PATH
$Variables = $CollSettings.CollectionVariables
foreach ($Var in $Variables)
{
$Var | Select Name,Value | Export-Csv -Append -Path $OutputFile
}