Driver Feed Advisor

Driver Feed Advisor


Driver Feed Advisor (DFA) is a command line tool designed to provide an accurate path for the machine from which it is run for the K2000 Driver Feed.  This tool can be run in several different ways through the K2000, K1000, or standalone.  Note that when this tool is utilized from the K1000 or standalone it will reach out to and download the newest version of drvstr.cfg.  This file is part of the tools used by the K2000’s Driver Feed.  However, when utilizing DFA from the K2000, this file is not downloaded as it will use the version of drvstr.cfg currently on the K2000 (which may not be up to date).  Learn how to update your Driver Feed tools with the following Knowledge Base article:



As a standalone tool, simply open a command prompt in the location of the executable and type driverfeed_advisor.exe.  The driver feed path of the current hardware and Operating System will output directly to the console as well as write a log file to %systemdrive%\ProgramData\Dell\KACE.



You can also take advantage of DFA from the K1000.  Using a combination File Synchronization or Scripting, Custom Inventory, and Reporting you can produce a concise list of all Driver Feed paths required for the devices and Operating Systems in your environment.


In order to run DFA remotely from the K1000 you will first want to push the executable to all of your Windows devices.  Scripting is the quickest method as it does not require a K1000 Agent check-in in order to run.  The following instructions will walk you through creating a script:


1.      Within your K1000 Admin UI, navigate to Scripting > Scripts

2.    From the Choose Action dropdown select New

3.    On the Script Detail page enter the following information:

a.    Name: Copy Driver Feed Advisor

b.    Enabled: Check the box

c.     Type: Online K-Script

d.    Deploy: None

e.    Operating Systems: Uncheck Select Specific Operating Systems and Select Windows

f.      (Alternate) Operating Systems: Select specific Windows OSes for deployment

g.    Windows Run As: Local System

h.    Notify: None

i.      Schedule: None

j.      Dependencies:  Select New Dependency and navigate to driverfeed_advisor.exe

k.    Tasks: Select New Task

l.      Under On Success, select Run a batch file

m.  Script Name: copy_dfa.bat

n.    Batch file: xcopy driverfeed_advisor.exe %ALLUSERSPROFILE%\dell\kace /y

o.    Wait for Completion: Check the box

p.    Click Save Changes under the Batch Script

q.    Click Save to complete your Script

4.    To run your Script on demand, navigate to Scripting > Run Now

5.    Select Copy Driver Feed Advisor from the dropdown

6.    Under Labels select a label of Windows devices you wish to deploy to or manually select a group of devices

7.     Click Run Now

8.    Click Save


Once the Script has completed you may progress to the next step in order to create the Custom Inventory rule necessary to collect the output from DFA.  Custom Inventory allows you to gather information about devices that the Agent does not already gather.  In this instance, we will be running DFA silently and collecting the console output and displaying that in Device Inventory. 


1.     Within your K1000 Admin UI, navigate to Inventory > Software

2.    From the Choose Action dropdown select New

3.    On the Software Detail page enter the following information:

a.    Name: K2000 Driver Feed Path – CIF

b.    Publisher: CUSTOM

c.     Supporting Operating Systems:  Select the Windows Operating Systems you wish to have this Custom Inventory running on

d.    Custom Inventory Rule:

ShellCommandTextReturn(%ALLUSERSPROFILE%\Dell\kace\driverfeed_advisor.exe /k2name:kace2000)

e.    NOTE:  After the /k2name: enter the name of your K2000

f.      Click Save

4.    Click back into your new Custom Inventory record and note the ID# at the end of the URL.  You will need this later for reporting.

5.    Within your K1000 Admin UI, navigate to Inventory > Devices

6.    Select a few devices that you know already have DFA

7.     From the Choose Action dropdown select Force Inventory (NOTE:  Do not perform this function on large numbers of devices)

8.    Once the inventory cycle has completed, navigate into one of your selected devices

9.    On the Device Detail page, locate the Software section and expand Custom Inventory Fields

10. Your new Custom Inventory should now show the Driver Feed path for that device

11.  Check a few other device/Operating System combinations to make sure that Custom Inventory is working as intended


Now that you have Script and Custom Inventory setup, you will want to make sure that all your desired devices get DFA and then complete a Custom Inventory cycle.  This might take a few days to ensure that all devices have completed both actions.  Once you are satisfied with the amount of data gathered, it is time to take advantage of your K1000s reporting capabilities!  While you can definitely pull the Driver Feed information out of the K1000 using a Wizard based report, we are going to use a custom SQL report to process and filter our information into a useful report.


1.     Within your K1000 Admin UI, navigate to Reporting > Reports

2.    From the Choose Action dropdown select New (SQL)

3.    On the Report Detail page enter the following information:

a.    Name: K2000 Driver Feed Paths – Total Devices

b.    Description: K2000 Driver Feed Paths gathered by Driver Feed Advisor.  Displayed and grouped up by Manufacturer, Model, and Operating System combination.  Also displays total # of devices per Driver Feed.

c.     Category:  Select New Category and type: K2000 (or select K2000 if you already have that category)

d.    SQL:  Copy the following custom SQL













e.    Find the line that ends with SOFTWARE_ID = 'XXXX' and modify the ID# to be the ID# of your Custom Inventory. (Note that your ID# may be more or less total digits).

f.      Click Save

4.    Find and run your report!




Driver Feed Advisor can be utilized by the K2000 as well inside a K2000 Boot Environment (KBE).  To use DFA within a KBE, use KBE Manipulator or later to have driver feed advisor automatically inserted and run.  The output will show up in the startnet.cmd command window and output a file to x:\windows\temp.


When DFA is run manually within a KBE, it needs the /kbe switch: driverfeed_advisor.exe /kbe.

This switch tells DFA to load the registry of the operating system on the hard drive and find out what version of Windows is currently installed on the drive, and use that information to determine the path.  If no operating system is found then the text ‘OSNotFoundonLocalDrive’ will show in place of the KACE operating system path.  If this happens, or if you have an older version of Windows on the drive and want to see the path of a different Windows Operating System, then you can use one of the switches below.


/wxp = Windows XP

/wvista = Windows Vista

/w7 = Windows 7

/w8 = Windows 8

/w81 = Windows 8.1

/w10 = Windows 10

/w2k3 = Windows Server 2003

/w2k8 = Windows Server 2008

/w2k12 = Windows Server 2012


So an example command line for a Windows 10 Driver Feed path would look like:

driverfeed_advisor.exe /kbe /w10. 


Note that the architecture used within the Driver Feed Path is gathered based on what KBE you are running DFA within. 

Be the first to comment

Managing Inactive Active Directory Accounts Using PowerShell

Active Directory allows authorized AD accounts (users and computers) to access the organizations data, applications and other resources like printers. Additional security is also ensured through permissions attached to the AD resources or objects. AD user accounts feature in the access control list of one or more objects which enable them to access those AD resources seamlessly. Account authorization / authentication along with the system access control list of network resources ensure that the AD is completely protected from unauthorized accesses.

Inactive AD accounts and security threats
Inactive accounts pose a serious threat to the security of the Active Directory. Inactive accounts and their access permissions can be used to access network resources. Often these kind of activities go unnoticed because of the lack of an all-inclusive auditing solution in the organization.

Using Windows PowerShell to manage inactive AD accounts
In order to use PowerShell with Active Directory, you will require the Active Directory PowerShell module. It (along with Active Directory Administrative Centre) gets installed automatically with the addition of AD DS (Active Directory Domain Services) or AD LDS (Active Directory Lightweight Directory Services) role in Windows Server 2008 R2. Here are some cmdlets that let you perform some basic actions related to inactive accounts:

To find inactive AD accounts
To find all the inactive accounts use the Search-ADAccount cmdlet. It is recommended that you search for computer accounts and user accounts separately.

  • To find inactive computer accounts:

Search-ADAccount –AccountInactive -ComputersOnly


  • To find inactive user accounts:

Search-ADAccount -AccountInactive -UsersOnly


To find AD accounts that are inactive for the past 60 days
To find the AD accounts that are inactive for the past 60 days, you will also need to specify the time period.

  • To find computer accounts that are inactive for the past 60 days:

Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan 60.00:00:00


  • To find user accounts that are inactive for the past 60 days

Search-ADAccount -AccountInactive -UsersOnly -TimeSpan 60.00:00:00


To find the inactive AD accounts of a specific OU

PowerShell also allows you to search for inactive accounts within an OU.

  • To find the inactive computer accounts in an OU:

Search-ADAccount -AccountInactive -ComputersOnly -Searchbase "OU=TestOU,DC=www,DC=vdoc,DC=com"


  • To find the inactive user accounts in an OU:

Search-ADAccount -AccountInactive -UsersOnly -Searchbase "OU=TestOU,DC=www, DC=vdoc,DC=Com"


Inactive Account Management
It is possible to use PowerShell cmdlets and scripts for more complex tasks relating to inactive account management but it requires an almost expert knowledge of the platform. Automated Active Directory clean-up solutions like Lepide Active Directory Cleaner can simplify the process, making it easy to perform even the most complex tasks.

Blog Summary
Inactive accounts can be serious security threats if they are used by an unauthorized person wanting access to the network resources. Windows PowerShell cmdlets can help manage the inactive accounts but can only be used for more complex tasks if the AD administrators are adept at scripting. If this isn’t the case then using a third-party solution is often the most effective way of managing inactive users.
Be the first to comment

GIMP 2.8.16 All Users Language Change

Hi there fellow Ninjas. This is my first post.

I would like to share with you my experience with Gimp 2.8.16. I had a post installation requirement of changing the Interface language to Deutsch [de]. I've spent a full business day searching through posts, blogs and ridiculous recommendations of permanently changing the Interface language for all users.

I am using a setup.exe with the following switches /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /LANG=de /LOG. As you can see I am using a /LANG parameter. However this only changes the setup language and not the actual interface language.

There are various posts recommending creating a batch file which sets the language and then launches Gimp and non of them worked, of course. Even if you like to save and use an .INF file and try add the /LANG parameter there - it will still not work as it will only change the setup language.

What I've discovered is that Gimp writes language Interface changes in a file named gimprc, located in %USERPROFILE%\.gimp-2.8. Gimp only adds the following string in this file

(language "de") in my case.

Active Setup then can be used to apply this file to all users. Please note, the user folder is created after launching Gimp. However, this file is not overwritten and the application starts in the desired language.

Hope this helps someone,


Be the first to comment

KACE K1000 6.4 - SSO Active Directory

Hi there,

Despite the number of post i have seen about how to manage SSO in the K1000 (v6.4), i'm still stuck.

I checked every requierement:
-    DNS
-    NTP
-    DHCP
-    ...

To connect:
I tried to put the distinguished name instead of just the user name i use to join the AD but none of them work.
Tried full domain name and just the one i used to join computer in domain.
Keep getting the following error: "ERROR: failure of the attempt of connection. Impossible to connect the object computer."

Besides, if i don't get the message above (because i change between username format), i have error log:
    [Mon Jun 13 16:52:24.055965 2016] [proxy_fcgi:error] [pid 41971:tid 34460488704] [client] AH01071: Got error 'PHP message: QAS: Checking     whether computer is already joined to a domain ... no\nPHP message: QAS: Reading password for \\kace_ldap@**domaine**.FR from stdin...\nPHP message: QAS:     Configuring forest root ... **domaine**.fr ... OK\nPHP message: QAS: Configuring site ... **Town** ... OK\nPHP message: QAS: Joining computer to the domain as     host/serveur-name.**domaine**.fr ... Failed\nPHP message: QAS: ERROR: Unable to join computer object\nPHP message: QAS: ERROR: Could not join to the     domain\nPHP message: QAS: VAS_ERR_LDAP: LDAP error\nPHP message: QAS: Error encountered processing ldap result for dn     [CN=serveur-    name,CN=Computers,DC=**domain**,DC=fr], err=0000207C: AtrErr: DSID-031530E5, #1:\nPHP message: QAS: 0: 0000207C: DSID-031530E5,     problem 1005     (CONSTRAINT_ATT_TYPE), data 0, Att 3 (cn)\nPHP message: QAS: .\nPHP message: QAS: Caused by:\nPHP message: QAS:     LDAP_CONSTRAINT_VIOLATION: No LDAP error string defined for LDAP error code: 19\n', referer: http://serveur-name/adminui/settings_security.php

KACE official post says the user used to join the AD doesn't need specifique right. My user is a member of the domain with no other rights.

Any idea ?
View comments (3)

10 things to do when Mac is running very slow

Macs are productive computers that are a combination of beauty and speed. Whenever, speed and performance are talked of, Macs are mentioned necessarily. The Macs are so best at what they do that person consider it a far better computer than Windows PC. Sadly, Macs have another side of the story too that isn’t a bright one. The darker sides of these Macs are that they go slow with time and usage. Their speed, pickup (boot-time), performance, execution and everything else lags and frustration of the Mac owners grow higher. Frustration levels are too intense that the users might think to kick their old Macs and bring home a new one. Actually, bringing home a new Mac and letting off (or donating) your old Mac machine isn’t a crime or sin. But if you are lacking budget to get a new replacement for your old Mac system then you must opt for below 10 things to implement when Mac go slow, slower …..

The below 10 things will surely improve Mac system performance

1) Defrag your Macintosh HDD to eliminate the pieces of fragments that are halting a smooth access of file(s) by OS X. Since defragging isn’t provided by Mac through a default option, you should consider a Macintosh HD defragmentation application to perform Mac disk drive defragging in a safe environment.

2) Optimize free spaces even if your Mac hard drive isn’t fragmented. Free space optimization will re-arrange the occupied and free blocks of the hard drive into contiguous memory locations.

3) Remove malware and viruses that might have intruded the Macintosh HD and causing delays and snag. However, it is most unlikely that Macs will get penetrated with viruses but still you can download one or other free antivirus utility to clean your Mac hard drive from potential threats.

4) Reset SMC, NRAM and PRAM. These little – little fixes also help Macs especially notebooks significantly improve their performance and ignore delays. Do check the battery life of Apple Notebooks and consider replacing them if and when required.

5) Keep those angel applications on Mac OS X since they deserve every right to stay on the hard drive but do remove the devilish apps that are causing your OS X to slow down on every boot. You may choose to take help of the Activity Monitor or a third party app that determines the RAM consumption done by a utility. 

6) Upgrade RAM to 8GB or a monstrous 16 GB to enjoy instant speed and execution of day-to-day computing.

7) Replace HDD with a speedy SSD or assign your boot drive to an SSD which will give you Usain Bolt kind of OS X booting.

8) Move out your data to an external hard drive, of course, a large external drive.

9) Clean up Mac hard drive by emptying trashes, applications, old caches, binary files and other system junks. Remember the rule of having at least 10%-15% of free spaces on Mac HDD or Mac SSD.

10) Upgrade or Reinstall OS X and applications that have been outdated.


There are no speed barriers limited to OS X Mac.  Faster is much better

The above 10 suggestions are mentioned to make your Mac speedy. With all of those 10 suggestions or implementing, few of them could help you overcome performance frustrations. If you still feel that your Mac is obsolete and nothing can make it go faster, then it is surely time to bring home a new Mac computer.
Be the first to comment
Showing 1 - 5 of 2975 results