Search This Blog

Tuesday, October 22, 2019

SCCM In-place upgrade troubleshooting

The following log files should be checked if an In-place upgrade fails.

  • C:\$WINDOWS.~BT\Sources\Panther
    • setupact.log
    • setuperr.log (errors from setupact.log)
    • CompatData_xxxx_xx_xx_xx_xx_xx_xx_x_xxxxxxxx.xml (components blocking the installation)
    • xxxxxxxx_APPRAISER_HumanReadable.xml (components blocking the installation)
  • C:\Windows\CCM\Logs\
    • smsts.log (complete Task Sequence steps)
    • SMSTSLOG\smsts.log (folder only exists during an ongoing installation)
    • execmgr.log (Task Sequences and Programs activities are logged here)

Sunday, October 20, 2019

QUERY AD COMPUTERS USING POWERSHELL

import-module ActiveDirectory

#Set the domain to search at the Server parameter. Run powershell as a user with privilieges in that domain to pass different credentials to the command.
#Searchbase is the OU you want to search. By default the command will also search all subOU's. To change this behaviour, change the searchscope parameter. Possible values: Base, onelevel, subtree
#Ignore the filter and properties parameters

$ADComputerParams=@{
'Server' = 'yourdomaincontroller.domain.com'
'Searchbase' = 'DC=DOMAIN,DC=COM'
'Searchscope'= 'Subtree'
'Filter' = 'name -like "*"'
'Properties' = '*'
}

get-adcomputer @ADComputerParams | select-object 'name', 'operatingSystem', 'managedby', @{n='lastLogonTimestamp';e={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}  | export-csv -delimiter ";" ".\DomainComputers.csv"

HOW TO REPAIR THE WMI

USING POWERSHELL FOR REMOTE COMPUTERS

$Computername = 'Computer01.domain.com'

$Command = {
    
    (Get-Service tmlisten).WaitForStatus('Stopped','00:05:00')
    
    Stop-service winmgmt -Force
    (Get-Service winmgmt).WaitForStatus('Stopped','00:05:00')

    $sysroot = $env:SystemRoot
    Rename-Item 'c:\windows\system32\wbem\repository' 'c:\windows\system32\wbem\repository.old'
    #rd -recurse -force repository
    regsvr32 /s $sysroot\system32\scecli.dll
    regsvr32 /s $sysroot\system32\userenv.dll
    gci -filter  *.dll | % {regsvr32 /s $_.Name}
    gci | where {'.mof', 'mfl' -contains $_.Extension}| % {mofcomp $_.Name} 
    mofcomp -n:root\cimv2\applications\exchange wbemcons.mof
    mofcomp -n:root\cimv2\applications\exchange smtpcons.mof
    
}

$s = New-PSSession -ComputerName $Computername -Authentication Kerberos -UseSSL
Invoke-Command -Session $s -ScriptBlock $command

**********************************************************************

MANUAL WMI REPAIR
  1. Stop WMI Service
  2. Go to %windir%\System32\wbem
  3. Rename the folder called "Repository" to "Repository.bak"
  4. Open an Admin CMD
  5. CD to %windir%\System32\wbem
  6. Run the following command:
    for /f %s in ('dir /b /s *.dll') do regsvr32 /s %s
  7. CD to C:\ (root directory)
  8. Run the following command:
    for /f %s in ('dir /s /b *.mof *.mfl') do mofcomp %s
  9. Reboot the PC (optional)

HOW TO TRIGGER SCCM ACTIONS


COMMAND PROMPT
WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000022}" /NOINTERACTIVE

POWERSHELL (remotely)
$Client = "PCNAME123"
Invoke-WMIMethod -ComputerName $Client -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000001}"

POWERSHELL (locally)
Invoke-WMIMethod -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000001}"

TRIGGER CODES:
{00000000-0000-0000-0000-000000000001} Hardware Inventory
{00000000-0000-0000-0000-000000000002} Software Inventory
{00000000-0000-0000-0000-000000000003} Discovery Inventory
{00000000-0000-0000-0000-000000000010} File Collection
{00000000-0000-0000-0000-000000000011} IDMIF Collection
{00000000-0000-0000-0000-000000000012} Client Machine Authentication
{00000000-0000-0000-0000-000000000021} Request Machine Assignments
{00000000-0000-0000-0000-000000000022} Evaluate Machine Policies
{00000000-0000-0000-0000-000000000023} Refresh Default MP Task
{00000000-0000-0000-0000-000000000024} LS (Location Service) Refresh Locations Task
{00000000-0000-0000-0000-000000000025} LS (Location Service) Timeout Refresh Task
{00000000-0000-0000-0000-000000000026} Policy Agent Request Assignment (User)
{00000000-0000-0000-0000-000000000027} Policy Agent Evaluate Assignment (User)
{00000000-0000-0000-0000-000000000031} Software Metering Generating Usage Report
{00000000-0000-0000-0000-000000000032} Source Update Message
{00000000-0000-0000-0000-000000000037} Clearing proxy settings cache
{00000000-0000-0000-0000-000000000040} Machine Policy Agent Cleanup
{00000000-0000-0000-0000-000000000041} User Policy Agent Cleanup
{00000000-0000-0000-0000-000000000042} Policy Agent Validate Machine Policy / Assignment
{00000000-0000-0000-0000-000000000043} Policy Agent Validate User Policy / Assignment
{00000000-0000-0000-0000-000000000051} Retrying/Refreshing certificates in AD on MP
{00000000-0000-0000-0000-000000000061} Peer DP Status reporting
{00000000-0000-0000-0000-000000000062} Peer DP Pending package check schedule
{00000000-0000-0000-0000-000000000063} SUM Updates install schedule
{00000000-0000-0000-0000-000000000071} NAP action
{00000000-0000-0000-0000-000000000101} Hardware Inventory Collection Cycle
{00000000-0000-0000-0000-000000000102} Software Inventory Collection Cycle
{00000000-0000-0000-0000-000000000103} Discovery Data Collection Cycle
{00000000-0000-0000-0000-000000000104} File Collection Cycle
{00000000-0000-0000-0000-000000000105} IDMIF Collection Cycle
{00000000-0000-0000-0000-000000000106} Software Metering Usage Report Cycle
{00000000-0000-0000-0000-000000000107} Windows Installer Source List Update Cycle
{00000000-0000-0000-0000-000000000108} Software Updates Assignments Evaluation Cycle
{00000000-0000-0000-0000-000000000109} Branch Distribution Point Maintenance Task
{00000000-0000-0000-0000-000000000110} DCM policy
{00000000-0000-0000-0000-000000000111} Send Unsent State Message
{00000000-0000-0000-0000-000000000112} State System policy cache cleanout
{00000000-0000-0000-0000-000000000113} Scan by Update Source
{00000000-0000-0000-0000-000000000114} Update Store Policy
{00000000-0000-0000-0000-000000000115} State system policy bulk send high
{00000000-0000-0000-0000-000000000116} State system policy bulk send low
{00000000-0000-0000-0000-000000000120} AMT Status Check Policy
{00000000-0000-0000-0000-000000000121} Application manager policy action
{00000000-0000-0000-0000-000000000122} Application manager user policy action
{00000000-0000-0000-0000-000000000123} Application manager global evaluation action
{00000000-0000-0000-0000-000000000131} Power management start summarizer
{00000000-0000-0000-0000-000000000221} Endpoint deployment reevaluate
{00000000-0000-0000-0000-000000000222} Endpoint AM policy reevaluate
{00000000-0000-0000-0000-000000000223} External event detection

More Info: