Archive for the 'Software Distribution' Category
Posted by Eswar Koneti on 31st May 2013
Recently i worked on issue with SCCM Client.Many applications are Advertised in Run Advertised programs as Optional(Optional can be set either not having mandatory schedule or allow users to run independently while creating Advertisement ).
But none of the applications are running successfully from RAP .So verified CAS.log ,Datatransfer.log to see if any issues with content downloading to cache but they do work it.
Next to look execmgr.log : From this log,what i noticed is ,Client is able to download the content and start the program command line but it failed with error message:
CreateProcess or CreateProcessAsUser failed to execute command line with non-recoverable error 2
if you try ctrl+L from your trace32.exe and look for Error 2, it tells you,system can not find the file specified.
There is nothing wrong with program command line as it works well on all other clients.
Why does all the applications failed on this particular computer ?? Because Script DLL files are corrupted ,it requires to reregister them again.
Below are the DLL files to register.
regsvr32.exe -i shell32.dll
Restart the computer ,try to run the applications from RAP window. It works this time
Tags: Applications failed to run from RAP, CreateProcess or CreateProcessAsUser failed, execmgr.log, non-recoverable error 2, Run Advertised prorgams
Posted in SCCM 2007, Software Distribution, Trobleshooting Tips | No Comments »
Posted by Eswar Koneti on 13th March 2013
This is Continuation to previous post package archival process.up on the query results,I would not delete the packages from console directly rather i delete them from its assigned Distribution points and move them to Archive folder and let be there for sometime until for sometime incase if it is required.
If you have large number of packages,you may find difficult in moving the packages by identifying where they reside (if you have subfolders).If you have less packages <10,you may use the report to know the root path of the package and then right click on the package Move to archive folder by appending Retired to the existing package name to know package is retired.
If you have multiple packages,moving one by one is not easy thus you require something like script or tools.
Moving package using script may require to get the Source folder ContainerID number of the packages(Folder of the package) and Destination Folder ContainerID(Archival folder ID).
Here is the SQL query for the list of moving packages to know their Source Folder ContanerID.
From the package clean up report,if you get multiple packages,just place them in IN condition separated by comma (,).
I have packageID cen00004 which i need to move to archive folder with containerID=4 from SQL query below
select B.ContainerNodeID,B.NAME,A.InstanceKey from dbo.FolderMembers a,.dbo.Folders b where
a.ContainerNodeID=b.ContainerNodeID and b.Name like ‘%archive%’
Replace the folder name if you have other one.
Now we have list of packages with their source ContainerNodeID(which is nothing but the package FolderID).
Create a VB script with below syntax with input of all package IDs separated by commas with their source folder and destination folder.
Note : Please replace quotes (‘”) as they are replaced by fancy.
‘On error resume next
Dim strSMSServer, strSMSSiteCode, strPackageIDs
Dim intSourceFolder, intDestFolder, intObjectType
Dim loc, objSMS
strSMSServer = "SCCM server Name"
strSMSSiteCode = "SiteCode"
strPackageIDs = inputbox("Please input packageIDs separated by commas","List of packages to be moved")
intSourceFolder =inputbox("Please input Source folder ContainerID number", "Source ContainerID") ‘This ID is what you see in above SQL query to move all packages from the same folder test =1.
intDestFolder =4 ‘Destination Folder for Archived packages :In this case,My archive package folder is 4.
intObjectType = 2 ’2=Package for type of object .This scripts works only for standard software distribution packages.
Set loc = CreateObject("WbemScripting.SWbemLocator")
Set objSMS = loc.ConnectServer(strSMSServer, "root\SMS\site_" & strSMSSiteCode)
Set objFolder = objSMS.Get("SMS_ObjectContainerItem")
arrPackageIDs = Split(strPackageIDs, ",")
retval = objFolder.MoveMembers(arrPackageIDs, intSourceFolder , intDestFolder , intObjectType)
If Err.Number <> 0 Then
MSGBOX "Script is completed"
You may get multiple packages with different source Folders.So you will have to run the script to move bulk packages from each source folder to Destination at one go.
It is better than moving one by one package each time.
Hope it helps!
Tags: Archive folder, configuration Manager, ContainerNodeID, FolderMembers, MoveMembers, SCCM, SCCM Script move packages, Script move packages in SCCM
Posted in ConfigMgr (SCCM), SCCM, SCCM 2007, Scripting, Software Distribution, SQL Quiries | No Comments »
Posted by Eswar Koneti on 27th February 2013
Long ago ,written SCCM report to list packages not used for 6 months as part of Package Archival process http://eskonr.com/2012/11/sccm-configmgr-package-archival-process-cleanup-activity/ .This report tells you to take further action to clean or move to Archive folder to wait for some more months before it goes for Deletion.
What next ? Delete these packages from Assigned DPs to get some disk space ?
You may find several scripts to do this task on the internet but, i find this is easy for me to get this activity done.
Identify list of package which you want to remove ,pipe them to notepad .You can do more customizations if needed.
‘Script to delete packages from its assigned Distribution Points.
strComputer =inputBox("Please Enter the SMS provider OR Site where the packages are created" , "SCCM Server name")
Set FSO = CreateObject("Scripting.FileSystemObject")
Do While packages.AtEndOfLine <> True
‘read the next line
package = packages.Readline
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\SMS\site_CEN")
if err.number<>0 then
msgbox "server connection failed"
Set colItems = objWMIService.ExecQuery("SELECT * FROM SMS_DistributionPoint where packageid=’" & Package & "’")
For Each objItem in colItems
‘Wscript.Echo "ServerNALPath: " & objItem.ServerNALPath
objoutputfile.WriteLine ( package & vbTab & " will be deleteting from" & VBTAB & objItem.ServerNALPath)
If Err.number <> 0 Then
objoutputfile.WriteLine ( "Failed to delete" & vbTab & package & "from" & vbTab & objItem.ServerNALPath)
Note: Please Replace the quotes.
Tags: configmgr, Delete packages from DP, Distribution Point delete packages, SCCM, script, VB Script to remove packages from Assigned DP
Posted in CM2012, ConfigMgr (SCCM), Configmgr2012, Distribution Point, SCCM 2007, SCCM 2012, SCCM Tools, Scripting, Software Distribution, System Center 2012 Configuration Manager, WMI | 1 Comment »
Posted by Eswar Koneti on 28th January 2013
Old post but useful to share from J.C.HornBeck .We all know there are some hidden files(they are kind of secret files) which are available since Since Many years( I would think from SMS 2003 or may be from 2.0) in order to activate or deactivate some features in SMS/SCCM 2007 /SCCM 2012 (now) on client side or server side, such as preventing Software Inventory for a particular folder or preventing the installation of ConfigMgr files on a machine. Here’s some information on some of those files and how you might use them to control your Configuration Manager environment. The files are as follows:
So what do these files do?
This file can be used for skipping the Software inventory Process for a partition or for a folder. If you want to prevent software inventory on a drive/partition or folder you can create a hidden file named SKPWI.DAT and place it on the root of the drive/partition/folder.
When do you, or can you use it?
In order to avoid the overhead of running software inventory on large disks with a large number of files that you do not need collected, you can create a hidden file named Skpswi.dat and place it in the root folder of each disk drive that you want excluded from software inventory. From that point forward, no software inventory will occur for those drives or folders unless the Skpswi.dat file is removed.
The Skpswi.dat file can also be used to avoid a software inventory collection rule. For example, if you have a rule to inventory "\WINDOWS", that entire folder tree will be skipped on any Configuration Manager client that has a Skpswi.dat file in the \ WINDOWS folder. Disks with a Skpswi.dat file are not scanned to find files that are to be collected.
You can also place this file in the root of any folder structure you want to exclude from software inventory. This procedure can be used to disable software inventory on a single workstation or server client, such as a large file server. Software inventory will not inventory the client drive again unless this file is deleted from the drive on the client computer.
For more information see the following:
How to Exclude Folders From Software Inventory: http://technet.microsoft.com/en-us/library/bb632671.aspx
ConfigMgr (SCCM) – Skip Software Inventory : http://social.technet.microsoft.com/wiki/contents/articles/6568.configmgr-sccm-skip-software-inventory.aspx
This is a client side file and is used when hardware/software inventory troubleshooting needs to be done.
When troubleshooting ConfigMgr client software or hardware inventory, you might want to retain the XML files that contain details on what the latest scan discovered (regardless whether the scan was a full scan or just a delta). In order to do this, we have to create a file named “archive_reports.sms” within %systemroot%\system32\ccm\inventory\temp\ or within %systemroot%\SysWOW64\ccm\inventory\temp\ depending if the machine is x64 or x86. Normally, on a regular client this would be as follows: C:\WINDOWS\system32\CCM\Inventory\temp\
Read the rest of the post http://blogs.technet.com/b/configurationmgr/archive/2012/09/17/controlling-configuration-manager-2012-using-hidden-files.aspx
Tags: ARCHIVE_REPORTS.SMS, configuration Manager 2012, hidden files in CM12, inventory report archive_report.sms, NO_SMS_ON_DRIVE.SMS, SCCM 2012, Skip inventory using skpswi.dat, Skpswi.dat
Posted in CM2012, ConfigMgr (SCCM), Configmgr2012, SCCM 2007, SCCM 2012, Service Pack 1, Setup & Deployment, Software Distribution | 2 Comments »
Posted by Eswar Koneti on 15th January 2013
The way SCCM Configmgr 2012 object information stored is changed from CM07 with respect to tables/views.
In SCCM Configmgr 2012,Status of content stored in dbo.vSMS_DistributionDPStatus view.This view basically contains information about packageID,content status,objectTypeID like what type of package is it(boot image or package/Application etc) and status message ID.
These status Message IDs and State Message IDs are translated here in more description way which will help you to take necessary action to fix them.
What is status messages and State Messages : status messages provide information about component behavior and data flow, whereas state messages provide a snapshot of the state of a process at a specific time. To know more about state messages,read here
Based on these status Message IDs,you can write customized SSRS report to know the status of package. (note: package can be treated as application,Boot images,SU packages etc).
You can use Case Statement while using these Status Messages Ids to put the description filed in reports.
|Status Message ID:
||Content was successfully refreshed
||Failed to initialize NAL
||Failed to access or create the content share
||Content was distributed to distribution point
||Failed to validate content status file
||Content transfer manager was instructed to send content to Distribution Point
||Status message 2360 unknown
||Failed to install distribution point
||Waiting for prestaged content
||Waiting for content
||Content evaluation has started
||An evaluation task is running. Content was added to Queue
||Content hash is invalid
||Failed to validate content hash
||Content hash has been successfully verified
||Failed to connect to remote distribution point
||Content Status not found
||Failed to update package
||Content is being distributed to the distribution Point
||Failed to update package
Message State IDs from dbo.vSMS_DistributionDPStatus :
|state Message IDs
here is the case statement for the status Message ID’s:
select PackageID, Name, StatusMessage =
WHEN ’2384′ THEN ‘Content hash has been successfully verified’
WHEN ’2330′ THEN ‘Content was distributed to distribution point’
WHEN ’2303′ THEN ‘Content was successfully refreshed’
WHEN ’2323′ THEN ‘Failed to initialize NAL’
WHEN ’2324′ THEN ‘Failed to access or create the content share’
WHEN ’2354′ THEN ‘Failed to validate content status file’
WHEN ’2357′ THEN ‘Content transfer manager was instructed to send content to Distribution Point’
WHEN ’2360′ THEN ‘Status message 2360 unknown’
WHEN ’2370′ THEN ‘Failed to install distribution point’
WHEN ’2371′ THEN ‘Waiting for prestaged content’
WHEN ’2372′ THEN ‘Waiting for content’
WHEN ’2380′ THEN ‘Content evaluation has started’
WHEN ’2381′ THEN ‘An evaluation task is running. Content was added to Queue’
WHEN ’2382′ THEN ‘Content hash is invalid’
WHEN ’2383′ THEN ‘Failed to validate content hash’
WHEN ’2391′ THEN ‘Failed to connect to remote distribution point’
WHEN ’2398′ THEN ‘Content Status not found’
WHEN ’8203′ THEN ‘Failed to update package’
WHEN ’8204′ THEN ‘Content is being distributed to the distribution Point’
WHEN ’8211′ THEN ‘Failed to update package’
ELSE ‘I dont know this MessageID’
END, LastUpdateDate, Status_at_LastUpdateDate =
WHEN ’1′ THEN ‘Success’
WHEN ’2′ THEN ‘In Progress’
WHEN ’4′ THEN ‘Failed’
ELSE ‘I dont know this MessageState’
ORDER BY PackageID;
—-Reference Via danrichings Blog
Tags: and State Message IDS, Content Status View, dbo.vSMS_DistributionDPStatus, Discription of State and Status Message IDs, distribution Content, SCCM 2012, status Message IDs
Posted in CM2012, ConfigMgr (SCCM), Configmgr2012, Distribution Point, SCCM 2012, SCCM Reports, Software Distribution, SQL Quiries, SSRS, SSRS Reports, System Center 2012 Configuration Manager | 2 Comments »
Posted by Eswar Koneti on 7th December 2012
Another interesting package replication problem.John Marcum posted solution on his blog with DB edit but that did not solve my problem though package issue is similar.
I have to do couple of more things to fix the issue what John said in his blog. Am not going to explain more about why it happens etc. If you interested,Read Johns Blog.
When you do Preload for Bulk number of PCK file,Sometimes you may not succeeded in decompressing all the files and arise issues like below from distmgr.log .
From the console,if you look at package status,you end up with Install pending .
The error message from distmgr.log :
“A newer version (21) of package xxx000C1 has already arrived, delete the replication file F:\SMS\inboxes\distmgr.box\INCOMING\4EE5A01M.PCK for version 19”
Tried refreshing the package ,removing from DP and Reading ,did not help.
In order to fix this error,i have to do couple of things . 1) Edit the Database 2) Delete the files from pkginfo.box,distmgr.box
Note : Directly editing the DB is not supported unless you really know what you are doing else do not proceed. and ensure you have Database Backup before you do this.
1) Edit DB to change the PCK Source Version to 0.
Set Status = ’2′, SourceVersion = ’0′
Where ID = ‘P01005DC’ and sitecode=P01′ and type=’1′
If this is child site and reporting to another Site,Do the same procedure until you reach Central site.
As per John Article,After refreshing the package,it did not succeded and it still gives me the same error .If John procedure works, Well and Good else Follow the below step to fix it.
2) Next delete the package files from pkginfo.box(ICO,NAL,PKG) and distmgr.box(PKG) for the specific package.
Now Refresh the package from central/Primary where it is created and monitor Distmgr.log file on problem site.
You see something like below after package refresh replication to problem site.
Updated Replicated package server
Updated replicate package program info for package
Successfully processed .PKG file
Also you see something like below
The compressed files for package P01XXXXX hasnt arrived from the site P01 Yet, will try later
Preload the latest PCK file now using Preloadpkgonsite tool, You will see the decompress of the package
Tags: Decompress of package not done, delete the replication file, issue A newer version of package has already arrived, Package install pending, Package repication Issues, Preloadpkgonsite, SCCM 2007, SCCM package replciation issue, The compressed files for package hasnt arrived from site Yet, will try later
Posted in ConfigMgr (SCCM), Distribution Point, Replication, SCCM 2007, Software Distribution, Troubleshooting Issues | No Comments »
Posted by Eswar Koneti on 30th November 2012
Thought of sharing Valuable Videos by Our SCCM Guru Wally Mead from different Locations.Worth Watching it
Since there are many videos from Wally Mead On SCCM 2012 ,Posting all in One post may slow down the browsing of website initially for sometime.so splitting the videos to multiple posts with Tile of the videos in each post.
System Center Configuration Manager 2012 Windows 8 Support, Wally Mead
ConfigMgr 2012 Software Distribution Part 1 – With Johan
ConfigMgr 2012 Software Distribution Part 2 – With Johan
Interview with Wally Mead about System Center 2012 Configuration Manager and SP1
SCCM GURU Webcast Series – Episode 1:
Rest Go Through http://eskonr.com/2012/11/sccm-2012-wally-mead-sessions-2/
Tags: configuration Manager 2012, FEP 2012, SCCM 2007 to SCCM 2012 Upgrdation, SCCM 2012, SCCM 2012 Videos, SCCM 2012 Videos by from Wally Mead, SCCM Guru Wally Mead, Software distribution Videos, Technical Videos SCCM 2012
Posted in Installation Guides, OS Deployment, SCCM 2012, SCCM Videos, Setup & Deployment, Software Distribution, Symantec EndPoint Protection, Trobleshooting Tips, WebCasts/Videos | No Comments »
Posted by Eswar Koneti on 30th November 2012
SCCM Package Clean Up activity? When you Build SCCM in your Environment, you create lot of packages to deploy onto clients But later sometime, you get updated versions for it or no more in use.
Packages which are not in use resides in Database and occupies disk space on the source server as well on the Distribution Points.
As SCCM admin guy, you should look at package clean up activity once in year or so depends on the requirement.
For Packages which has no advertisements, look here http://eskonr.com/2012/10/sccm-report-software-distribution-packages-with-no-advertisements/
Use this report to list packages which are not used recently for 1 year based and it is filtered with its advertisement status. This will not get the packages which are used in Task Sequences.
If you have any packages which are not used for 1 year but still if they are part of Task Sequence, you won’t see the results.
A.AdvertisementName AS [Advertisement Name],
A.PresentTime AS Created,
MAX(CAS.LastStatusTime) AS [Last Time Used],
(SELECT COUNT(PkgID) FROM vPkgStatusSummaryDistPts WHERE PkgID = p.PackageID) AS [No of DP]
INNER JOIN v_Advertisement A ON P.PackageID = A.PackageID
INNER JOIN v_ClientAdvertisementStatus CAS ON A.AdvertisementID = CAS.AdvertisementID
(CAS.LastStateName != ‘Accepted – No Further Status’)AND
p.PackageID NOT IN (SELECT ReferencePackageID FROM v_TaskSequenceReferencesInfo) and p.Packagetype=0
(MAX(CAS.LastStatusTime) IS NOT NULL)
AND datediff(mm,MAX(CAS.LastStatusTime),getdate()-365) > 0
Tags: Advertisement report, Clean up sccm packages, packages not used, SCCM 2007, SCCM Package Archival Process, sccm report, SCCM report Clean up Activity for Packages, Task sequece packages
Posted in SCCM 2007, SCCM Reports, Software Distribution, SQL Quiries | 4 Comments »
Posted by Eswar Koneti on 13th November 2012
Dell Safranka Recently posted Nice Article on Configmgr 2012 DP and how Single Instance Store works and how to notice them but it is in Hungarian Language ,I try to post the content in English here.
The Configuration Manager 2012, the distribution points for the more efficient use of disk space to a single method of storage for file-level, single instance store. It is somewhat more difficult to check whether a particular package includes all right lejutott the distribution points. Here are the steps I want to present in this post:
The installation kits for each of the folders that contain the source files to the Deployment Type to specify the Location of the Content separate:
You can check the contents of this how to has a DP from content status in the following way:
We know the application (Application). To do this, in the console, under the Monitoring of the Status of the Distribution Content Statust application and look for the description of the part and look at the "Package ID":
Then, the distribution point, the "SCCMContentLib" folder, navigate to the "PkgLib" folder and then open the Package ID to.INI file. In this we find the Application Deployment Type-r content identifiers ("<számok> Content_)
You can then navigate to the "SCCMContentLib" folder in the "DataLib" folder and open it in looking for "belonging to the Deplyoment Content_ Type" folder. It contains the original source folder structure and files, once again, a description of the .INI FILE:
Then open the a file in the INI file and look at the file’s Hash and write down the first four characters:
You can then navigate to the "SCCMContentLib" folder in the "" folder and FileLib open file hash for the first four characters. (hint: use the Windows Explorer browser, because the sort order can be confusing). The contents of the open folder:
Then, find the file, in this case, the real has the "Setup.exe" file data (and hash verification):
This change is due to the introduction of the file adatduplikáció at the level of the ConfigMgr for 2012 was required, thereby increasing the distribution points use the mass storage. Note that the hash of the count, just CPU resources can enter into. The added benefit is that it is possible to leelenőrizzük that are actually valid content in the distribution points. This or manually in the Administration\Distribution Points by selecting the DP under the Properties tab and then click the "Content" tab in the "Validate" button, or by using the application evaluates Content Locations "tab" in the "Validate" button allows you to:
Or you can check out the content automatically perform scheduled installations (not recommended, only if a particular case is going to be "suspicious" DP thing). To do this, the Administration\Distribution Points by selecting the DP, under the Properties tab and then click on the "Content Validation" tab.
Original Post :http://blogs.technet.com/b/scm/archive/2012/11/13/configuration-manager-2012-dp-k-233-s-single-instance-store.aspx
Tags: CM12, configuration Manager 2012.Content Locations, Deployments, Distribution Point, Efficient Use of Disk Space, SCCM 2012, Single Instance Storage, System cener 2012 Configuration Manager
Posted in Distribution Point, Documentation, SCCM 2012, Setup & Deployment, Software Distribution, Trobleshooting Tips | No Comments »
Posted by Eswar Koneti on 13th November 2012
SCCM 2007 has three basic types of distribution points i.e Standard, Server Share and Branch Distribution Points. Each role had benefits, but there was not always one type that met all the administrator requirements.
This concept is now changed in SCCM 2012 and had come with one Role which is standard distribution point which merges Standard, Branch and Server Share distribution points.
This Distribution Point now has a new storage format called the Content Library. The Content Library replaces SMSPKG shares as the default folder structure to host content. The Content Library now stores all content on the distribution point in a single instance storage, this means each unique file is only stored once on the distribution point, regardless of how many times it is referenced by a package. It also stores the file once on the distribution point even if it is contained in multiple packages!
For more information about Distribution Point Role changes in configmgr 2012 http://blogs.technet.com/b/inside_osd/archive/2011/03/28/configuration-manager-2012-distribution-points-and-pxe-services.aspx
How to install Distribution Point Role on Windows 8 workstation in Configmgr 2012 .
Before you proceed with installing and configuring role on windows 8 machine,ensure you all prerequisisites.
Add the site system Computer (Primary or secondary site) as local administrator on Windows 8 Computer to install DP role.
From SCCM configmgr 2012 SP1 console,right click on Servers and Site system roles
Choose the Right Site here and this site computer name should be added member of Local administrators group workstation.
You have only Distribution Role to configure.
since we do not have WDS on windows 8 workstation,nothing to do in PXE Settings
also No Multicast settings
if you need to validate the Content on a Schedule basis ,configure it
Add the Windows 8 workstation to right Boundary Group. More information about Boundary Group http://technet.microsoft.com/en-us/library/gg699359.aspx
Start monitoring the Distribution Point role from monitoring Node–>Distribution Status—>Distribution Point configuration Status
also you can start monitoring the distmgr.log from secondary site Since the Win8 is assigned to Secondary site.
Which you can also monitor from Details summary on the DP.
also you can verify on Windows 8 Machine if the Folders are created or not.
To Distribute the Content to win8 DP,you can either add the Site to Distribution Point Group so that it takes all the packages which are part of this DP group will be distributed.
To monitor the package status on windows 8 machine,take a look at Distmgr.log from secondary site which will send the packages to Windows 8‘
Here are the entries from IIS to check if the content is available or not.
Tags: Config mgr 2012 SP1 Beta, configuration Manager, Distribution Point, Distribution Role on Windows 8, How to configure windows 8 as DP, Install DP role on workstation, SCCM, System cener 2012 Configuration Manager, windows 8, Windows 8 as DP, Windows 8 as DP role
Posted in Distribution Point, SCCM 2012, Software Distribution, windows 8 | 2 Comments »