forked from jamf/aftermath
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathOverrides.swift
44 lines (34 loc) · 1.43 KB
/
Overrides.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
// Overrides.swift
// aftermath
//
// Copyright 2022 JAMF Software, LLC
//
import Foundation
class Overrides: PersistenceModule {
let saveToRawDir: URL
init(saveToRawDir: URL) {
self.saveToRawDir = saveToRawDir
}
func collectLaunchdOverrides(urlLocations: [URL], capturedFile: URL) {
for url in urlLocations {
let plistDict = Aftermath.getPlistAsDict(atUrl: url)
self.copyFileToCase(fileToCopy: url, toLocation: self.saveToRawDir)
self.addTextToFile(atUrl: capturedFile, text: "\n----- \(url.path) -----\n")
self.addTextToFile(atUrl: capturedFile, text: plistDict.description)
}
}
func collectMdmOverrides(path: String) {
self.copyFileToCase(fileToCopy: URL(fileURLWithPath: path), toLocation: moduleDirRoot)
}
override func run() {
self.log("Collecting all overrides...")
// launchd overrides
let capturedOverridesFile = self.createNewCaseFile(dirUrl: moduleDirRoot, filename: "overrides.txt")
let overrides = filemanager.filesInDirRecursive(path: "/var/db/launchd.db/com.apple.launchd/")
collectLaunchdOverrides(urlLocations: overrides, capturedFile: capturedOverridesFile)
// mdm overrides
let mdmOverridesFile = "/Library/Application Support/com.apple.TCC/MDMOverrides.plist"
collectMdmOverrides(path: mdmOverridesFile)
}
}