Ok, I'm new to Kace appliances, but have been teaching myself for a few weeks now, both the K2000 and K1000.

I thought I could be clever and after deploying a piece of software via label to machines, I could also find any machines that had the software installed would be labelled as such using a smart label (where it's not been installed via KBOX).

You guessed it, ran right into the "Smart Labels can not be manually assigned", humph. While I can see there are reasons you'd want that enforced, like my example there's also times you want it to automatically label them, but then also permit manually assigning.

Is there a tidy workaround (not loads of multiple groups for one piece of software) Label groups just appears to be a way of grouping labels for restrictions purposes, nothing more.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
There are two types of labels that can be created on the K1000, static labels and smart labels. Static labels are assigned by you the administrator to object, these can be used to only install a specific software to a select group of machine (ie. installing Adobe CS) or a script to a specific group of uses/machines. Smart Labels on the other had are dynamic in nature they are assigned to objects based on the information the K1000 knows about the object. A smart label could be created to install software XYZ on all computer that don't already have XYZ software on them. I use smart labels in conjunction with custom inventory rules, where I will install a specific application based on a registry value that I am setting when doing my image deployment using the K2000. KACE refers to this as a breadcrumb, they did a KKE session on breadcrumbs awhile back below is the link. Another think Smart Lables are good for is grouping computers based on their system name if you have a common naming convention. I use these labels to enforce our campus power management policy to ensure all lab computers are shutdown when the campus is closed. Hope this helps.

K1000 KKE's: https://support.software.dell.com/k1000-systems-management-appliance/kb?k=KKE
Answered 12/19/2011 by: jrscribner
Purple Belt

Please log in to comment
0
Thanks, informative webex, I've also been playing with custom inventory rules to get some license info about a piece of software on the PCs.

Another problem is the software doesn't show up in Add/Remove programs, I can't see any way of using the Services or Running Programs list to create smart labels (as I could detect it instead by it's service or running exe).

Back to the original Smart Label issue, it's a pain that you can't combine both automated and manual assignments into a single group.
Answered 12/19/2011 by: AJStevens
Purple Belt

Please log in to comment
1
What you could do is create a smart label and a manual label.

Once you have these two, create ANOTHER smart label.

For your criteria use label names contain.

Then you'll have one smart label that encompasses both.

Hope this helps.
Answered 12/19/2011 by: dchristian
Red Belt

Please log in to comment
0
AJStevens, if the software isn't showing up then use a custom inventory rule -- it can look for the existence of an executable or a registry entry.
http://www.kace.com/support/kb/index.php?action=artikel&cat=3&id=524&artlang=en

About smart labels....something that I often do when creating a smart label is that I want to "seed" this label with the current results of my smart label criteria. Then I let the system maintain it. It used to make me feel better, now I just trust the process. Here are the steps:
  1. Go to Home -> Label
  2. Create a manual label (e.g. SmartLabel1)
  3. Go to inventory->Create Smart Label
  4. Fill in Create Smart Label criteria
  5. Click "test"
  6. Click the checkbox on the far left that (under choose action) that selects ALL the current results
  7. Go to Choose Action->Apply label->SmartLabel1
  8. Redo my smart label search criteria
  9. assign that criteria to the manual label "SmartLabel1". Now it is a smart label and future membership is defined by the filter.
I would very rarely want to add a machine manually to a smart label. If I did it would be a one off and it would be because something changed on that machine so I would simply ask that machine to check in again to update itself.
Note that you can make a smart label that is dependant on the existence of another label. That other label could be a static or smart label. Look at the create smart label criteria.
Answered 12/19/2011 by: GillySpy
Seventh Degree Black Belt

Please log in to comment
0
Hey AJ,

Are you saying once you deployed your software via smart label (Ex. Adobe Reader), it didn't associate any manual installs of Reader to the label?

What does your label criteria look like?

Casey
Answered 12/19/2011 by: cmccracken
Orange Senior Belt

Please log in to comment
0
dchristian, , hmm.. interesting idea and does combine them into a group, but under the Inventory, Computer they'll be 3 labels for one thing which seems a bit excessive and untidy.

GillySpy, yeah I've got an inventory rule for getting info about the license on that PC for the piece of software. Just would be nice if you could search by Services or Running Programs... is there a way to browse the raw database?
Hmm.. that's an interesting point, and I could use that "Seeding Technique" to fill in manual labels (do the smart label criteria, test, and then select all and add to the static label). Problem is I want that to happen on a regular basis.

cmccraken, basically to deploy a brand new piece of software to a group of PCs you use a static label and assign the PC the label and the software is installed. Unfortunately, there is rarely any opportunity to use Smart Labels or Breadcrumbs to auto-label the PCs it really is on a request basis.

Now, that's all fine and works well, if everyone uses KBOX to deploy software, but if someone installs the software from a share, or KBOX is unavailable (temp network issue, etc.), then when KBOX inventories the PC and finds the software it has a label for, logically it should associate that label with the PC, it has the software installed afterall. Well, that's my logic anyway.

I thought I could accomplish this quick and easy by setting up Smart Label criteria for the manual label, however doing this "captures" the manual label and when going to manually assign it, it's now dissapeared from the labels list on a Computer Inventory item. So I can no longer use it to push out the piece of software.

To restore being able to install it, I created a new label "<Software Name> Installed" and moved the smart label criteria to this one, then under the managed install I set it to deploy to both the software and software installed label, unfortunately this then means they both show up under the Computer item in inventory and I only wanted the one label to be tidy.

Perhaps it's unnecessary, the number and name of PCs with that software on, I can find in the software tab, it's just labels are quite powerful and flexible for other processes.
Answered 12/20/2011 by: AJStevens
Purple Belt

Please log in to comment
0
Perhaps we just need to get back to basics. Why not forego the smart label altogether? The manual label will have machine X in it -- call the manual label "approved4softwareY". The MI is tied to a custom software item that detects the software. If the MI points to "approved4softwareY" then it will only install that software on machines that have "approved4softwareY" AND do not have the software item installed. Once it is installed you could even remove that machine from the manual label. It will keep that software. Or just keep it in that label cuz it obviously is still approved.

This assumes that you can properly write a custom inventory rule to only reflect this software that doesn't seem to show up in add/remove. I see no reason why that can't be done.

Otherwise here are some responses:


ORIGINAL: AJStevens

dchristian, , hmm.. interesting idea and does combine them into a group, but under the Inventory, Computer they'll be 3 labels for one thing which seems a bit excessive and untidy.

You could use a label group here to make it more obvious in your listing. Also you could basically ignore the other 2 labels -- maybe give them a name or a label group that somewhat hides them (e.g. zzzLabel or child_Label or a name that demonstrates your "linking"). Then you only really pay attention to the "master" label. Allthough the labels list (ie showlabels) will display that one.

ORIGINAL: AJStevens
GillySpy, yeah I've got an inventory rule for getting info about the license on that PC for the piece of software. Just would be nice if you could search by Services or Running Programs... is there a way to browse the raw database?

You can write a smart label that looks at a running process -- again that's based on the running process as snapshot during last inventory.
Here is the sql example of a smart label for a process called "processname".
select MACHINE.ID from MACHINE
JOIN MACHINE_PROCESS_JT MP ON MP.MACHINE_ID=MACHINE.ID
JOIN PROCESS P ON P.ID=MP.PROCESS_ID
WHERE
P.NAME='process.exe'

Hmm.. that's an interesting point, and I could use that "Seeding Technique" to fill in manual labels (do the smart label criteria, test, and then select all and add to the static label). Problem is I want that to happen on a regular basis.
correct. This is where you would have use the 3 label technique so you can keep the manual label updated.

ORIGINAL: AJStevens
cmccraken, basically to deploy a brand new piece of software to a group of PCs you use a static label and assign the PC the label and the software is installed. Unfortunately, there is rarely any opportunity to use Smart Labels or Breadcrumbs to auto-label the PCs it really is on a request basis.

If users are requesting software then could you have a user-driven process where they use the software library. How do they request it? Or is it that you need to approve it? If you want to go crazy you could have a ticket rule that leverages the request / approval and updates your smart label. Yes -- you can update a smart label in a ticket rule.

If you're insistent on keeping it to one label then instead of labelling a machine you could:
have a script that puts a breadcrumb on the PC. The breadcrumb could be the existence of a registry entry (in your own key) or a file like c:\allowsoftwarex.txt. You deploy the script to the PC you normally want to "manually label" with run now. The same script could also force it to check in so it updates it's label. Then you augment your smart label to look for the prereq

ORIGINAL: AJStevens
Now, that's all fine and works well, if everyone uses KBOX to deploy software, but if someone installs the software from a share, or KBOX is unavailable (temp network issue, etc.), then when KBOX inventories the PC and finds the software it has a label for, logically it should associate that label with the PC, it has the software installed afterall. Well, that's my logic anyway.

yes, that is exactly what the kbox will do. The kbox does not care where the software came from. If it finds it in add/remove or baed on your custom invenetory rules it will report that in inventory --> if a smart label is looking at that inventory entry then it will be labelled.

ORIGINAL: AJStevens
I thought I could accomplish this quick and easy by setting up Smart Label criteria for the manual label, however doing this "captures" the manual label and when going to manually assign it, it's now dissapeared from the labels list on a Computer Inventory item. So I can no longer use it to push out the piece of software.

As soon as you make a manual label a smart label then you can no longer manually assign it. Youll have to use the combo technique above.


ORIGINAL: AJStevens
To restore being able to install it, I created a new label "<Software Name> Installed" and moved the smart label criteria to this one, then under the managed install I set it to deploy to both the software and software installed label, unfortunately this then means they both show up under the Computer item in inventory and I only wanted the one label to be tidy.

If you created a 3rd label then you only need to use that 3rd label in the managed install -- but yes, admittedly all three will show up under the computers list of labels.



Summary of methods above:
  1. back to basics -- leverage the logic of MIs.
  2. Update the smart label based on an approval driven by ticket rules
  3. Use the software library to allow users to grab it themselves
  4. put a breadcrumb on the machine and have a smart label that looks for the combo of breadcrumb and software pre-requisite
Answered 12/20/2011 by: GillySpy
Seventh Degree Black Belt

Please log in to comment
0
Thanks Gerald, very helpful post.

I'm a little confused though, MI can only install to either a specific computer or computers, a label or all machine (eek).

It would be great if it just had an exception label listing!

I have had a new approach, and this has been really helpful in sorting out all the different builds/versions of Office (eg, Office 2003 no SP, SP1, SP2, SP3) and getting them uptodate and the same for the Office 2007 compatibility pack, again this needs to be installed on PCs that have 2003, but also it has a non-SP, SP1, SP2 and SP3 (and a few more I'm not sure what the heck they are).

Before anyone says "just replace all of them with 2007 or 2010 already!", that's what I thought to, but apparently we don't support it yet.. there's a big refresh/update planned for 2012, maybe even replacing XP with Windows 7! *gosh!*

Anyway, I quickly discovered I needed Kbox to smarten up a bit... Smart Labels are good, although whenever I try to add a fourth line in the wizard the page gives out... grrr... however using them and static labels I had the above problems, so for these software items I removed the static label from the MI and instead attached a Smart Label to the MI, but the Smart Label checks the PC to see if it has the software and if not, but it has the label then it's added into the Smart Label, which then deploys the software. Oh, I have another smart label that likewise, checks if it's in the static label, checks if it has the software installed and if it's an older version, then deploys an MI with SP3 in it.

Gerald, I believe this was your suggestion at the top of your post, this is quite a clever technique and has worked well with my Office 2003/Compatibility Pack build/version updating issue, however not sure it will help for the other issue.

Plus.. using this technique, it does remove the PCs from the label after installed, which means you don't get unnecessary labels under the computer inventory item, but it does also mean on the MI page it has "0 - Total # machines software should deploy to" if it's deployed them all... which isn't quite right, it should list all the PCs it should deploy to really.

I know, I know, I'm nitpicking... I guess I like the power of the Kbox agent, the database, the information, the deployment, and I just wanted every little thing to fall into place perfectly.

Basically, under a PC item, you should see labels for "Microsoft Office Standard Edition 2003" and "Compatibility Pack for the Office 20007 system", these are labels that you can assign manually to a PC.
However these labels are also auto populated based on smart label criteria so as to pick up any PCs that have the two pieces of software.

Granted, you could also look down the Installed Programs list and see both pieces of software (might do to remember the name of the Compatibility Pack and not look for it under M though), however with labels you can immediately pic out important information in one place, we have Smart Labels for location of PC based on IP, and also LDAP so we can tell a lot from dropping down the labels tab, the other useful thing we look here for is what software is assigned to that PC, what it should have.

Oh, I did modify your technique for Running Processes, which as you pointed out is for processes running at time of snapshot, fortunately this software is usually always running if it's working, of course an installed service would be better, less likely to change. This will work for Services:

select MACHINE.ID from MACHINE
JOIN MACHINE_NTSERVICE_JT MS ON MS.MACHINE_ID=MACHINE.ID
JOIN NTSERVICE S ON S.ID=MS.NTSERVICE_ID
WHERE
S.NAME='Service Name'

Using this I can detect that software item now, so I should be able to make a "Install Software" smart label that looks for this service, if it's not present and the PC is a member of "Software" label then add to that smart label, and the MI is attached to the smart label and will install it, once I finish the auto-installer for it (it's an web-based install).

It would be nice if there were alternative automated way to add labels to machines, such as an "Add to Label"/"Remove from Label" option on MI's and Scripts.

1. Already doing, but not enough.
2. Urm.. maybe soon, we're just looking now into using the Service Desk part of it.
3. Err... no, for so many reasons, suffice to say "users" here.
4. Another good technique, but can't see a use for this yet, maybe if Service above didn't work.
Answered 12/22/2011 by: AJStevens
Purple Belt

Please log in to comment
0
Glad you have something working!
It would be great if it just had an exception label listing!
We do not specifically have exception listing in MIs (nor other places), but you could make a label that is the antithesis of another label. Then use that label in the MI. for example, if you have machines in GROUPA then machines not in GROUPA are (from the wizard):

label names | does not contain | GroupA

Note: do not even try to add additional criteria to this. When using negative conditions just keep it to one condition.

For those looking at the underlying SQL. The prettier and often more efficient sql for this that is easier to read is:


select MACHINE.ID
from MACHINE
LEFT JOIN
(select MACHINE_ID AS ID from MACHINE_LABEL_JT ML JOIN LABEL L ON L.ID=ML.LABEL_ID
where L.NAME IN ('GROUPA') -- labels to exclude
) NOTTHIS ON NOTTHIS.ID=MACHINE.ID
WHERE
NOTTHIS.ID IS NULL;


..., but it does also mean on the MI page it has "0 - Total # machines software should deploy to" if it's deployed them all... which isn't quite right, it should list all the PCs it should deploy to really.
To get alist of the machines that have the software you can open the software item:
  1. In the MI go to the top of the page and click on the software item. Then scroll to bottom of the software page and you will see the list of machines that have it. OR...
  2. in the inventory detail of a machine find the software item and click on it. Then scroll to bottom of the software page and you will see the list of machines that have it.
Are you suggesting that in the MI page you would be able to show that same list of machines that have it installed? Not a bad idea. I recommend you post at kace.uservoice.com (or mabye it's there already) It has community -based voting and visibility!
Answered 12/22/2011 by: GillySpy
Seventh Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity