본문 바로가기

카테고리 없음

Sccm Software Distribution Tool

In this post, I will cover four Free Tools for SCCM/ConfigMgr admins and community. These tools make SCCM admins life better. Have you ever used these ConfigMgr Ticker, Remote Manage, User Device Affinity and User Centric tools? If not, you are wasting loads of time in day to day SCCM/ConfigMgr operations. Here is the chance to automate some of your daily SCCM work.

Cireson has provided all these free community tools!ConfigMgr Ticker – SCCM Ticker – End User Device Notification ToolThe ConfigMgr Ticker app enables SCCM/ConfigMgr Admins to easily create and deliver Notification/announcements/popups from the SCCM Console to end user devices ( Real time). This tool can help you to provide notification in real time to all specific clients in the particular collection.Read More about SCCM notification/announcement tool and download from. Following are the four quick steps:-1. Create announcement/notification on either a device or user collection2. Configure text, background colours, and desired font size and enhancements3. Set the priority and the schedule4. Send by clicking OK. SCCM Remote Manage App – Simple Remote AdministrationRemote management has always been challenging in huge SCCM environments.

In house scripts and applications are not always optimised for all scenarios. SCCM/ConfigMgr Remote Manage App is a toolbox of standard remote functionalities. Its integration with SCCM/ConfigMgr and allows an SCCM admin to deploy software quickly, run diagnostic processes, view and manipulate services, processes, and view information – all without end-user interaction. Download and read More details about this tool from.User Device Affinity Tool – Makes UDA management EasyThere are over a half dozen ways to associate users to computers via SCCM – some automated, however most manual – which can lead to mistakes. The Cireson User Device Affinity app easily allows an SCCM admin to view and manage the relationships between users and devices. The process has completed outside the SCCM Console, which reduces complexity and confusion. Download and read More details about this tool from.SCCM ConfigMgr User Centric app – Makes App Deployment EasyThe Cireson User Centric – Community app allows you to easily identify which applications are ready for user centric software delivery, and for those that aren’t ready, automatically add the requirement to the application to support user centric software delivery.

Download and read More details about this tool from.

Preparing the environmentThe environment must have SCCM and corresponding SDK installed. You can download the SCCM SDK version 4.0 on the following link: System Center Configuration Manager 2007 Software Development Kit (SDK) v4.0. Create a new file with a.vbs file extension to make the VBScript code. The scripts will use WMI classes provided by the SCCM SDK to manipulate SCCM. In order for you to inspect those classes and even see the SCCM database data relative to those classes, you can use the a WMI explorer tool, I have used a PowerShell GUI named Wmi Explorer made by Marc van Orsouw.At this point we are ready to start scripting.Let's move on to the first task 'Create a software distribution package (including corresponding programs)'. Connect to provider namespace for local computerThe WMI namespace for SCCM is rootsms.

Sccm Software Center

Inside rootsms you will have a different namespace for each SCCM site you have, in the format rootsmssite. Beside them, other namespaces may also exist, like, for instance, rootsmsinvschema. Before you can do any operation, you must first connect to the WMI namespace rootsmssite where the corresponds to the SCCM site code to which you want to add the package. SWbemLocator object is used to establish an authenticated connection to a WMI namespace and can be understood as the top object on the WMI scripting library.The following code connects to rootsms, iterates through all its sites to locate the local site, and connects to it. You can also connect to a remote site (see How to Connect to an SMS Provider in Usefull Links). For future use, a reference to the Site object will be kept.

'Connect to provider namespace for local computer. Set objSWbemLocator = CreateObject('WbemScripting.SWbemLocator') Set objSWbemServices= objSWbemLocator.ConnectServer('.' , 'rootsms') Set ProviderLoc = objSWbemServices.InstancesOf('SMSProviderLocation') For Each Location In ProviderLoc If Location.ProviderForLocalSite = True Then Set objSWbemServices = objSWbemLocator.ConnectServer (Location.Machine, 'rootsmssite' + Location.SiteCode) Set Site = objSWbemServices.Get('SMSSite=' & Location.SiteCode & ') End If Next. Create the software distribution packageOnce you have a connection to SCCM Site, you can create a new package. The package is an object of the SMSPackage class which you can inspect with WMI Explorer.

Sccm software deployment toolDeployment

'Create package. Set newPackage = objSWbemServices.Get('SMSPackage').SpawnInstance 'Configure package properties newPackage.Name = 'Adventure Works Cycles Sample' newPackage.Description = 'Dinamically generated using VBS' newPackage.Version='2.0' newPackage.Manufacturer='Microsoft' newPackage.Language='ALL' newPackage.PkgSourceFlag = 2 newPackage.PkgSourcePath = 'C:SoftwaresStoreCSVS v2' 'Save changes Path=newPackage.Put wscript.echo 'Created package ' +PackageName 'Get the automatically assigned package ID for future use. Set Package=objSWbemServices.Get(Path) PackageID= Package.PackageID. Create the package programsNow you can create the package programs and associate them with the already created package. A program is an object of the class SMSProgram which you can also inspect using WmiExplorer.

SMSProgram from sdk version 4.0 has the following properties: ActionInProgress, ApplicationHierarchy, CommandLine, Comment, DependentProgram, Description, DeviceFlags, DiskSpaceReq, DriveLetter, Duration, ExtendedData, ExtendedDataSize, Icon, IconSize, ISVData, ISVDataSize, MSIFilePath, MSIProductID, PackageID, ProgramFlags, ProgramName, RemovalKey, Requirements, SupportedOperatingSystems, WorkingDirectory.The following code creates two new programs, one for install and one for uninstall, configures some of their properties, and saves changes using the Put method. Note that one of the properties of the program is the package ID of the package to which it bellongs, is this property that creates a relation between the already created package and the new program. Add the package to every distribution point availableOnce created, the package is ready to be added to distribution points. You can add the package to specific distribution points, but in this example we will show you how to add it to every distribution point available on the current site, to show you how to query the SCCM database to get the distribution points list. A distributoin point is an object of the class SMSDistributionPoint, which describes a location (NALPath - Network Access Location Path) where package source files are distributed to clients. A distribution point is allways associated with a given package, and a package can have several distribution points. The SMSDistributionPoint class has the following properties: BitsEnabled, IsPeerDP, IsProtected, ISVData, ISVDataSize, LastRefreshTime, PackageID, RefreshNow, ResourceType, ServerNALPath, SiteCode, SiteName, SourceSite, Status.The following code queries the SCCM database to get a list of all distribution points, they are stored on the SMSSystemResourceList table with the role name 'SMS Distribution Point'.

For each distribution point resource found, a new instance of SMSDistributionPoint is created, configured, and saved.Comment by Neven Radic; This code will add packages to all site DPs, not to every DP in environment if SCCM SDK isn't installed on the server. Set AllDPs = objSWbemServices.ExecQuery('Select. From SMSSystemResourceList WHERE RoleName='SMS Distribution Point' AND SiteCode=' & Site.SiteCode & ') For Each DP In AllDPs Set newDP = objSWbemServices.Get('SMSDistributionPoint').SpawnInstance newDP.ServerNALPath = DP.NALPath newDP.PackageID = PackageID newDP.SiteCode = Site.SiteCode newDP.SiteName = Site.SiteName newDP.Put NextAt this point we have completed the second task 'Add the package to every distribution point '.Let's move on to the task 'Advertise one of the package programs to a specific collection'. Advertise the Install Program to a specific collectionIn this task we will advertise the Install program to the collection named 'All Business Application Servers'. A collection is an object of the class SMSCollection and contains the following properties: CollectionID, CollectionRules, CollectionVariablesCount, Comment, CurrentStatus, LastChangeTime, LastMemberChangeTime, LastRefreshTime, MemberClassName, Name, OwnedByThisSite, RefreshSchedule, RefreshType, ReplicateToSubSites, ServiceWindowsCount.

Set objSWbemLocator = CreateObject('WbemScripting.SWbemLocator') Set objSWbemServices= objSWbemLocator.ConnectServer ('.' How to set the remote flag for the programFlags specifying how the program should run when the client is connected either locally or remotely to a distribution point. The default value is 48. Following the binary to decimal conversion process. In the case of the 11th digit the binary value is a one with 10 trailing zero's.

Install

When you want to specify multiple flags, you must use the OR operator with the the decimal values. The following flags (I converted its binary digit to decimal).