0% found this document useful (0 votes)
9 views

Basic MECM Powershell Commands

The document provides a comprehensive guide on using PowerShell commands for managing Microsoft Endpoint Configuration Manager (MECM). It includes commands for displaying site information, creating user and device collections, and deploying applications. Additionally, it covers packaging applications with prerequisites and managing collections through direct and query rules.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Basic MECM Powershell Commands

The document provides a comprehensive guide on using PowerShell commands for managing Microsoft Endpoint Configuration Manager (MECM). It includes commands for displaying site information, creating user and device collections, and deploying applications. Additionally, it covers packaging applications with prerequisites and managing collections through direct and query rules.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

#Basic Powershell Commands :

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# 1.Below Command Displays Site Server Name, SiteCode And Site Version
Get-CMSite | Select ServerName, SiteCode, Version

# 2.Below Command Displays Roles installed on Primary Site Server (MECMPS.lab.com )


Get-CMSiteRole -SiteSystemServerName MECMPS.lab.com | Select RoleName

# 3. Below Command Displays the list of users present in MECM Database


Get-CMUser | Select Name

# 4. Below Command Displays the list of Devices present in MECM Database


Get-CMDevice | Select Name

# 5. Below Command Displays the list of Packages in MECM


Get-CMPackage -fast | Select Name

# 6. Below Command Displays the list of Applications in MECM


Get-CMApplication | Select LocalizedDisplayName

# 7. Below Command Displays the list of Boundaries and their value in MECM
Get-CMBoundary | Select DisplayName, Value

# 8. Below Command Displays the list of Boundary Groups in MECM


Get-CMBoundaryGroup | Select Name

# 9. Below Command Displays the list of Compliance Baseline Name and its compliance
result in MECM
Get-CMBaseline | Select LocalizedDisplayName, ComplianceCount, NonComplianceCount

# 10. Below Command Displays the list of All deployments made in MECM
Get-CMDeployment | Select ApplicationName, CollectionName, DeploymentTime

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Powershell Commands To Create User Collections


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
New-CMUserCollection -Name 'New York Users' -LimitingCollectionName 'All Users'
New-CMUserCollection -Name 'Mumbai Users' -LimitingCollectionName 'All Users'
New-CMUserCollection -Name 'London Users' -LimitingCollectionName 'All Users'
New-CMUserCollection -Name 'Mexico Users' -LimitingCollectionName 'All Users'
New-CMUserCollection -Name 'Brazil Users' -LimitingCollectionName 'All Users'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Powershell Commands To Create Device Collections


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
New-cmdevicecollection -Name 'Brazil Computers' -LimitingCollectionName 'All
Systems'
New-cmdevicecollection -Name 'New York Computers' -LimitingCollectionName 'All
Systems'
New-cmdevicecollection -Name 'Mumbai Computers' -LimitingCollectionName 'All
Systems'
New-cmdevicecollection -Name 'London Computers' -LimitingCollectionName 'All
Systems'
New-cmdevicecollection -Name 'Mexico Computers' -LimitingCollectionName 'All
Systems'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Create Device collections in sccm using powershell and move it to a specific


folder
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#Step 1 : Create Folders
New-Item -Name 'Google Chrome' -Path 'PS1:\DeviceCollection'
New-Item -Name 'Firefox' -Path 'PS1:\DeviceCollection'
New-Item -Name '7zip' -Path 'PS1:\DeviceCollection'
New-Item -Name 'Mremote' -Path 'PS1:\DeviceCollection'
New-Item -Name 'VLC Media Player' -Path 'PS1:\DeviceCollection'
New-Item -Name 'Visio' -Path 'PS1:\DeviceCollection'

#Step 2 : Create Device Collections


New-CMDeviceCollection -Name 'Google_Chrome_Device_Collection' -
LimitingCollectionName 'All Systems'
New-CMDeviceCollection -Name 'Firefox_Device_Collection' -LimitingCollectionName
'All Systems'
New-CMDeviceCollection -Name '7zip_Device_Collection' -LimitingCollectionName 'All
Systems'
New-CMDeviceCollection -Name 'Mremote_Device_Collection' -LimitingCollectionName
'All Systems'
New-CMDeviceCollection -Name 'VLC_Media_Player_Device_Collection' -
LimitingCollectionName 'All Systems'
New-CMDeviceCollection -Name 'Visio_Device_Collection' -LimitingCollectionName 'All
Systems'

#Step 3 : Define Variables


$Collection1 = Get-CMDeviceCollection -Name 'Google_Chrome_Device_Collection'
$Collection2 = Get-CMDeviceCollection -Name 'Firefox_Device_Collection'
$Collection3 = Get-CMDeviceCollection -Name '7zip_Device_Collection'
$Collection4 = Get-CMDeviceCollection -Name 'Mremote_Device_Collection'
$Collection5 = Get-CMDeviceCollection -Name 'VLC_Media_Player_Device_Collection'
$Collection6 = Get-CMDeviceCollection -Name 'Visio_Device_Collection'

#Step 4 : Move collections into a specified folders


Move-CMObject -InputObject $Collection1 -FolderPath 'PS1:\DeviceCollection\Google
Chrome'
Move-CMObject -InputObject $Collection2 -FolderPath 'PS1:\DeviceCollection\Firefox'
Move-CMObject -InputObject $Collection3 -FolderPath 'PS1:\DeviceCollection\7zip'
Move-CMObject -InputObject $Collection4 -FolderPath 'PS1:\DeviceCollection\Mremote'
Move-CMObject -InputObject $Collection5 -FolderPath 'PS1:\DeviceCollection\VLC
Media Player'
Move-CMObject -InputObject $Collection6 -FolderPath 'PS1:\DeviceCollection\Visio'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Create Direct Rule Device collections in sccm using powershell


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$collectiondir = "C:\Users\sccmadmin\Desktop\Kashif"
$collectionname = "New York Laptops"
$computers = Get-Content "C:\Users\sccmadmin\Desktop\Kashif\PC_List.txt"

New-CMDeviceCollection -Name $collectionname -LimitingCollectionName "All


Systems"
foreach($computer in $computers) {
try {
Add-CMDeviceCollectionDirectMembershipRule -CollectionName
$collectionname -ResourceId $(get-cmdevice -Name $computer).ResourceID
}
catch {
"Invalid client or direct membership rule may already exist: $computer"
| Out-File "$collectiondir\$collectionname`_invalid.log" -Append
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Create Query Rule Device collections in sccm using powershell


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# 1. Define Variables

$collectiondir = "C:\Users\sccmadmin\Desktop\Kashif"
$collectionname = "All Windows 10 Computes"
$Query = "select * from SMS_R_System where
SMS_R_System.OperatingSystemNameandVersion like '%workstation%'"

# 2. Create New Collection#

New-CMDeviceCollection -Name $collectionname -LimitingCollectionName "All Systems"

# 3. Add members in the collection using query rule method#

Add-CMDeviceCollectionQueryMembershipRule -CollectionName $collectionname -


QueryExpression $Query -RuleName 'Query1'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Packaging Cisco Anyconnect with Java as a pre-requisite using Powershell App


Deployment Toolkit (PSADT)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#Install Java :
$setup = Start-Process "\\sccmps\source\Applications\JRE\jre-8u192-windows-x64.exe"
-ArgumentList "/s" -Wait -NoNewWindow

#Uninstall Java :
$app = Get-WmiObject -Class win32_Product | Where-Object {$_.Name -eq "Java 8
Update 221 (64-bit)"}
$app.uninstall()
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# Create And Deploy Application In Using Powershell


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#1. Define Variables
$appname = "Application Name"
$publisher = "Vendor"
$version = "Version"
$location = "Application Location"
$collname = "Collection Name"
$description = "Description"
$icon = "Icon Location"
$dp = "DP Name"
$install = "Install Command Line"
$uninstall = "Uninstall Command Line"

#2. Create New Application


New-CMApplication -Name $appname -Description $description -SoftwareVersion
$version -Publisher $publisher -AutoInstall $true -IconLocationFile $icon -Verbose

#3. Add Deployment Type


Add-CMMsiDeploymentType -ApplicationName $appname -ContentLocation $location -
InstallationBehaviorType InstallForSystem -InstallCommand $install -
UninstallCommand $uninstall

#4. Distribute The App To DP


Start-CMContentDistribution -ApplicationName $appname -DistributionPointName $dp -
Verbose

#5. Deployment
New-CMApplicationDeployment -CollectionName $collname -Name $appname -DeployAction
Install -DeployPurpose Available -UserNotification DisplayAll -AvailableDateTime
(Get-Date) -TimeBaseOn LocalTime -Verbose
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

You might also like