-
Notifications
You must be signed in to change notification settings - Fork 24
How it Works
BigMac Admin edited this page Jun 19, 2024
·
7 revisions
Once the primary script is run, the following sequence occurs:
- Checks for a valid configuration profile
- First checks if the
--configuration
command-line argument was used. If so, verifies this is a valid plist file and this will be used. - Next checks if /usr/local/Baseline/BaselineConfig.plist exists and if so this will be used.
- Checks for an installed mobileconfig profile in the com.secondsonconsulting.baseline preference domain
- Baseline will timeout after 10 minutes if a profile cannot be found.
- First checks if the
- If Installomator labels are defined in the configuration, then the latest version of Installomator is downloaded and installed.
- This will be downloaded from Github, unless you bundle your own version and place it in
/usr/local/Baseline/Packages/Installomator.pkg
- This will be downloaded from Github, unless you bundle your own version and place it in
- The latest version of SwiftDialog is installed.
- This will be downloaded from Github, unless you bundle your own version and place it in
/usr/local/Baseline/Packages/SwiftDialog.pkg
- This will be downloaded from Github, unless you bundle your own version and place it in
- Baseline then waits until an active end user is logged in on the device.
- This process does not have a timeout and will continue to wait until a user has logged in.
- This wait period is skipped if the
--silent
command-line argument has been used.
- Next,
InitialScripts
are processed.- There is no built-in SwiftDialog component to
InitialScripts
. This is where you can customize your welcome experience to suit your use case by writing your own SwiftDialog script and calling it here.
- There is no built-in SwiftDialog component to
- After
InitialScripts
complete, Baseline then looks again for a configuration file.- The same priority of Command-Line argument, then Plist in
/usr/local/Baseline/BaselineConfig.plist
, and then MDM Configuration Profile is used. - If your
InitialScripts
result in a new Plist being added to/usr/local/Baseline/BaselineConfig.plist
, then Baseline will now use/usr/local/Baseline/BaselineConfig.plist
for the remainder of it's run.
- The same priority of Command-Line argument, then Plist in
- Once
InitialScripts
are completed, a SwiftDialog progress list will show each additional item as it is processed. - Installomator is used to process any labels defined in the configuration profile
- Any packages defined in the configuration profile are run.
- Any scripts defined in the configuration profile are run.
- Baseline will now wait for any items defined as
WaitFor
items (such as VPP, MDM, or munki installed items.) Default timeout 5 minutes before any items which haven't arrived are considered Failed. - If a custom app icon has been configured for SwiftDialog, then it will be reinstalled in order to pickup this icon.
- This can be managed with the
ReinstallDialog
key set totrue
orfalse
.
- This can be managed with the
- Baseline deletes the LaunchDaemon, so that it is not loaded again after a restart.
- The entire directory
/usr/local/Baseline
is deleted.- This can be managed with the
CleanupAfterUse
key set totrue
orfalse
.
- This can be managed with the
- The user is presented with a simple message indicating whether everything went smoothly or if there were errors. This message has a timer.
- After the timer the device forcibly restarts via
shutdown -r now
.- This timer and restart can optionally be disabled with a profile key.
- Alternately, the
LogOut
key can be set totrue
in order to force a log out.
- Baseline uses the
--blurscreen
SwiftDialog feature to prevent user access during the setup process.- This can be disabled by setting the
BlurScreen
key tofalse
.
- This can be disabled by setting the
- There is an optional "escape" key to close the Dialog windows using
CMD+]
.- Using this escape key does not stop Baseline from running, it only closes the Dialog window.
- Baseline runs
Installomator
labels with some default settings. See relevant pages for more information. These "defaults" can also be bypassed with theIgnoreDefaultInstallomatorOptions
key set totrue
.
- Mosyle
- JumpCloud
- Addigy
- SimpleMDM
- FileWave
- Workspace ONE
- Jamf Pro
- Microsoft Intune
- Kandji (Need contributions!)
- Hexnode (Need contributions!)
- Jamf School (Need contributions!)