HTA FrontEnd / Web Interface / App For Techs To Deploy SCCM Packages
Good Afternoon All! I'm currently looking for a FrontEnd / Web Interface / App which my techs can use to deploy pre-configured packages to workstations. Basically, the only thing I'd like to have is where they could type in or lookup a hostname, select a package from a dropdown, then click Deploy for it to automatically advertise it. I've installed Maik Kosters Web Services 7.2 which has many options which are similar, but I'm looking for something plain and simple. I'd prefer a web interface, but I guess an app or whatever else would work fine as well. Any ideas are appreciated! - Thanks!Ben K.
July 25th, 2011 4:47pm

you could have a look at appscriber : http://immidio.com/appscriber/ basically it works with security groups and enables the user to go to an intranet frontend, which then triggers the application installation.
Free Windows Admin Tool Kit Click here and download it now
July 26th, 2011 4:40am

If you want something free, you could always use Ron Crumbaker's Web Remote Console 3.21 One of the pieces of it is you could define a collection; with no members. It's sole purpose is to be at the top of a list of subcollections. Those subcollections would then be things like "Acrobat Reader 10.0.2", or "My Company Application 1.0". Those subcollections are targets for the advertisements of those things. http://www.myitforum.com/myitwiki/SCCMTools.ashx#RonCrumbakerWebRemoteTools3.21 within Ron Crumbakers' machrest.asp, you input that top collectionid.Standardize. Simplify. Automate.
July 26th, 2011 9:48am

The company I work for has an HTA that is used by the Help Desk for installing applications. No idea where it came from; they got it before my time. It reads the SCCM database and displays in a drop-down list all Software Distribution Packages with an Advertisement. It also looks in the All Systems Collection (I think) and has a drop-down of all computers. Finally, it authenticates through AD. The only thing not built into the HTA is a Machine Policy Retrieval, so it takes 30 minutes to get the app installed (our client policy is 30 minutes). It's actually pretty cool. Email me privately at jlurie15<at>gmail<dot>com and I will send it to you. You will need to mondify it to your own environment (Site Code, Provider Name, etc...). --Joe.
Free Windows Admin Tool Kit Click here and download it now
July 26th, 2011 10:05am

Thanks - I've actually installed that and tried to use it with little success. I got it to open up, list hosnames, and find out the current user on hostnames, but the Packages list never populated. I poked around a lot in the config files, but never could get it to work. The below except was taken from the packages population part, but no matter what I changed, I couldnt get results. I tried posting in the myitforum forums, but got no reply. Any idea what I may be doing wrong? SCCM & SQl are on the same box running Windows 2008 x64 R2 & SQL Server 08 R2. One More Thing... When I first browse to the page, every time it first pops up a window saying "Query Returned 0 Records" What gives? Thanks! - Ben Code: 'Code for populating the Drop down menu with the Sub-Collections. This was taken from Michael Shultz's example on myITfourm.com Modified 'slightly to work with SMS 2003. Sub FillInCollections dim oCollection ' SMS_Collection object dim oCollectionSet ' Collection of SMS_Collection objects dim strQuery ' String for the Query dim lLocator ' SWbemLocator object dim gService ' SWbemServices object dim strSiteServer, strSiteCode, strStandingAdvertID 'You will need to edit the following line to fit your environment. SMSServer = Your SMS Server. Leave the "" strSiteServer = "TNSCCM01" 'You will need to edit the following line to fit your environment. SMSSite Code = Your 3 Digit Site Code. Leave the "" strSiteCode = "PAN" 'You will need to edit the following line to fit your environment. strStandingAdvertID = "PAN0015F" 'For Example: "XR10001c" this is the topmost collectionID of the collections tree that you want in the drop down set lLocator = CreateObject("WbemScripting.SWbemLocator") set gService = lLocator.ConnectServer(strSiteServer, "root/sms/site_" & strSiteCode) Ben K.
July 26th, 2011 2:40pm

I banged out a quick script (sorry for the roughness of it), which returns all package details in SCCM. You just need remove the irrelevant outputs and integrate the dropdown population code. 'On Error Resume Next Dim connection Dim computer Dim password Dim Server Dim strSCCMServer Dim strSiteCode Dim objSMS Dim objLoc strSCCMServer = "domainfqdn.example.com" strSiteCode = "NTX" Set objLoc = CreateObject("WbemScripting.SWbemLocator") Set objSMS = objLoc.ConnectServer(strSCCMServer, "root\sms\site_" & strSiteCode) Set objFSO = CreateObject("Scripting.FileSystemObject") Set connection = connect Function Connect Dim net Dim localConnection Dim swbemLocator Dim swbemServices Dim providerLoc Dim location Set swbemLocator = CreateObject("WbemScripting.SWbemLocator") swbemLocator.Security_.AuthenticationLevel = 6 'Packet Privacy Set net = CreateObject("WScript.NetWork") If UCase(net.ComputerName) = UCase(server) Then localConnection = true server = strSCCMServer End If Set swbemServices= swbemLocator.ConnectServer _ (strSCCMServer, "root\sms") If Err.Number<>0 Then WScript.Echo "Couldn't connect: " + Err.Description Connect = null Exit Function End If Set providerLoc = swbemServices.InstancesOf("SMS_ProviderLocation") For Each location In providerLoc If location.ProviderForLocalSite = True Then Set swbemServices = swbemLocator.ConnectServer _ (strSCCMServer, "root\sms\site_" & strSiteCode) If Err.Number<>0 Then WScript.Echo "Couldn't connect:" + Err.Description Connect = Null Exit Function End If Set Connect = swbemServices Exit Function End If Next Set Connect = null ' Failed to connect. End Function Sub ExportPackageProgramInfo(connection) Dim packageQuery, allPackages, packageID, package, programsforPackage, program, packageCount packageCount = 0 packageQuery = "SELECT * FROM SMS_Package" Set allPackages = connection.ExecQuery(packageQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately) For Each package In allPackages packageCount = packageCount + 1 WScript.Echo "" WScript.Echo "**************************************************************************************" WScript.Echo package.PackageID & " : " & package.Name If Not IsNull(package.PkgSourcePath) Then WScript.Echo package.PkgSourcePath End If WScript.Echo "**************************************************************************************" packageID = package.PackageID packageQuery = "SELECT * FROM SMS_Program WHERE PackageID='" & packageID & "'" Set programsForPackage = connection.ExecQuery(packageQuery, , wbemFlagForwardOnly Or wbemFlagReturnImmediately) If programsForPackage.Count < 1 Then WScript.Echo "This package has no programs" WScript.Echo "" End If For Each program In programsForPackage WScript.Echo "Program: " & program.ProgramName WScript.Echo " ActionInProgress: " & program.ActionInProgress WScript.Echo " ApplicationHierarchy: " & program.ApplicationHierarchy WScript.Echo " CommandLine: " & program.CommandLine WScript.Echo " Comment: " & program.Comment WScript.Echo " DependentProgram: " & program.DependentProgram WScript.Echo " Description: " & program.Description WScript.Echo " DeviceFlags: " & program.DeviceFlags WScript.Echo " DiskSpaceReq: " & program.DiskSpaceReq WScript.Echo " DriveLetter: " & program.DriveLetter WScript.Echo " Duration: " & program.Duration If isNull(program.ExtendedData) Then WScript.Echo " ExtendedData: " Else WScript.Echo " ExtendedData: " & Join(program.ExtendedData, ",") End If WScript.Echo " ExtendedDataSize: " & program.ExtendedDataSize If isNull(program.Icon) Then WScript.Echo " Icon: " Else WScript.Echo " Icon: " & Join(program.Icon, ",") End If WScript.Echo " IconSize: " & program.IconSize If isNull(program.ISVData) Then WScript.Echo " ISVData: " Else WScript.Echo " ISVData: " & Join(program.ISVData, ",") End If WScript.Echo " ISVDataSize: " & program.ISVDataSize WScript.Echo " MSIFilePath: " & program.MSIFilePath WScript.Echo " MSIProductID: " & program.MSIProductID WScript.Echo " ProgramFlags: " & program.ProgramFlags WScript.Echo " RemovalKey: " & program.RemovalKey WScript.Echo " Requirements: " & program.Requirements If isNull(program.SupportedOperatingSystems) Then WScript.Echo " SupportedOperatingSystems: " Else WScript.Echo " SupportedOperatingSystems: " & Join(program.SupportedOperatingSystems, ",") End If WScript.Echo " WorkingDirectory: " & program.WorkingDirectory WScript.Echo "" Next Next End Sub call ExportPackageProgramInfo(connection)
Free Windows Admin Tool Kit Click here and download it now
August 7th, 2011 5:33am

To reply to Ben. In answer to this: "The below except was taken from the packages population part" The point of the "deploy an application" is to take the computer name from the field at the top and add it to a collection. that collection is designed, by you, to be the target for an advertisement to deliver that application. So, for example, you'd have a collection structure like this: +Use For Ron Crumbaker Web Remote 3.21 (and this is CollectionID ABC00032, NO advertisments on this one, no members) Underneath that collection, you'd have subcollections, like... +Widgets 3.0 +Adobe Acrobat Pro 10.1 And, you have existing advertisements targeted to Widgets 3.0 (to deliver that app), etc. etc. In the machrest.asp, the collectionid you put in is ABC00032, the top of the list of subcollections. What packages you have has nothing to do with it. Sure, you obviously need to have a package for Widgets 3.0; but only because you've already made an advertisement in the console to advertise Widgets 3.0 to the Collection Widgets 3.0. But the package id or enumerating a list of them within machrest.asp / Ron Crumbaker's Web Remote console is never needed; and has no purpose.Standardize. Simplify. Automate.
August 7th, 2011 9:59am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics