May 5, 2016

wuauclt "Report Now" vs "Detect Now"

When you execute "wuauclt /detectnow", you are telling the computer to seek for new updates. If it is a managed computer (under WSUS or Patch Manager), that's what it'll check against; otherwise it would be Microsoft's Update Servers.

When you execute "wuauclt /reportnow", you are telling the computer to inform the WSUS/Patch Manager server of its update status.

SCCM client uninstall

Remove to manually clean-up all the traces of the client

1. SMS Agent Host Service
2. CCMSetup service (if present)
3. \windows\ccm directory
4. \windows\ccmsetup directory
5. \windows\ccmcache directory
6. \windows\smscfg.ini
7. \windows\sms*.mif (if present)
8. HKLM\software\Microsoft\ccm registry keys
9. HKLM\software\Microsoft\CCMSETUP registry keys
10. HKLM\software\Microsoft\SMS registry keys
11. root\cimv2\sms WMI namespace
12 root\ccm WMI namespace

Microsoft ConfigMgr 2012 – Client Log Files


The most important log files







AppDiscovery.log
Detects installed Application Deployment Types and if deployed Deployment Types are not installed, this log file will show you why (only for the new style ConfigMgr Applications)
AppEnforce.log
will show you the actual command-line executed and the resulting exit code for each Deployment Type (only for the new style ConfigMgr Applications)

AppIntentEval.log
evaluates each Deployment Type’s dependencies and policies (only for the new style ConfigMgr Applications)
AssetAdvisor.log
inventories all installed software (not 100% sure)
CAS.log
Content access service, discovers DPs, download sources and maintains local cache
CCM32BitLauncher.log
logs all command-lines for executed packages (old style ConfigMgr)
CCMEval.log
depends on %windir%ccm\ccmeval.xml and checks the CCM client’s health
CCMEvalTask.log
checks if the CCMEval Task has run
CCMExec.log
monitors the client and CCMExec service
ClientIDManagerStartUp.log
creates and maintains the client’s GUID
ClientLocation.log
determines the assigned ConfigMgr site
CMRcService.log
ConfigMgr Remote Control Service
ContentTransferManager.log
controls BITS or SMB download of ConfigMgr packages
DataTransferService.log
monitors all package downloads
dism.log
monitors dism.exe process during OSD (e.g. driver injection)
EndpointProtectionAgent.log
System Center Endpoint Protection is now integrated into ConfigMgr 2012 and this is its log
ExecMgr.log
logs all deployed packages (old-style) and associated programs and policies
FileSystemFile.log
log for software inventory and file collection
InventoryAgent.log
logs DDRs (Discovery Data Records) for hardware and software
LocationServices.log
finds Management Points, Distribution Points, Software Update Points
MaintenanceCoordinator.log
is in control of all the ConfigMgr client’s maintenance tasks
mtrmgr.log
software metering
oobmgmt.log
Out of Band management, for internet-based clients
PolicyAgent.log
requests policies assigned to machine or user
PolicyAgentProvider.log
monitors any changes to policies
PolicyEvaluator.log
keeps track of new policies
pwrmgmt.log
monitors power management activities on the client
RebootCoordinator.log
collects information about reboots after software update installations
ScanAgent.log
scans the client for need of software updates
SCClient_%domain%@%user%1.log
Software Center Client for a specific domain and user, deployments will show up in here
Scheduler.log
records scheduled ConfigMgr tasks
SCNotify_%domain%@%user%1.log
Software Center Client for a specific domain and user, logs notifications regarding deployments
ServiceWindowManager.log
monitors existing service windows for the client in which for example software is allowed to be installed
smscliui.log
records usage of ConfigMgr UI in system panel
smssha.log
log file for Network Access Protection Agent
smsts.log
Task Sequence log
SoftwareCenterSystemTasks.log
logs Software Center’s process (startup, end)
StateMessage.log
sends software update states to MP
StatusAgent.log
logs events created by ConfigMgr Agent components
SWMTRReportGen.log
generates usage data report
TSAgent.log
logs the process before a TaskSequence starts up, e.g. download of policies
UpdatesDeployment.log
shows information regarding Software Updates, if for example updates are enforced or assigned
UserAffinity.log
new model of “User Device Affinity” (UDA), checks if there is an existing UDA for the machine or creates/sends a new UDA to the MP
















































































Windows Update Agent RESET batch script

This Script allow reset the Windows Update Agent resolving issues with Windows Update.

@ECHO OFF
echo Simple Script to Reset / Clear Windows Update
echo.
PAUSE
echo.
attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc
net stop BITS
ren %windir%\system32\catroot2 catroot2.old
ren %windir%\SoftwareDistribution sold.old
ren "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader" downloader.old
net Start BITS
net start CryptSvc
net start wuauserv
echo.
echo Task completed successfully...
echo.
PAUSE

WSUS Clean - Powershell script

 This little script will perform a clean up of declined and superceded updates in the WSUS database.  It uses the .Net class "Microsoft.UpdateServices.Administration" assembly, which should be loaded on your WSUS server.  Note that this script will stop the WSUS service twice, but these services will be restarted correctly by the script, and no user action is needed.


$outFilePath = '.\wsusClean.txt' 
[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration"| out-null 
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer(); 
$cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope; 
$cleanupScope.DeclineSupersededUpdates = $true        
$cleanupScope.DeclineExpiredUpdates         = $true 
$cleanupScope.CleanupObsoleteUpdates     = $true 
$cleanupScope.CompressUpdates                  = $true 
#$cleanupScope.CleanupObsoleteComputers = $true 
$cleanupScope.CleanupUnneededContentFiles = $true 
$cleanupManager = $wsus.GetCleanupManager(); 
$cleanupManager.PerformCleanup($cleanupScope| Out-File -FilePath $outFilePath 

Hierarchy with CAS

SCCM 2012 Standalone Primary Server Step-by-Step Guides