User based uninstall collections - Dynamic

Hi Guys,
I have been looking for sometime at how User based uninstalls are done and I see that mostly people do an Exclude on the collection and deploy an uninstall to basically everyone who DOESNT have the application deployed to them. The issue with this is
if you have a high number of apps (500 lets say) you deploy 400 either uninstall or install deployments to everyone which dramatically slows down deployment of apps on new machines etc.
With APP-V the queries are fairly straight forward and we have dynamically changing uninstall collections that only show users that have the app for them in a compliant state on a workstation in the estate, when they are fully unpublished they drop
out of the collection based on compliance state.
I am trying to achieve the same method for uninstall collections where physical installs are used. Unfortunately there isn't a class like the APP-V AppClientState for Physical apps, or from what I can see at least and just wanted to see if anyone had
achieved uninstall collection for physical apps in a more dynamic way than doing Include/Exclude on the collections which I see as very static and uneconomical.
Many thanks,
Adam

Hi Hican, Torsten,
Thanks both for your replies. below is the query i have used. I'll just be clear that this may not suit a lot of environments because of users moving around etc.
select SMS_R_USER.ResourceID,SMS_R_USER.ResourceType,SMS_R_USER.Name,SMS_R_USER.UniqueUserName,SMS_R_USER.WindowsNTDomain from SMS_R_User where uniqueusername in (select distinct SMS_G_System_SYSTEM_CONSOLE_USAGE.TopConsoleUser from SMS_G_System_ADD_REMOVE_PROGRAMS INNER JOIN SMS_G_System_SYSTEM_CONSOLE_USAGE ON SMS_G_System_SYSTEM_CONSOLE_USAGE.ResourceID=SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID WHERE SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = '<ARP DISPLAYNAME>' and TopConsoleUser not in (Select SMSID From SMS_CM_RES_COLL_XXXXXXX))
This query basically finds all workstations with a specific Display name in ARP, it then looks at the topconsoleuser in the SystemConsoleUsage class for that workstation. The User resource is then pulled back based on that username and the uninstall is deployed
to the user alongside the install.
When the machine tied to that user no longer has that software installed the user drops out of the collection. I have these collections scheduled to do an update overnight at random intervals.
You will note at the end i use a "NOT IN" clause so i can exlude specific accounts from being included in the uninstall collections. The reason for this is we have a couple of service accounts that gets used heavily in various places
and end up getting registered as the top consoleuser in some instances. This is put in as a safeguard.
the only bits in the query that change is the <DisplayName> section which is what gets added in ARP.
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = '<ARP DISPLAYNAME>'
Again you need to be careful here as a program may have the same displayname as another if it hasnt been versioned correctly. in this case it may be better to use another attribute such and Product GUID.
Lastly if you choose to have an exclude collection like myself the collection Class will also need amending:
and TopConsoleUser not in (Select SMSID From SMS_CM_RES_COLL_XXXXXXX)
Somone may say there is an issue with doing it this way. obviously if users roam a lot you could end up stripping software off peoples machines which is why i say it may not suit some environments but this goes quite well where we are.
Some users may also not show if they are not yet registered as the TopConsoleUser of their workstation yet as this is a 3 month calculation (if i remember rightly). If this is being put in with a new not yet deployed app it looks clean from a returned list
of users standpoint, if however you have an estate where applications have never been unstalled and workstations have changed hands, initially you will see a lot of users in the uninstall collections which werent in the install. These applications will uninstall
for them and they will drop out of the collections.
Hican, like i said adding the software metering part in to the above query could prove even more economical as the uninstall deployment wouldn't actually be deployed if the software was active. If i get a chance i will look at this.
Hopefully the above makes sense, obviously this is just my take on how to do some uninstall collections and if somone decides to try it they are doing so at their own risk. retrofitting uninstalls is painful and risky.
Thanks,
Adam

Similar Messages

  • OIM - Email notification to a specific user based on a dynamic rule

    Hello, After creation of account in a particular target resource I need to send an email to a specific user based on the location of the user (e.g area admin).
    In the notification tab of process tasks, I see only "Assignee", "Requestor", "User", "User Manager"? How can I achive the above specified requirement?
    Before posting this question, I tried to search the forum for any previous posts related to this. But I couldn't find any. May be I was not searching with right key words.
    Any help is appreciated. Thanks in advance.

    You'll need to custom code an adapter to send the email, then you can send to any user you want. Create a new task and trigger it off the completion response code. You can use the following apis:
    tcEmailNotificationUtil sendMail = new tcEmailNotificationUtil(ioDatabase);
    sendMail.setBody("Type your body here or use a string variable");
    sendMail.setSubject("Type your subject here or use a string variable");
    sendMail.setFromAddress("[email protected]");
    sendMail.sendEmail("[email protected]");
    Just populate the above pieces with the information needed.
    -Kevin

  • Automate USER BASED PACKAGE installations in SCCM 2012

    Hi All,
    I want to automate the installation of software(in my case a user based package) from the Application Catalog.
    Here is just some general information:
    1. All software(Applications and Packages) deployed to Device Colllections will be published in Software Center
    2. All software(Applications and Packages) deployed to User Based Collections will be published in the Application Catalog
    3. Once software has been deployed from the Application Catalog, it is also available/visible in Software Centre .. this could be confusing for (scripted) test purposes!
    To Automate installations i tested the following (Powershell) methods:
    Methode 1 - Install Device Based Packages (This works)
    $SoftwareCenter = New-Object -ComObject UIResource.UIResourceMgr
    # to show applications
    $Application = $SoftwareCenter.GetAvailableApplications() | where {$_.name -like $APPNAME}
    # to install an application
    $SoftwareCenter.ExecuteProgram($Application.id, $Application.PackageId, $true)
    (once an User Based Package has been installed from the Application Catalog, it will be shown in the results of this method .. but initially it don't!!)
    Method 2 - Install Device based Applications (This works)
    Invoke-WmiMethod -Namespace root\ccm\clientsdk -Class CCM_Application -Name Install -ArgumentList 0,"xxAPP scope IDxx",$True,$False,1,1
    Method 3 - Install User based Applications
    Invoke-WmiMethod -Namespace root\ccm\clientsdk -Class CCM_Application -Name Install -ArgumentList 0,"xxAPP scope IDxx",$False,$False,1,1
    (once an User Based Application has been installed from the Application Catalog, this method can be used .. but initially it can't!!)
    Method 4 - Install User Based Packages (NOT WORKING)
    This solution is based on an (scripted) installation from the Application Catalog. Information can be found on the following sites:
    http://blogs.technet.com/b/configmgrteam/archive/2012/09/19/extending-the-application-catalog-in-system-center-2012-configuration-manager.aspx
    http://allthingsconfigmgr.wordpress.com/2012/10/02/application-catalog-uncovered/#more-284
    You can see the usable operations/methodes, by using the following URL in your SCCM 2012 environment:
    http://YOURSITE/CMApplicationCatalog/ApplicationViewService.asmx
    The method i tried for an installation part is 'installapplication', see example below:
    $service.Installapplication($appid, $deviceid, $null)
    This syntax is correct because it's giving a result that indicates the my command was correct(when i change the variables it produces an error), but that's it ... no application is installed.
    For the record: the operations/methods 'RequestApplicationForUser and GetApplications' are working fine.
    There is also log file 'ServicePortalWebService.log' on the Application Catalog Server in
    C:\Program Files\SMS_CCM\CMApplicationCatalogSvc\Logs, where i can see that Installation call is (correctly) be done.
    To be short:
    Is there anybody who can tell me how to automate (with Powershell) an USER BASED PACKAGE installation?
    With kind regards,
    Hayo Veenstra

    Thanks for your reaction.
    What i want is creating shortcuts in the startmenu of a user, that initiates a SCCM software installation. We also use this method for our SCCM 2007 environment by initating advertisments. I do not want a required user deployments, because when that user
    logs on on another machine (for a short time) .. all his/her software will be deployed. So i do not want to install unnescessary software .. only what a user initiates.
    Do you have other suggestions?
    I'm not sure about the shortcuts.  But, as for required deployments to users installing on all machines they log onto:  Not if you have User Device Affinity running for you.  You can set a requirement in the application to only install on a user's
    primary device.  Another option that we often deploy is to use App-V to deploy a virtual version of that app if the device they logged onto is not their primary.  When they log off, it goes away.  This is all done using User Device Affinity. 
    This is new in 2012. 

  • User based deployment not working

    Looking to make app available to user IDs.
    I have the user IDs into a user collection and making package available to collection.  Content is on the distribution points.
    It isn't showing up on client.  Package is set to be available, so I'm not getting an return code automatically.
    It isn't required so there is no package ID or deployment ID to search for.
    Where do I start looking?
    Also, this is my first use of user based collections, so is there anything I need to enable.

    Here's a post to reinforce Torsten's answer and provide additional detail:
    http://blogs.technet.com/b/configmgrteam/archive/2012/03/31/introducing-the-application-catalog-and-software-center-in-system-center-2012-configuration-manager.aspx
    Jason | http://blog.configmgrftw.com | @jasonsandys

  • Creating native MSI bundle that is "per user"-based (not "system"-based)

    I am trying to collect all information in order to create a native MSI bundle that is "per user" based - but failed.
    This means:
    (.) The MSI should install into the user's local directory
    (.) There should be no admin permission required
    When using the default <fx:deploy ... nativebundle="msi" ...>-ANT-element, then the MSI is created "system wide" based, installing in "/Prorgram Files" and requiring an admin permission.
    In the Oracle docu (http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm) there is no concrete hint how to create "per user" based MSI files. Maybe, someone already has done this and could tell the imprortant steps...
    THANKS!
    PS: I know - using the .exe-bundling with Inno Setup will create "per user" based installers by default, but I do not want to use .exe if possible

    Try
    <fx:preferences install="false"/>
    although the parameter name doesn't give much indication that it's system vs per user :)
    I checked that the MSI bundler code and it should honor this.
    Let me know if this works (I don't have time to try myself today and am leaving on Holidays for a week so won't be able to check until I'm back).
    Mark

  • Reporting on user based deployments

    We have done a large deployment of software on a user based collection, does anyone know of a way to report on the result of the deployment?
    All the in built report seem to targeted to machine based deployment and do not seem to work for the users deployments.
    Thanks

    If you want to get the report of a particular user, you need to use the report I mentioned above.
    If you want to get a report of a User collection, use the report All application deployments (advanced) or basic.
    Juke Chou
    TechNet Community Support

  • Lov based on a dynamic view object

    Build JDEVADF_11.1.2.0.0_GENERIC_110531.1615.6017
    Hi,
    I have a database table containing a column with the Name of a Table as content.
    I created a dynamic view and overwrite this with a method in Appmodule.
    Then I add to the element in the main view the Lov. I execute the method in JSP page.
    But the SelectOnechoice list is empty!
    Where is the problem? How can I create a Lov based on a dynamic view object?
    Thanks in advance and best regards
    Edited by: NewBB on 12.08.2011 00:53

    Hi Neliel,
    thank you for your reply.
    My problem is not the same. I can also see my dynamic view objects as selectonechoice. I have a table T1 has a column t1c1 (Number),
    another table T2 (dynamic view object) with two columns t2c1 (Number) and t2c2 (varchar2).
    In my application I want to represent the values of t1c1 as selectonechoice with the values of t2c2.
    and that does not work. My list is empty. Any idea???

  • I would like to be able to update my photo collection dynamically

    I have a photo album that goes through a sequence of same
    sized photos. However when I want to change the photos I always
    have to go into flash and change stuff which is time consuming. I
    would like to be able to update my photo collection dynamically by
    just changing the files in the folder in my computer called images.
    The .swf file would respond to this by showing the new sequence of
    files in this folder. This would save me much time.
    thnks very much for any advice.

    you can use an XML file to grab the images, and flash can
    parse them out and display them, then when you want to make a
    change, you could either rename the photo the same as the old one,
    or update the XML file.

  • Is there a way to export to separate folders based on collection organization?

    I am wondering if there is a simple way to export photos from lightroom into seperate folders based on collections.
    For example, in LR5, I have collection set "2014". Within "2014", there are sub-collections Jan, Feb, March... and so on. How can I export all the photos, at once, from the "2014" collection set so they end up in a folder structure that mirrors the collection set and sub-collections. My collection is more complex and contains many more sub-collections than the example provided, so I would really like to avoid having to export each sub-collection separately.
    In searching for this, I found mention of some sort of plug-in that apparently was capable of this, but I could not get it to work. The GUI was not intuitive and I didn't have time to learn it. Unfortunately, I do not remember the name of the plug-in since I deleted it. But is there any way to do this without having to learn code or install plug-ins?

    asbissonnette221 wrote:
    is there any way to do this without having to learn code or install plug-ins?
    Ordinary hard drive service will export into disk folders in tree structure which mirrors hierarchy of publish collections.
    I had always assumed (wrongly) this was NOT the case, otherwise what is the purpose of Jeffrey Friedl's Collection Publisher?
    Jim Wilde pointed out my erroneous assumption, and said there are advantages to Jeffrey's plugin, but I don't know what they are (probably the ability to have different settings per collection and dunno what else...). Or maybe jf's collection publisher will export in structure of non-publish collections so you don't have to re-define a matching set of published collections - I really don't know.
    Bottom line: if your needs are simple enough, Hard Drive publish service may be all you need.
    Rob

  • Automatically Assign to user based on email

    Hi Guys
    One of our IT managers would like to be able to have service requests automatically assigned to members of his team based on emails he sends.
    At the moment we have an exchange connector set up that logs Service Requests for his team, and assigns it to the their support group. I'm trying to figure out the best way to further refine it to then assign it to a support person based on some criteria
    within the email itself. The way i figure it, I'll need to to do it via Orchestrator. 
    I'm thinking something like:
    Email generated Service Request triggers a runbook, that either pulls the email attachment out of the SR and then does (something) to resolve the AD User from the CC field and assigns it to that person. Then he can just CC the team member and it will assign
    it. The hard bit is figuring out how to resolve an AD user from a field in a *.eml file. 
    or
    He types the AD name of the user on say line 1 of the email, then orchestrator reads that line and looks up the AD user based on that. Seems easy enough but then he will need to make sure he uses either the absolutely correct spelling of their name, or type
    their SAMAccountName out. 
    By email CC field is the more user friendly option but I have no idea if that's even possible.
    Does anyone have any thoughts about how to go about this?
    Cheers

    OK so he has changed his request now after I spoke to him.
    He now wants any emailed service request to be automatically assigned to the sender.
    So basically I need to create a runbook to set the Assigned To user to be the same as the Affected User.
    Sounded easy enough, but the "assigned to" field is not present in the orchestrator update object action. I think this is now a question for the Orchestrator forum so i'll mark this off and start a new thread there.
    Thanks.

  • OIM - Suspend user based on criteria

    I want to disable a user based on some criteria(say one of the profile attribute value changes to false) configured.
    Say one of the attributes of a user changes and due to this change user should be disabled from accessing any of the resources or may be only one of the resources which he is provisioned to?
    Does any one have any idea how this can be achieved?

    This could be accomplished through access policies and denying access based on group membership to certain resources.
    You could possibly create a process update trigger for that field on the Xellerate User process that when that field is modified, it checks the new value of the field to see if it matches your ruleset to be disabled for, and then update the USR_STATUS to be Inactive/Disabled (whichever is the value when disabled) which might in turn trigger the disable action against all their other resources.
    Without testing, this is just an idea that might work.
    -Kevin

  • Assign Task to a specific user based on the value of DDL from the form

    Hello,
    Can any one please advise me on how to assign a task to a specific user based on the value of the drop down list from the form. E.g. user fills the form and before they submit the form they have to select one of the name from the drop down list so the form can go to that person for approval.
    Thanks in advance,
    Han

    I got it works now by using the xpath expression (in workbench) to assign to the selected user from the DDL in the form.

  • How to change the text of a user defined field in dynamic selections?

    Logical Database PSJ is used by t code CJI3 - we added a couple of user fields into the dynamic selections of CJI3.
    Now - how to change the text of this user filed (USR01 of structure PRSP_R in logical database PSJ)?
    Found an OSS note - 86980 - that tells that this is not possible.
    But when we read the documentation on the user field (CJI3 - dynamic selections  - double click on user field - F1), it shows the following text:
    User-defined field in which you can enter general information with a length of up to 20 characters.
    Dependencies
    The names (key words) for  user-defined fields depend on the field key.
    Now the question is where to change the field key..
    Thanks,
    Ven

    Madhu - you did not get the question I think.
    Anyways - I found an OSS note 1266643 - this code change should take care of the issue - it will then reflect the details maintained in custoizng at transaction code OPS1..
    Thanks,

  • In search of end user based forums

    in search of end user based forums
    Any one know of SAP website for (expert) end user Q/A   ?
    Development is fun and all, but when I need A break from the 011001101000100110100 where do I go?

    Interesting question.
    You could try the forum or even [Scripting Languages|/community [original link is broken]; here on SDN to get closer to the front end, but I guess the "expert level" would need to be quite advanced before an end user spends more than just a careless mouse-click there.
    Otherwise there is the [SAP Design Guild|http://www.sapdesignguild.org] which has a lot of interesting things about the UI. However they closed their forums because of spam, and now point to . Downside: Not much action going on. Upside: You could become top contributor and will a free entry to SDN Community Day with just one post.
    Another option worth taking a look through is the [BPX category|/community [original link is broken]; where you might find some .ppt programmers hanging out.
    Cheers,
    Julius

  • Shared Calendars / Room Lists and automatically forcing them to users based on Security Group Membership

    Good morning all,
    I need some help achieving the following in our Exchange 2013 Environment.  First off, we have Exchange 2013, but all our clients have Outlook 2010.
    Here's what I would like to be able to do:
    1) create/manage public calendars / rooms in exchange 2013
    2) force these shared public calendars / rooms to users' calendars who are members of particular security groups
    3) give edit permissions / "booking" permissions for the shared calendars so select users are able to make changes to the shared calendars, as well as accept/deny requests to "book" shared room calendars
    Any one got any resources they can give to point me in the right direction?
    I have already created two mailbox room resources, and have them set up in a room list in AD.  But need to know the above as far as creating a shared calendar for events, and forcing these calendars / room lists out to users based on security group
    membership.
    I don't want my users to have to know how to add a shared calendar...that would be a nightmare explaining.  I just want it to show up.
    Any help on this is greatly appreciated, thank you!

    1) I recommend using Room Mailboxes for resource calendars because it just works better.
    2) This is a standard feature of a Room Mailbox.
    3) You're pretty specific here, but I think this is also more or less available with a Room Mailbox combined with folder rights.
    I don't know any way to just make them "show up".  You'll have to teach them.  Well written instructions can work wonders.
    Ed Crowley MVP "There are seldom good technological solutions to behavioral problems."

Maybe you are looking for