Posted on 03-05-2014 10:14 AM
I need a SQL query to pull computer name and serial number plus "Legacy FileVault Enabled" but i can't figure out what table has the "Legacy FileVault Enabled" yes/no information.
Posted on 03-05-2014 10:16 AM
@RaulSantos, rather than SQL query... Have you looked at the API?
I'm not fluent on it myself, but am sure @mm2270 will post an awesome solution soon.
Posted on 03-05-2014 11:17 AM
Heh. I'd love to help, but I'm not 100% sure what you mean by "Legacy FileVault Enabled" I mean, I know what that refers to, but I don't see anything like that as an inventory item in our JSS 8.73, nor in in our 9.22 dev setup. Is it perhaps called something else? Or maybe I'm just blind (possible) If you can direct me to where you would see this in the inventory record in the JSS, I may be able to help you with a script to pull that value.
Posted on 03-05-2014 12:24 PM
am on 9.21 if you look at a computer record and >local users accounts you will see it there not sure what it would be called on the table @mm2270
Posted on 03-05-2014 12:43 PM
@RaulSantos I see what you're talking about now, but I'm not clear where that lives in the API. I looked up a system and although I see that Legacy FileVault Enabled column, all with "No" for each account, when I pull up the API record for that same Mac, I don't see xml tags for that data. Maybe the sheer absence of any tags in the API record indicates that its not enabled? I'm just not sure. Here's an example from our 9.22 setup (actual names and UIDs changed)
<local_accounts>
<user>
<name>localadmin</name>
<realname>Local Admin</realname>
<uid>501</uid>
<home>/Users/localadmin</home>
<home_size>-1MB</home_size>
<home_size_mb>-1</home_size_mb>
<administrator>true</administrator>
<filevault_enabled>false</filevault_enabled>
</user>
<user>
<name>jdoe</name>
<realname>Doe, John</realname>
<uid>1000111222</uid>
<home>/Users/jdoe</home>
<home_size>-1MB</home_size>
<home_size_mb>-1</home_size_mb>
<administrator>true</administrator>
<filevault_enabled>true</filevault_enabled>
</user>
<user>
<name>john</name>
<realname>John</realname>
<uid>502</uid>
<home>/Users/john</home>
<home_size>-1MB</home_size>
<home_size_mb>-1</home_size_mb>
<administrator>true</administrator>
<filevault_enabled>false</filevault_enabled>
</user>
</local_accounts>
The filevault_enabled items you see for each account are for FileVault 2, not Legacy FileVault. In short, I don't see the older info listed for each account. Perusing the whole JSS record, I don't see it listed anywhere else either. As such, I'm not sure how you'd query via the API for that information. Again, maybe for each record, if that tag doesn't exist it means its not On?
This may be a question to direct to JAMF, since I'm not sure how its determining the Legacy FileVault status and where it would be storing it.
Posted on 03-05-2014 12:55 PM
This misunderstanding may be my fault. I had talked with @RaulSantos elsewhere and had thought that the FileVault Enabled status also captured Legacy FileVault status.
If it's just for FileVault 2, then an extension attribute may be needed. I've got an older script (originally written for Absolute Manage) that can be repurposed for this:
Posted on 03-05-2014 12:55 PM
Don't know if this helps or was what you were after.
I could only find file vault status in the JSS API under <General><hardware><storage><device><partition> with these four fields:
<filevault_status>Encrypted</filevault_status>
<filevault_percent>100</filevault_percent>
<filevault2_status>Encrypted</filevault2_status>
<filevault2_percent>100</filevault2_percent>
I don't have any systems running legacy file vault but would assume that it would return <filevault_status>Encrypted</filevault_status> and <filevault2_status>Not Encrypted</filevault2_status> for anything running Legacy File Vault.
Heres a script to grab the filevaultstatus API.
compName=$(scutil --get ComputerName)
fileVaultStatus=$( curl -s -k -u apiUser:apiPass https://yourjss.com:8443/JSSResource/computers/name/$compName 2>&1 | xpath /computer/hardware/storage/device/partition/filevault_status | awk -F'[>|<]' '{print $3}' )
echo "${fileVaulltStatus}"
10.9.2, jss 9.24
Posted on 03-05-2014 01:01 PM
@tron_jones Yeah, I saw those too and meant to mention it, but they are related of course to full disk encryption FileVault 2. It seems @RaulSantos is asking for information on the older home folder encryption, aka Legacy FileVault. That encryption only applied to systems prior to 10.8.
Posted on 03-05-2014 01:08 PM
I'm not sure your ultimate goal but I believe you can gather this information through an Advance Search on the Inventory page instead of jumping into the API or database directly. I'm on Casper 8 still but I have a VM with 9 and I see the same options available.
Criteria
OS Configuration Information - FileVault Status - XXXXXX
Display Fields
Select whatever fields you want to display
Of course if you are looking to do more that just get a simple report then this probably won't do. I just know sometimes we jump to the more complicated solutions instead of the simple ones. :-)
Posted on 03-05-2014 01:17 PM
@krichterjr raises a good point. @RaulSantos, can you elaborate on the end goal here? Were you looking to just generate a report on Legacy FileVault status across your systems? Or were you looking to script something that runs on each Mac to get its own information? If the former, try the method Kenny lists. if the latter, try using the script that @rtrouton linked to above.
Either way though, it may help us to understand the end goal here..
Posted on 03-05-2014 06:02 PM
@mm2270 looking to see what computers have Legacy FileVault enable since Jamf already captures this I felt a sql query would be the fastest way to pull the data. While @rtrouton way would work i would have to wait to for computer to inventory while the data already is there. Am just not sure in what table jamf stores it.
Posted on 03-06-2014 02:27 PM
select computer_id, computer_name, file_vault_1_status, file_vault_1_status_percent from computers_denormalized group by computer_id;
Posted on 03-06-2014 02:27 PM
Legacy FV status is in the computers_denormalized table. FV2 status is in file_vault_2, file_vault_2_certificate, file_vault_2_computer_key, and file_vault_2_users.