├── .gitignore ├── LICENSE ├── README └── rtrouton_scripts ├── 10_5->10_6_Upgrade ├── custom_scripts │ ├── add_airport │ │ └── add_airport.sh │ ├── clear_caches │ │ └── clear_caches.sh │ ├── remove_old_OD_bindings │ │ └── remove_old_OD_bindings.sh │ └── reset_login_window │ │ └── reset_login_window.sh └── upgrading_from_10_5_to_10_6.pdf ├── Absolute_Manage_Custom_Info_Items ├── 10_3-10_6-FileVaulted_Accounts │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── FileVault_accounts_check.sh │ └── README.txt ├── Accounts_on_the_Mac │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── README.txt │ └── accounts_check.sh ├── Atempo_LiveBackup_Installed │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── README.txt │ └── livebackup_client_check.sh ├── Crashplan_Installed │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── README.txt │ └── crashplan_client_check.sh ├── EMC_NetWorker_Installed │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── EMC_NetWorker_client_check.sh │ └── README.txt ├── FileVault_2_Encryption_Check │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── FileVault_2_Encryption_Check.sh │ └── README.txt ├── PGP_Encryption_Check │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── PGP_encryption_check.sh │ └── README.txt ├── check_ad_binding │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── README.txt │ └── check_ad_binding.sh └── check_for_admin_accounts │ ├── Absolute_Manage_Custom_Info_Item_Setup.png │ ├── README.txt │ └── check_local_admin.sh ├── Casper_Extension_Attributes ├── CasperCheck │ ├── caspercheck_assigned_jamf_pro_server │ │ ├── Casper_Extension_Attribute_Setup.png │ │ ├── README.md │ │ └── caspercheck_assigned_jamf_pro_server.sh │ └── caspercheck_installed │ │ ├── Casper_Extension_Attribute_Setup.png │ │ ├── README.md │ │ └── caspercheck_installed.sh ├── Microsoft_Excel_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_Excel_Update_Source.sh │ └── README.md ├── Microsoft_OneDrive_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_OneDrive_Update_Source.sh │ └── README.md ├── Microsoft_OneNote_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_OneNote_Update_Source.sh │ └── README.md ├── Microsoft_Outlook_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_Outlook_Update_Source.sh │ └── README.md ├── Microsoft_PowerPoint_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_PowerPoint_Update_Source.sh │ └── README.md ├── Microsoft_WindowsApp_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_WindowsApp_Update_Source.sh │ └── README.md ├── Microsoft_Word_Update_Source │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── Microsoft_Word_Update_Source.sh │ └── README.md ├── apple_java_jdk_version │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── apple_java_jdk_version.sh ├── check_10_5_and_10_6_AD_password_interval │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_10_5_and_10_6_AD_password_interval.sh ├── check_80211x_wifi_network │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_80211x_wifi_network.sh ├── check_ad_binding │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_ad_binding.sh ├── check_apfs_encryption │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── check_apfs_encryption_extension_attribute.sh ├── check_apple_push_notification_certificate_identity │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── check_apple_push_notification_certificate_identity.sh ├── check_apple_t2_chip_installed │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── check_apple_t2_chip_installed.sh ├── check_for_IPv4_address_used_on_Mac │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── check_for_IPv4_address_used_on_Mac.sh ├── check_for_IPv6_address_used_on_Mac │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── check_for_IPv6_address_used_on_Mac.sh ├── check_for_admin_accounts │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_local_admin.sh ├── check_for_email_address_signed_into_Microsoft_Outlook │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── check_for_email_address_signed_into_Microsoft_Outlook.sh ├── check_for_java_build_M4508 │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_for_java_build_M4508.sh ├── check_for_office_2011_volume_license │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── check_for_office_2011_volume_license.sh ├── check_for_office_2016_volume_license │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── check_for_office_2016_volume_license.sh ├── check_for_remote_management_accounts │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_for_remote_management_accounts.sh ├── check_gatekeeper_status │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_gatekeeper_status.sh ├── check_kbox_1000_agent_version │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_kbox_1000_agent_version.sh ├── check_mach_kernel_file_visibility │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── check_mach_kernel_file_visibility.sh ├── check_microsoft_defender_tamper_protection_status │ ├── Jamf_Pro_Extension_Attribute.png │ ├── README.md │ └── check_microsoft_defender_tamper_protection_status.sh ├── check_office_2011_folder_permissions │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_office_2011_folder_permissions.sh ├── check_remote_login_status │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_remote_login_status.sh ├── check_sophos_management_server │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_sophos_management_server.sh ├── check_system_integrity_protection_status │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── check_system_integrity_protection_status.sh ├── detect_bootcamp_partition │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── detect_bootcamp_partition.sh ├── detect_missing_secure_token │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── detect_missing_secure_token.sh ├── detect_user-approved_mdm │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── detect_user-approved_mdm.sh ├── display_last_logged_in_user │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── display_last_logged_in_user.sh ├── dns_search_domains │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── dns_search_domains.sh ├── filevault_2_encryption_check │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── filevault_2_encryption_check_extension_attribute.sh ├── jamf_protect_installed │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── jamf_protect_installed.sh ├── jamf_protect_server │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── jamf_protect_server.sh ├── jamf_protect_status │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── jamf_protect_status.sh ├── java_browser_plug-in_vendor │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── java_browser_plug-in_vendor.sh ├── java_browser_plug-in_version │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── java_browser_plug-in_version.sh ├── java_jdk_vendor │ ├── Jamf_Pro_Extension_Attribute.png │ ├── README.md │ ├── java_jdk_vendor.sh │ └── previous_version │ │ ├── Casper_Extension_Attribute_Setup.png │ │ ├── README.txt │ │ └── java_jdk_vendor.sh ├── kernel_panic_cause_detection │ ├── Jamf_Pro_Extension_Attribute.png │ ├── README.md │ └── kernel_panic_cause_detection.sh ├── kernel_panic_detection │ ├── Jamf_Pro_Extension_Attribute.png │ ├── README.md │ └── kernel_panic_detection.sh ├── locate_disposable_local_account │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── locate_disposable_local_account.sh ├── microsoft_autoupdate_installed │ ├── Jamf_Pro_Extension_Attribute.png │ ├── README.md │ └── microsoft_autoupdate_installed.sh ├── network_time_server │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── network_time_server.sh ├── oracle_java_jdk_version │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── oracle_java_jdk_version.sh ├── oracle_virtualbox_extension_pack_installed │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── oracle_virtualbox_extension_pack_installed.sh ├── report_IRK_public_key_hash │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── report_IRK_public_key_hash.sh ├── report_ad_domain │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── report_AD_domain.sh ├── report_latest_gatekeeper_update │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── report latest_gatekeeper_update.sh ├── report_latest_xprotect_update │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.md │ └── report latest_xprotect_update.sh ├── report_ldap_server │ ├── Casper_Extension_Attribute_Setup.png │ ├── README.txt │ └── report_ldap_server.sh └── set_deployment_group │ ├── Jamf_Pro_Extension_Attribute_Setup.png │ ├── README.md │ └── set_deployment_group.sh ├── Casper_Scripts ├── CasperCheck │ └── README.txt ├── Generate_Assigned_Mac_Report_From_Jamf_Pro_Usernames │ ├── Generate_Assigned_Mac_Report_From_Jamf_Pro_Usernames.sh │ └── README.md ├── Generate_Assigned_Mobile_Device_Report_From_Jamf_Pro_Usernames │ ├── Generate_Assigned_Mobile_Device_Report_From_Jamf_Pro_Usernames.sh │ └── README.md ├── Generate_Mac_Report_From_Jamf_Pro_ID_Numbers │ ├── Generate_Mac_Report_From_Jamf_Pro_ID_Numbers.sh │ └── README.md ├── Generate_Mac_Report_From_Jamf_Pro_Serial_Numbers │ ├── Generate_Mac_Report_From_Jamf_Pro_Serial_Numbers.sh │ └── README.md ├── Generate_Mobile_Device_Report_From_Jamf_Pro_ID_Numbers │ ├── Generate_Mobile_Device_Report_From_Jamf_Pro_ID_Numbers.sh │ └── README.md ├── Generate_Mobile_Device_Report_From_Jamf_Pro_Serial_Numbers │ ├── Generate_Mobile_Device_Report_From_Jamf_Pro_Serial_Numbers.sh │ └── README.md ├── Generate_Self_Service_Policy_Report │ ├── Generate_Self_Service_Policy_Report.sh │ └── README.md ├── Identify_and_Delete_Jamf_Pro_Inventory_Records_With_Duplicate_Serial_Numbers │ ├── Identify_and_Delete_Jamf_Pro_Inventory_Records_With_Duplicate_Serial_Numbers.sh │ └── README.md ├── Jamf-Pro-Delete-All-Policies-In-Specified-Category │ ├── Jamf-Pro-Delete-All-Policies-In-Specified-Category.sh │ └── README.md ├── Jamf-Pro-Disable-All-Policies-In-Specified-Category │ ├── Jamf-Pro-Disable-All-Policies-In-Specified-Category.sh │ └── README.md ├── Jamf-Pro-Disable-All-Policies │ ├── Jamf-Pro-Disable-All-Policies.sh │ └── README.md ├── Jamf-Pro-Enable-All-Policies-In-Specified-Category │ ├── Jamf-Pro-Enable-All-Policies-In-Specified-Category.sh │ └── README.md ├── Jamf-Pro-Enable-All-Policies │ ├── Jamf-Pro-Enable-All-Policies.sh │ └── README.md ├── Jamf-Pro-Remove-Restart-Options-From-All-Policies-In-Specified-Category │ ├── Jamf-Pro-Remove-Restart-Options-From-All-Policies-In-Specified-Category.sh │ └── README.md ├── Jamf-Pro-Remove-Restart-Options-From-All-Policies │ ├── Jamf-Pro-Remove-Restart-Options-From-All-Policies.sh │ └── README.md ├── Jamf_Pro_Advanced_Computer_Search_Download │ ├── Jamf_Pro_Advanced_Computer_Search_Download.sh │ └── README.md ├── Jamf_Pro_Buildings_Download │ ├── Jamf_Pro_Buildings_Download.sh │ └── README.md ├── Jamf_Pro_Categories_Download │ ├── Jamf_Pro_Categories_Download.sh │ └── README.md ├── Jamf_Pro_Computer_Extension_Attribute_Download │ ├── Jamf_Pro_Computer_Extension_Attribute_Download.sh │ └── README.md ├── Jamf_Pro_Computer_Group_Download │ ├── Jamf_Pro_Computer_Group_Download.sh │ └── README.md ├── Jamf_Pro_Computer_Policy_Download │ ├── Jamf_Pro_Computer_Policy_Download.sh │ └── README.md ├── Jamf_Pro_Computer_Script_Download │ ├── Jamf_Pro_Computer_Script_Download.sh │ └── README.md ├── Jamf_Pro_Departments_Download │ ├── Jamf_Pro_Departments_Download.sh │ └── README.md ├── Jamf_Pro_Detect_Self_Service_Policies_Without_Descriptions │ ├── Jamf_Pro_Detect_Self_Service_Policies_Without_Descriptions.sh │ ├── README.md │ └── images │ │ └── report.png ├── Jamf_Pro_Detect_Self_Service_Policies_Without_Icons │ ├── Jamf_Pro_Detect_Self_Service_Policies_Without_Icons.sh │ ├── README.md │ └── images │ │ └── report.png ├── Jamf_Pro_Dock_Items_Download │ ├── Jamf_Pro_Dock_Items_Download.sh │ └── README.md ├── Jamf_Pro_Download_Self_Service_Icons │ ├── Jamf_Pro_Download_Self_Service_Icons.sh │ ├── README.md │ └── images │ │ └── report.png ├── Jamf_Pro_Find_Empty_Computer_Inventories │ └── Jamf_Pro_Find_Empty_Computer_Inventories.sh ├── Jamf_Pro_Inventory_Asset_Tag_Update │ ├── Jamf_Pro_Inventory_Asset_Tag_Update.sh │ └── README.md ├── Jamf_Pro_JCDS_Installer_Package_Download │ ├── API_client_authentication │ │ └── Jamf_Pro_JCDS_Installer_Package_Download.sh │ ├── README.md │ └── user_account_authentication │ │ └── Jamf_Pro_JCDS_Installer_Package_Download.sh ├── Jamf_Pro_JCDS_Mobile_InHouseIPA_Download │ ├── API_client_authentication │ │ └── Jamf_Pro_JCDS_Mobile_InHouseIPA_Download.sh │ ├── README.md │ └── user_account_authentication │ │ └── Jamf_Pro_JCDS_Mobile_InHouseIPA_Download.sh ├── Jamf_Pro_MDM_Device_Lock │ ├── Jamf_Pro_MDM_Device_Lock.sh │ └── README.md ├── Jamf_Pro_MDM_Device_Lock_with_Report │ ├── Jamf_Pro_MDM_Device_Lock_with_Report.sh │ └── README.md ├── Jamf_Pro_Mac_Configuration_Profile_Download │ ├── Jamf_Pro_Mac_Configuration_Profile_Download.sh │ └── README.md ├── Jamf_Pro_Mobile_Device_Configuration_Profile_Download │ ├── Jamf_Pro_Mobile_Device_Configuration_Profile_Download.sh │ └── README.md ├── Jamf_Pro_Mobile_Device_Extension_Attribute_Download │ ├── Jamf_Pro_Mobile_Device_Extension_Attribute_Download.sh │ └── README.md ├── Jamf_Pro_Mobile_Device_Group_Download │ ├── Jamf_Pro_Mobile_Device_Group_Download.sh │ └── README.md ├── Jamf_Pro_Self_Service_Bookmark_Backup │ ├── Jamf_Pro_Self_Service_Bookmark_Backup.sh │ └── README.md ├── Jamf_Pro_Webhook_Download │ ├── Jamf_Pro_Webhook_Download.sh │ └── README.md ├── Set_Jamf_Pro_Computers_To_Managed │ ├── README.md │ └── Set_Jamf_Pro_Computers_To_Managed_Status.sh ├── ad_bind_problem_fixes │ ├── README.md │ └── ad_bind_problem_fixes.sh ├── casper_server_report │ ├── README.md │ └── casper_server_report.sh ├── clear_failed_Jamf_Pro_mdm_commands │ ├── README.md │ └── clear_failed_Jamf_Pro_mdm_commands.sh ├── clear_failed_Jamf_Pro_mdm_commands_from_groups │ ├── README.md │ ├── clear_failed_Jamf_Pro_mdm_commands_from_computer_group.sh │ └── clear_failed_Jamf_Pro_mdm_commands_from_mobile_device_group.sh ├── create_certificate_public_keys_for_dummy_profile_certificate_payload │ ├── README.md │ └── create_certificate_public_keys_for_dummy_profile_certificate_payload.sh ├── delete_Jamf_Pro_Computers │ ├── README.md │ └── delete_Jamf_Pro_Computers.sh ├── delete_Jamf_Pro_Mobile_Devices │ ├── README.md │ └── delete_Jamf_Pro_Mobile_Devices.sh ├── delete_Jamf_Pro_Packages │ ├── README.md │ └── delete_Jamf_Pro_Packages.sh ├── delete_Jamf_Pro_Policies │ ├── README.md │ └── delete_Jamf_Pro_Policies.sh ├── delete_Jamf_Pro_Scripts │ ├── README.md │ └── delete_Jamf_Pro_Scripts.sh ├── disable_printer_sharing │ ├── README.md │ └── disable_printer_sharing.sh ├── fix_byhost_and_flush_user_and_system_caches │ ├── README.md │ └── fix_byhost_and_flush_user_and_system_caches.sh ├── fix_casper_mdm │ ├── README.md │ └── fix_casper_mdm.sh ├── generate_filevault_recovery_key_report_from_jamf_pro_id_numbers │ ├── README.md │ └── generate_filevault_recovery_key_report_from_jamf_pro_id_numbers.sh ├── install_company_canon_printer_drivers │ ├── README.md │ └── install_company_canon_printer_drivers.sh ├── install_company_xerox_printer_drivers │ ├── README.md │ └── install_company_xerox_printer_drivers.sh ├── jamf_infrastructure_manager_automated_setup │ ├── README.md │ ├── jamf_infrastructure_manager_1.x │ │ ├── README.md │ │ └── jamf_infrastructure_manager_automated_setup.sh │ └── jamf_infrastructure_manager_2.x │ │ ├── README.md │ │ └── jamf_infrastructure_manager_automated_setup.sh ├── jamf_pro_manage_inventory_update_and_check_in │ ├── README.md │ └── jamf_pro_manage_inventory_update_and_check_in.sh ├── jss_location_lookup │ ├── README.txt │ └── jss_location_lookup.sh ├── manual_trigger │ ├── README.md │ └── manual_trigger.sh ├── message_display_scripts │ ├── DisplayAdobeCS55InstallerMessage.sh │ ├── DisplayAdobeCS5InstallerMessage.sh │ ├── DisplayAdobeWebPremiumCS55InstallerMessage.sh │ ├── DisplayMathematicaInstallerMessage.sh │ ├── DisplayMatlabInstallerMessage.sh │ ├── DisplayOffice2011InstallerMessage.sh │ ├── DisplayPrinterDriverInstallerMessage.sh │ ├── DisplayThirtyMinutesOperatingSystemInstallerMessage.sh │ ├── DisplayXCodeInstallerMessage.sh │ ├── application_installation_finished.sh │ ├── application_installation_finished_restart_needed.sh │ ├── application_uninstall_finished.sh │ ├── application_uninstall_finished_restart_needed.sh │ ├── browser_plugin_installation_finished.sh │ ├── mac_prepared_to_install_operating_system.sh │ ├── maintenance_process_finished_restart_needed.sh │ └── printer_setup_finished.sh ├── open_macappstore_address_via_self_service │ ├── README.md │ └── open_macappstore_address_via_self_service.sh ├── open_website_via_self_service │ ├── README.md │ └── open_website_via_self_service.sh ├── oracle_java_install │ ├── README.txt │ └── oracle_java_install.sh ├── renew_Jamf_Pro_mdm_profile │ ├── README.md │ └── renew_Jamf_Pro_mdm_profile.sh ├── run_all_jamf_pro_policies_in_specified_category │ ├── README.md │ └── run_all_jamf_pro_policies_in_specified_category.sh ├── self_service_os_install │ ├── elcapitan │ │ └── self_service_elcapitan_os_install.sh │ ├── sierra │ │ └── self_service_sierra_os_install.sh │ └── yosemite │ │ └── self_service_yosemite_os_install.sh ├── uninstall_scripts │ ├── uninstall_casper │ │ ├── README.md │ │ ├── payload_free │ │ │ ├── payload_free_script │ │ │ │ └── uninstall_casper_agent_payload_free.sh │ │ │ └── uninstall_casper_agent.zip │ │ └── uninstall_casper_agent.sh │ └── uninstall_mackeeper │ │ ├── README.md │ │ └── uninstall_mackeeper.sh ├── update_jamf_pro_user_inventory_using_apple_enterprise_connect_credentials │ ├── README.md │ └── update_jamf_pro_user_inventory_using_apple_enterprise_connect_credentials.sh ├── upload_lets_encrypt_certificates_to_jamf_pro │ ├── README.md │ └── jamfpro_letsencrypt.sh └── xcode_scripts │ ├── xcode_post_install_actions.sh │ └── xcode_uninstall.sh ├── Cisco_Secure_Client_enable_and_disable_VPN_module ├── Cisco_Secure_Client_enable_and_disable_VPN_module.sh ├── README.md └── readme_images │ ├── ask_to_disable_vpn.png │ ├── ask_to_enable_vpn.png │ ├── secure_client_window_vpn_disabled.png │ └── secure_client_window_vpn_enabled.png ├── Cisco_Secure_Client_postinstallation_enable_or_disable_VPN_module ├── Cisco_Secure_Client_postinstallation_disable_VPN_module.sh ├── Cisco_Secure_Client_postinstallation_enable_VPN_module.sh └── README.md ├── Export_Mac_Terminal_Profiles ├── Export_Mac_Terminal_Profiles.command └── README.md ├── Export_Mac_Terminal_Profiles_to_Configuration_Profile ├── Export_Mac_Terminal_Profiles_to_Configuration_Profile.command └── README.md ├── Interactive_AD_Home_Folder_Lookup ├── Interactive_AD_Home_Folder_Lookup.command └── README.txt ├── Interactive_Encrypt_With_FileVault_2 ├── Interactive_Encrypt_With_FileVault_2.command └── README.txt ├── active_directory_check ├── README.txt ├── adcheck.sh └── com.company.adcheck.plist ├── artwork_copy ├── README.md └── artwork_copy.sh ├── block_root_account_login ├── README.md ├── block_root_account_login.sh └── payload-free_package │ └── block_root_account_login.zip ├── bypass_mavericks_mdm_login_check ├── README.md ├── bypass_mavericks_mdm_login_check.sh └── payload-free_package │ └── Set_Mac_To_Bypass_Login_Check_for_Managed_Preferences.zip ├── check_apfs_encryption ├── README.md └── check_apfs_encryption.sh ├── check_apple_push_notification_certificate_identity ├── README.md └── check_apple_push_notification_certificate_identity.sh ├── check_for_admin_accounts ├── README.txt └── check_local_admin.sh ├── check_for_remote_management_accounts ├── README.txt └── check_for_remote_management_accounts.sh ├── check_gatekeeper_status ├── README.txt └── check_gatekeeper_status.sh ├── check_mdm_enrollment ├── README.md └── check_mdm_enrollment.sh ├── check_system_integrity_protection_status ├── README.txt └── check_system_integrity_protection_status.sh ├── configuring_firefox_browser_settings ├── README.md └── configuring_firefox_browser_settings.sh ├── crashplan_java_1_6_fix ├── README.txt └── crashplan_java_1_6_fix.sh ├── createRecoveryHDUpdater ├── README.txt └── createRecoveryHDUpdater.command ├── create_custom_guest_account ├── README.md └── create_custom_guest_account.sh ├── create_localadmin_from_directory_service ├── com.company.setup_admin_user.plist └── create_localadmin_from_directory_service.sh ├── create_office_2016_template_directory ├── README.md └── create_office_2016_template_directory.sh ├── create_os_x_vm_install_dmg └── README.txt ├── daily_server_report_script ├── 10.4.x │ └── Install in :etc:periodic:daily │ │ └── 090.daily.logreport ├── 10.5.x - 10.7.x │ ├── Install in :Library │ │ └── daily_report_script │ │ │ └── daily_logreport.sh │ └── Install in :Library:LaunchDaemons │ │ └── com.company.daily_report.plist ├── 10.8.x - 10.9.x │ ├── Install in :Library │ │ └── daily_report_script │ │ │ └── daily_logreport.sh │ └── Install in :Library:LaunchDaemons │ │ └── com.company.daily_report.plist └── README.txt ├── daily_tomcat_restart ├── README.txt ├── crontab_entry.txt └── daily_tomcat_restart.sh ├── delete_user_keychains ├── LaunchDaemon │ └── com.github.delete_user_keychains.plist ├── README.md ├── delete_user_keychains.sh └── payload_free │ ├── delete_user_keychains.zip │ └── payload_free_package_script │ └── delete_user_keychains_installer_script.sh ├── detect_installed_32_bit_apps ├── README.md └── detect_installed_32_bit_apps.sh ├── detect_missing_secure_token ├── README.md └── detect_missing_secure_token.sh ├── detect_user-approved_mdm ├── README.md └── detect_user-approved_mdm.sh ├── disable_airdrop ├── README.txt └── disable_airdrop.sh ├── disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups ├── README.md ├── disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups.sh ├── payload-free_package_script │ └── disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups_payload-free.sh ├── payload_free_package │ └── disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups.zip ├── previous_apple_icloud_diagnostic_and_siri_only_version │ └── disable_apple_icloud_diagnostic_and_siri_pop_ups.sh ├── previous_disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups │ ├── README.md │ ├── disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups.sh │ ├── payload-free_package_script │ │ └── disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups.sh │ ├── payload_free_package │ │ └── disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups.zip │ ├── previous_apple_icloud_diagnostic_and_siri_only_version │ │ └── disable_apple_icloud_diagnostic_and_siri_pop_ups.sh │ ├── previous_icloud_and_diagnostics_only_version │ │ └── disable_apple_icloud_and_diagnostic_pop_ups.sh │ └── previous_icloud_only_version │ │ └── disable_icloud_pop_up.sh ├── previous_disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups │ ├── README.md │ ├── disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups.sh │ ├── payload-free_package_script │ │ └── disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups_payload-free.sh │ └── payload_free_package │ │ └── disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups.zip ├── previous_icloud_and_diagnostics_only_version │ └── disable_apple_icloud_and_diagnostic_pop_ups.sh └── previous_icloud_only_version │ └── disable_icloud_pop_up.sh ├── disable_apple_intelligence_pop_up_window ├── README.md ├── disable_apple_intelligence_pop_up_window.sh └── readme_images │ └── SetupAssistantAppleIntelligenceScreen.png ├── disable_gatekeeper ├── README.txt ├── payload-free_package │ └── Disable_Gatekeeper.zip └── script │ └── disable_gatekeeper.sh ├── disable_mau_required_data_notice_screen ├── README.md ├── disable_mau_required_data_notice_screen.sh └── images │ └── disable_mau_required_data_notice_screen.png ├── disable_office_2016_first_run_settings ├── README.md ├── disable_office_2016_first_run_dialog_windows.sh └── payload_free │ ├── disable_office_2016_first_run_dialog_windows.zip │ └── payload_free_package_script │ └── disable_office_2016_first_run_dialog_windows_payload-free.sh ├── disable_parental_controls_on_OS_X_guest_account ├── README.md └── disable_parental_controls_on_OS_X_guest_account.sh ├── disable_visual_studio_code_telemetry ├── README.txt └── disable_visual_studio_code_telemetry.sh ├── download_latest_macOS_ipsw_for_virtualization ├── README.md └── download_latest_macOS_ipsw_for_virtualization.sh ├── download_macos_installers ├── README.md └── download_macos_installers.sh ├── enable_and_disable_touch_id_for_sudo ├── README.md ├── disable_sudo_touch_id_auth.sh └── enable_touch_id_auth_for_sudo.sh ├── enable_automatic_apple_software_updates ├── README.md └── enable_automatic_apple_software_updates.sh ├── enable_automatic_os_x_updates ├── README.md ├── enable_automatic_os_x_updates.sh └── payload-free_package │ ├── enable_automatic_os_x_updates.zip │ └── payload-free_package_script │ └── enable_automatic_os_x_updates_payload-free.sh ├── enable_external_network_adapter ├── README.md ├── enable_external_network_adapter.sh └── payload-free_package │ └── enable_external_network_adapter.zip ├── enable_java_web_plugins ├── README.txt └── enable_java_web_plugins.sh ├── enable_java_web_plugins_at_login ├── README.txt ├── com.company.enable_web_java_plugin.plist └── enable_web_java_plugin.sh ├── endnote_plug-in_installation ├── endnote_x7_plug-in_installation │ ├── README.md │ └── endnote_x7_plug-in_installation.sh └── endnote_x8_plug-in_installation │ ├── README.md │ └── endnote_x8_plug-in_installation.sh ├── filevault_2_encryption_check ├── README.txt ├── filevault_2_status_check.sh └── scripts_by_third_parties │ ├── a.e.van.bochoven │ ├── README.txt │ └── fv_status.sh │ ├── bsojka │ ├── FileVault Encryption.sh │ └── README.md │ ├── pmbuko │ ├── README.txt │ └── filevault_2_encryption_check.sh │ └── wdouglascampbell │ ├── README.txt │ └── filevault_2_status_check.sh ├── first_boot ├── 10.10 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── 10.11 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── 10.12 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── 10.6 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── 10.7 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── 10.8 │ ├── com.company.initialsetup.plist │ └── first_boot.sh └── 10.9 │ ├── com.company.initialsetup.plist │ └── first_boot.sh ├── first_boot_package_install └── README.txt ├── fix_byhost_uuid ├── README.txt └── fix_uuid.sh ├── fix_mach_kernel_file_visibility ├── README.md └── fix_mach_kernel_file_visibility.sh ├── fix_yosemite_vm_graphic_performance ├── README.md ├── installer │ └── fix_yosemite_vm_graphic_performance.zip └── resources │ ├── BeamOff_app │ └── beamoff.zip │ ├── LaunchAgent │ └── com.company.launch_beamoff.plist │ └── Packages_project_files │ └── fix_yosemite_vm_graphic_performance.zip ├── fix_zoom_vulnerability ├── README.md ├── fix_zoom_vulnerability.sh └── payload-free_package │ ├── Fix_Zoom_Vulnerability.zip │ └── script │ └── fix_zoom_vulnerability_payload-free.sh ├── force_unbind_from_active_directory ├── README.txt ├── force_unbind_from_active_directory.sh └── payload-free_package │ ├── Force_Unbind_From_Active_Directory.zip │ └── script │ └── force_unbind_mac_from_active_directory-payload_free.sh ├── hush_login ├── README.md ├── hush_login.sh └── installer │ ├── Hush_Login_Banner.zip │ └── installer_script_and_launchagent │ ├── LaunchAgent │ └── com.github.hush_login.plist │ └── hushlogin_payload-free_installer_script.sh ├── install_apple_java_on_demand ├── README.txt └── install_apple_java_on_demand.sh ├── install_apple_java_updates ├── README.txt └── install_apple_java_updates.sh ├── install_joyent_pkgsrc ├── README.md ├── install_joyent_pkgsrc.sh └── payload_free_installer │ ├── install_joyent_pkgsrc.zip │ └── payload_free_installer_script │ └── install_joyent_pkgsrc_payload-free.sh ├── install_latest_adobe_flash_player ├── README.md ├── install_latest_adobe_flash_player.sh └── payload_free_installer │ ├── install_latest_adobe_flash_player.zip │ └── payload_free_installer_script │ └── install_latest_adobe_flash_player_payload_free.sh ├── install_latest_oracle_java_7 ├── README.txt ├── install_latest_oracle_java_7.sh └── payload_free_installer │ ├── install_latest_oracle_java_7.zip │ └── payload_free_installer_script │ └── install_latest_oracle_java_7_payload_free.sh ├── install_latest_oracle_java_8 ├── README.txt ├── install_latest_oracle_java_8.sh └── payload_free_installer │ ├── install_latest_oracle_java_8.zip │ └── payload_free_installer_script │ └── install_latest_oracle_java_8_payload_free.sh ├── install_latest_oracle_java_8_jdk ├── README.md ├── install_latest_oracle_java_jdk_8.sh └── payload_free_package │ ├── install_latest_oracle_java_jdk_8_cpu_version.zip │ ├── install_latest_oracle_java_jdk_8_psu_version.zip │ └── script │ └── install_latest_oracle_java_jdk_8_payload_free.sh ├── install_latest_parallels_tools ├── README.md ├── install_latest_parallels_tools.sh └── payload_free_installer │ ├── install_latest_parallels_tools.zip │ └── script │ └── install_latest_parallels_tools_payload-free.sh ├── install_latest_utm_guest_tools ├── README.md └── install_latest_utm_guest_tools.sh ├── install_latest_vmware_tools ├── README.md ├── install_latest_vmware_tools.sh └── payload_free_installer │ ├── install_latest_vmware_tools.zip │ └── script │ └── install_latest_vmware_tools_payload-free.sh ├── install_rosetta_on_apple_silicon ├── README.md └── install_rosetta_on_apple_silicon.sh ├── install_xcode_command_line_tools ├── README.txt └── install_xcode_command_line_tools.sh ├── interactive_bind_to_AD_script ├── Interactive_Bind_to_AD.command └── README.txt ├── keychain_minder ├── Keychain_Minder_1_5.zip ├── README.txt └── installer_packages │ ├── Keychain_Minder_1_3.zip │ └── Keychain_Minder_1_5.zip ├── lion_show_user_library ├── README.txt ├── com.company.show_library.plist └── show_library.sh ├── migrate_ad_mobile_account_to_local_account ├── MigrateADMobileAccounttoLocalAccount.command └── README.md ├── migrate_local_user_to_AD_domain ├── MigrateLocalUserToADDomainAcct.command └── README.txt ├── migrate_local_user_to_LDAP_mobile_account ├── MigrateLocalUserToLDAPMobileAcct.command └── README.txt ├── network_setup ├── com.company.networksetup.plist └── network_setup.sh ├── office_2011_sp2_installer_permissions_fix ├── Office_2011_SP_2_World-Writable_Permissions_Fix.zip ├── README.txt └── office2011_SP2_permissions_fix.sh ├── open-ldap_bind_script ├── Mac_OpenLDAP_bind_script.sh └── README.txt ├── open-ldap_migration_script ├── README.md └── open-ldap_migration_script.sh ├── oracle_java_whitelist ├── README.md ├── com.company.oracle_java_whitelist.plist ├── oracle_java_whitelist.sh └── scripts_by_third_parties │ └── jacobsalmela │ ├── README.txt │ └── oracle_java_whitelist.sh ├── prohibited_app_removal ├── README.md └── prohibited_app_removal.sh ├── re-enable_java_6 ├── README.txt ├── payload-free_package │ └── re-enable_java_6.zip └── re-enable_java_6.sh ├── remote_sysdiagnose_collection ├── README.md └── remote_sysdiagnose_collection.sh ├── remove_10_6_AD_binding ├── README.txt └── remove_10_6_AD_Binding.sh ├── remove_microsoft_office_volume_license ├── README.md ├── payload-free │ ├── payload-free_script │ │ └── remove_microsoft_office_volume_license_payload-free.sh │ └── remove_microsoft_office_volume_license.zip └── remove_microsoft_office_volume_license.sh ├── rename_mac_hd ├── com.company.rename_hd.plist └── rename_hd.sh ├── rename_mac_hostname ├── com.company.rename_mac.plist └── rename_mac.sh ├── report_IRK_public_key_hash ├── README.md └── report_IRK_public_key_hash.sh ├── report_latest_gatekeeper_update ├── README.md └── report latest_gatekeeper_update.sh ├── report_latest_xprotect_update ├── README.md └── report latest_xprotect_update.sh ├── require_admin_password_for_system_preferences ├── lock_preferences.sh └── org.janelia.lock_preferences.plist ├── reset_all_font_caches ├── README.txt ├── payload-free_package │ └── Reset_User_and_System_Font_Caches.zip └── reset_all_font_caches.sh ├── reset_spotlight_index ├── README.md └── reset_spotlight_index.sh ├── resize_vm_boot_partition ├── payload_free_package │ └── resize_vm_boot_partition.zip └── resize_vm_boot_partition.sh ├── restart_dns_service ├── README.txt └── restart_dns.sh ├── restart_ntp_service ├── README.txt └── restart_ntp.sh ├── running_commands_remotely_with_ssh ├── README.txt └── running_commands_remotely_with_ssh.sh ├── safari_java_whitelist ├── README.txt ├── safari_java_whitelist_firstboot │ ├── com.company.safari_java_whitelist_firstboot.plist │ └── safari_java_whitelist_firstboot.sh └── safari_set_java_whitelist_at_login │ ├── com.company.safari_set_java_whitelist_at_login.plist │ └── safari_set_java_whitelist_at_login.sh ├── samanage_agent_silent_install ├── README.txt └── samanage_agent_silent_install.sh ├── set_apple_remote_desktop_to_use_directory_based_management_permissions ├── README.md └── set_apple_remote_desktop_to_use_directory_based_management_permissions.sh ├── set_computer_name_to_match_machine_serial_number ├── README.md └── set_computer_name_to_match_machine_serial_number.sh ├── set_dns_search_domains_on_ethernet_interfaces ├── README.md └── set_dns_search_domains_on_ethernet_interfaces.sh ├── set_endnote_volume_license ├── set_endnote_7_volume_license │ ├── README.md │ └── set_endnote_7_volume_license.sh └── set_endnote_8_volume_license │ ├── README.md │ └── set_endnote_8_volume_license.sh ├── set_office_2016_default_save_option_to_on_my_mac ├── README.md ├── payload_free │ ├── payload-free_script │ │ └── set_office_2016_default_save_option_to_on_my_mac-payload_free.sh │ └── set_office_2016_default_save_option_to_on_my_mac.zip └── set_office_2016_default_save_option_to_on_my_mac.sh ├── set_recovery_or_diagnostics_boot_mode ├── README.md └── set_recovery_or_diagnostics_boot_mode.sh ├── setting_diagnostic_result_reporting ├── README.md ├── payload_free │ ├── payload-free_script │ │ └── setting_diagnostic_result_reporting_payload_free.sh │ └── setting_diagnostic_result_reporting.zip └── setting_diagnostic_result_reporting.sh ├── setting_energy_saver_settings ├── README.txt ├── com.company.powersettings.plist └── powersettings.sh ├── setting_preferred_wireless_networks ├── README.txt └── setting_preferred_wireless_network.sh ├── setup_anonymous_OD_bind ├── com.company.setup_od_settings.plist └── setup_od_settings.sh ├── setup_osx_server_dot_app ├── README.md ├── payload-free │ └── setup_osx_server_dot_app.zip └── setup_osx_server_dot_app.sh ├── setup_server_logging_to_central_syslog_server ├── README.txt └── setup_server_logging_to_central_syslog_server.sh ├── sophos_av_scripts ├── download_sophos_installer_to_Linux_webserver │ ├── README.txt │ └── download_sophos_installer_to_Linux_webserver.sh ├── sophos_install_from_SMB_share │ ├── README.txt │ └── sophos_install_from_SMB_share.sh └── sophos_install_from_webserver_download │ ├── README.txt │ └── sophos_install_from_webserver_download.sh ├── ssh_on_successful_ping ├── README.txt └── ssh_on_successful_ping.sh ├── time_settings ├── README.txt └── time_settings.sh ├── tomcat_monitoring ├── README.txt ├── crontab_entry.txt ├── tomcat_check.sh └── tomcat_report.sh ├── unhide_users_and_fix_permissions ├── README.txt ├── payload_free_package │ └── unhide_users_and_fix_permissions.zip └── unhide_users_and_fix_permissions.sh ├── uninstallers ├── adobe_flash_uninstall │ ├── README.md │ └── adobe_flash_uninstall.sh ├── filewave_uninstall │ ├── README.txt │ ├── Uninstall_FileWave_Agent.zip │ └── filewave_uninstall.sh ├── kace_kbox_1000_uninstall │ ├── README.md │ ├── kace_kbox_1000_uninstall.sh │ └── payload-free │ │ └── kace_kbox_1000_uninstall.zip ├── microsoft_teams_uninstall │ └── Microsoft_Teams_Uninstall.sh ├── oracle_java_uninstall │ └── oracle_java_uninstall.sh ├── roxio_retrospect_uninstall │ ├── README.txt │ ├── Retrospect_Client_Uninstaller.zip │ └── roxio_retrospect_uninstall.sh ├── symantec_netbackup_uninstall │ ├── README.txt │ └── symantec_netbackup_uninstall.sh ├── tanium_uninstall │ ├── README.md │ ├── payload-free │ │ ├── payload-free_script │ │ │ └── tanium_uninstall_payload-free.sh │ │ └── tanium_uninstall_payload-free.zip │ └── tanium_uninstall.sh ├── trellix_uninstall │ └── Trellix_Uninstall.sh ├── uninstall_sophos_antivirus │ ├── README.md │ ├── payload-free_package │ │ ├── Uninstall_Sophos_AntiVirus.zip │ │ └── script │ │ │ └── uninstall_sophos_antivirus_payload-free.sh │ └── uninstall_sophos_antivirus.sh ├── zoom_uninstall │ ├── README.md │ └── zoom_uninstall.sh └── zscaler_uninstall │ ├── README.md │ └── zscaler_uninstall.sh ├── update_oracle_java_jdk_jvmcapabilities ├── README.md ├── payload_free_installer │ └── update_oracle_java_jdk_jvmcapabilities.zip └── update_oracle_java_jdk_jvmcapabilities.py ├── updating_connect_to_server_favorites ├── README.txt └── updating_connect_to_server_favorites.sh ├── virtualbox_permissions_fix ├── com.company.virtualboxpermissionsfix.plist └── virtualbox_permissions_fix.sh ├── vmware_fusion_java_7_patch ├── README.txt ├── payload-free_package │ └── VMWare_Java_Patch.zip └── script │ └── VMware-Java7-patch.py ├── xcode_post_install_actions ├── README.md ├── payload_free_installer │ ├── payload_free_installer_script │ │ └── xcode_post_install_actions-payload_free.sh │ └── xcode_post_install_action.zip └── xcode_post_install_actions.sh ├── xprotect_re-enable_adobe_flash ├── README.txt ├── com.company.xprotect_re-enable_adobe_flash.plist └── xprotect_re-enable_adobe_flash.sh └── xprotect_re-enable_java_6_and_7 ├── README.txt ├── com.company.xprotect_re-enable_java_6_and_7.plist └── xprotect_re-enable_java_6_and_7.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | These are scripts that I'm posting for other folks to use. -------------------------------------------------------------------------------- /rtrouton_scripts/10_5->10_6_Upgrade/custom_scripts/add_airport/add_airport.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script will create the AirPort wireless network 4 | # port if it didn't already exist on your Mac. 5 | 6 | sudo networksetup -createnetworkservice AirPort AirPort -------------------------------------------------------------------------------- /rtrouton_scripts/10_5->10_6_Upgrade/custom_scripts/clear_caches/clear_caches.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script will clear out the common cache folders 4 | # as well as clearing the virtual memory swapfile 5 | 6 | sudo rm -rf /Library/Caches/* 7 | sudo rm -rf /System/Library/Caches/* 8 | sudo rm -rf /Users/*/Library/Caches/* 9 | sudo rm -rf /var/vm/swapfile0 -------------------------------------------------------------------------------- /rtrouton_scripts/10_5->10_6_Upgrade/custom_scripts/reset_login_window/reset_login_window.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script is designed to reset your existing 4 | # /Library/Preferences/com.apple.loginwindow.plist 5 | # file by renaming the file. Following a reboot, a new 6 | # /Library/Preferences/com.apple.loginwindow.plist 7 | # file will be generated from the system defaults. 8 | 9 | sudo mv /Library/Preferences/com.apple.loginwindow.plist /Library/Preferences/com.apple.loginwindow.plist.backup -------------------------------------------------------------------------------- /rtrouton_scripts/10_5->10_6_Upgrade/upgrading_from_10_5_to_10_6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/10_5->10_6_Upgrade/upgrading_from_10_5_to_10_6.pdf -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/10_3-10_6-FileVaulted_Accounts/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/10_3-10_6-FileVaulted_Accounts/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/10_3-10_6-FileVaulted_Accounts/FileVault_accounts_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CWD=`pwd` 4 | USERS=$(ls -1 /Users) 5 | OS=`/usr/bin/sw_vers | grep ProductVersion | cut -c 17-20` 6 | 7 | for u in $USERS 8 | do 9 | if [ "$u" = "Shared" ]; then 10 | echo > /dev/null 11 | else 12 | dscl . read /users/$u >> $CWD/temp.txt 13 | fi 14 | done 15 | 16 | if [ "$OS" = "10.5" ]; then 17 | grep sparsebundle $CWD/temp.txt | cut -d / -f 5 18 | elif [ "$OS" = "10.6" ]; then 19 | grep sparsebundle $CWD/temp.txt | cut -d / -f 5 20 | else 21 | grep sparseimage $CWD/temp.txt | cut -d / -f 5 22 | fi 23 | 24 | rm $CWD/temp.txt -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/10_3-10_6-FileVaulted_Accounts/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks the /Users folder on the AM-managed client Mac. All user home folders encrypted with FileVault are listed. To avoid listing non-user folders, the "Shared" folder is excluded from the search. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. 4 | 5 | Note: This Custom Information Item will work correctly only on 10.3.x - 10.6.x encrypted Macs. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Accounts_on_the_Mac/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Accounts_on_the_Mac/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Accounts_on_the_Mac/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks the /Users folder on the AM-managed client Mac. All user home folders are listed. To avoid listing non-user folders, the "Deleted Users" and "Shared" folders are excluded from the search. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Accounts_on_the_Mac/accounts_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | USERS=$(ls -1 /Users) 4 | 5 | for u in $USERS 6 | do 7 | if [[ $u = .* ]]; then 8 | echo > /dev/null 9 | elif [[ "$u" = Deleted* || "$u" = Users* ]]; then 10 | echo > /dev/null 11 | elif [ "$u" = "Shared" ]; then 12 | echo > /dev/null 13 | else 14 | echo $u 15 | fi 16 | done -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Atempo_LiveBackup_Installed/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Atempo_LiveBackup_Installed/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Atempo_LiveBackup_Installed/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks to see if the Atempo LiveBackup client is installed by checking /Applications for LiveBackup.app. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Atempo_LiveBackup_Installed/livebackup_client_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CWD=`pwd` 4 | 5 | if [ -d /Applications/LiveBackup.app ]; then 6 | echo "Yes" >> $CWD/lbtemp.txt 7 | else 8 | echo "No" >> $CWD/lbtemp.txt 9 | fi 10 | cat $CWD/lbtemp.txt 11 | rm $CWD/lbtemp.txt -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Crashplan_Installed/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Crashplan_Installed/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Crashplan_Installed/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks to see if the Crashplan client is installed by checking /Applications for CrashPlan.app. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/Crashplan_Installed/crashplan_client_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CWD=`pwd` 4 | 5 | if [ -d /Applications/CrashPlan.app ]; then 6 | echo "Yes" >> $CWD/crashplantemp.txt 7 | else 8 | echo "No" >> $CWD/crashplantemp.txt 9 | fi 10 | cat $CWD/crashplantemp.txt 11 | rm $CWD/crashplantemp.txt -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/EMC_NetWorker_Installed/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/EMC_NetWorker_Installed/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/EMC_NetWorker_Installed/EMC_NetWorker_client_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CWD=`pwd` 4 | 5 | if [ -d /nsr ]; then 6 | echo "Yes" >> $CWD/nwtemp.txt 7 | else 8 | echo "No" >> $CWD/nwtemp.txt 9 | fi 10 | cat $CWD/nwtemp.txt 11 | rm $CWD/nwtemp.txt -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/EMC_NetWorker_Installed/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks to see if the EMC NetWorker backup client is installed by checking for the /nsr directory. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/FileVault_2_Encryption_Check/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/FileVault_2_Encryption_Check/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/PGP_Encryption_Check/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/PGP_Encryption_Check/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/PGP_Encryption_Check/PGP_encryption_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CWD=`pwd` 4 | 5 | if [ -f /PGPWDE01 ]; then 6 | echo "Yes" >> $CWD/pgptemp.txt 7 | else 8 | echo "No" >> $CWD/pgptemp.txt 9 | fi 10 | cat $CWD/pgptemp.txt 11 | rm $CWD/pgptemp.txt -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/PGP_Encryption_Check/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks to see if a Mac is encrypted with PGP by checking for the presence of the /PGPWDE01 file. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_ad_binding/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_ad_binding/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_ad_binding/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks Macs to see if their Active Directory binding is working correctly by calling an AD account name. If the account name resolves, the script returns "Yes" If the account name doesn't resolve when it should, the script returns "No". 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_ad_binding/check_ad_binding.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | username=AD_account_here 4 | 5 | id $username 1>/dev/null 6 | if [ $? -eq 0 ]; then 7 | result=Yes 8 | else 9 | result=No 10 | fi 11 | echo $result 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_for_admin_accounts/Absolute_Manage_Custom_Info_Item_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_for_admin_accounts/Absolute_Manage_Custom_Info_Item_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Absolute_Manage_Custom_Info_Items/check_for_admin_accounts/README.txt: -------------------------------------------------------------------------------- 1 | This Absolute Manage custom information item checks which accounts on a particular Mac have administrator rights. 2 | 3 | See "Absolute_Manage_Custom_Info_Item_Setup.png" for a screenshot of how the Custom Information Item should be configured. 4 | 5 | Credit to Ryan Manly for sharing this script (originally formatted as a Casper Extension Attribute) on the Casper list: 6 | http://list.jamfsoftware.com/mailman/htdig/casper/2011-November/016574.html -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_assigned_jamf_pro_server/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_assigned_jamf_pro_server/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_installed/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_installed/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_installed/README.md: -------------------------------------------------------------------------------- 1 | This Extension Attribute checks if the CasperCheck LaunchDaemon and script are installed. 2 | 3 | If both the script and LaunchDaemon are available at the defined location, script returns the following: 4 | 5 | **Yes** 6 | 7 | If either or both are missing, script returns the following: 8 | 9 | **No** 10 | 11 | See below for a screenshot of how the Extension Attribute should be configured. 12 | 13 | ![Casper_Extension_Attribute_Setup.png](Casper_Extension_Attribute_Setup.png) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/CasperCheck/caspercheck_installed/caspercheck_installed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Script to check if the CasperCheck LaunchDaemon and script 4 | # are installed. If both the script and LaunchDaemon are available 5 | # at the defined location, script returns "Yes". If either or both 6 | # are missing, the script returns "No" 7 | 8 | CasperCheckLaunchDaemon="/Library/LaunchDaemons/com.company.caspercheck.plist" 9 | CasperCheckScript="/Library/Scripts/caspercheck.sh" 10 | 11 | if [[ -f "$CasperCheckLaunchDaemon" ]] && [[ -f "$CasperCheckScript" ]]; then 12 | result="Yes" 13 | else 14 | result="No" 15 | fi 16 | 17 | echo "$result" 18 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Excel_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Excel_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_OneDrive_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_OneDrive_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_OneNote_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_OneNote_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Outlook_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Outlook_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_PowerPoint_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_PowerPoint_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_WindowsApp_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_WindowsApp_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Word_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/Microsoft_Word_Update_Source/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/apple_java_jdk_version/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/apple_java_jdk_version/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/apple_java_jdk_version/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute detects if a Mac's Java JDK was supplied by Apple. If Apple's Java JDK is not detected as being installed, an "Apple Java JDK Not Available" message is displayed. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_10_5_and_10_6_AD_password_interval/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_10_5_and_10_6_AD_password_interval/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_10_5_and_10_6_AD_password_interval/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks 10.5 and 10.6 Macs to see if their Active Directory machine password interval is set to 0. If it's set to 0, that means that the machine password will never update. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_80211x_wifi_network/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_80211x_wifi_network/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_80211x_wifi_network/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute is designed to identify whether or not a specific 802.11x wireless network is available on a Mac by checking the preferred wireless list and if the root CA for the 802.11x network is stored in /Library/Keychains/System.keychain 2 | 3 | If both the wireless network and root CA are available, the script returns "Yes" 4 | If both are not available, the script returns "No" 5 | 6 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 7 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_ad_binding/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_ad_binding/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_ad_binding/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks Macs to see if their Active Directory binding is working correctly by calling an AD account name. If the account name resolves, the script returns "Yes" If the account name doesn't resolve when it should, the script returns "No". 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apfs_encryption/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_apfs_encryption/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apple_push_notification_certificate_identity/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_apple_push_notification_certificate_identity/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apple_push_notification_certificate_identity/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute checks the [Apple Push Notification Service](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html) (APNS) certificate identifier on Macs running macOS. 2 | 3 | If an Apple Push Notification Service certificate identifier is not returned, the following message is displayed: 4 | 5 | `NA` 6 | 7 | `NA` stands for Not Applicable. 8 | 9 | Otherwise the APNS certificate identifier is returned as the result. 10 | 11 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 12 | 13 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apple_push_notification_certificate_identity/check_apple_push_notification_certificate_identity.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Checks the Apple Push Notification Service certificate identifier. If 4 | # an Apple Push Notification Service certificate identifier is not returned, 5 | # the following message is displayed without quotes: 6 | # 7 | # "NA" 8 | # 9 | # NA stands for Not Applicable. 10 | # 11 | # Otherwise the Apple Push Notification Service certificate identifier 12 | # is returned as the result. 13 | 14 | APNS_certificate=`/usr/sbin/system_profiler SPConfigurationProfileDataType | awk '/com.apple.mgmt/{ print $NF }' | sed 's/[";]//g'` 15 | 16 | if [[ "$APNS_certificate" = "" ]]; then 17 | result="NA" 18 | else 19 | result="$APNS_certificate" 20 | fi 21 | 22 | /bin/echo "$result" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apple_t2_chip_installed/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_apple_t2_chip_installed/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_apple_t2_chip_installed/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute checks to see if Apple's T2 chip is installed on a Mac. 2 | 3 | If Apple's T2 chip is installed: 4 | 5 | The following command will return `T2` as output 6 | 7 | `system_profiler SPiBridgeDataType | awk '/Apple T2 Security Chip/ {print $4}'` 8 | 9 | If Apple's T2 chip is not installed: 10 | 11 | Nothing will be returned as output. 12 | 13 | If Apple's T2 chip software is installed, the following message is displayed: 14 | 15 | `1` 16 | 17 | Otherwise, the following result is returned: 18 | 19 | `0` 20 | 21 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 22 | 23 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 24 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv4_address_used_on_Mac/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv4_address_used_on_Mac/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv4_address_used_on_Mac/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension attribute detects if an IPv4 network address is being used on a Mac. It returns the value below if one or more IPv4 addresses are detected on the Mac's various network interfaces. 2 | 3 | `1` 4 | 5 | In all other cases, the value below is returned: 6 | 7 | `0` 8 | 9 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 10 | 11 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv4_address_used_on_Mac/check_for_IPv4_address_used_on_Mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This Jamf Pro Extension attribute detects if an IPv4 network address is being used 4 | # on a Mac. It returns the value below if one or more IPv4 addresses are detected on 5 | # the Mac's various network interfaces. 6 | # 7 | # 1 8 | # 9 | # In all other cases, the value below is returned: 10 | # 11 | # 0 12 | 13 | IPv4Detected=$(/usr/sbin/system_profiler SPNetworkDataType | /usr/bin/grep -c "IPv4 Addresses:") 14 | 15 | eaResult="0" 16 | 17 | if [[ "$IPv4Detected" -ge 1 ]]; then 18 | eaResult="1" 19 | fi 20 | 21 | echo "$eaResult" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv6_address_used_on_Mac/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv6_address_used_on_Mac/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv6_address_used_on_Mac/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension attribute detects if an IPv6 network address is being used on a Mac. It returns the value below if one or more IPv6 addresses are detected on the Mac's various network interfaces. 2 | 3 | `1` 4 | 5 | In all other cases, the value below is returned: 6 | 7 | `0` 8 | 9 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 10 | 11 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_IPv6_address_used_on_Mac/check_for_IPv6_address_used_on_Mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This Jamf Pro Extension attribute detects if an IPv6 network address is being used 4 | # on a Mac. It returns the value below if one or more IPv6 addresses are detected on 5 | # the Mac's various network interfaces. 6 | # 7 | # 1 8 | # 9 | # In all other cases, the value below is returned: 10 | # 11 | # 0 12 | 13 | IPv6Detected=$(/usr/sbin/system_profiler SPNetworkDataType | /usr/bin/grep -c "IPv6 Addresses:") 14 | 15 | eaResult="0" 16 | 17 | if [[ "$IPv6Detected" -ge 1 ]]; then 18 | eaResult="1" 19 | fi 20 | 21 | echo "$eaResult" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_admin_accounts/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_admin_accounts/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_admin_accounts/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks which accounts on a particular Mac have administrator rights. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | 5 | Credit to Ryan Manly for sharing this script on the Casper list: 6 | http://list.jamfsoftware.com/mailman/htdig/casper/2011-November/016574.html -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_email_address_signed_into_Microsoft_Outlook/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_email_address_signed_into_Microsoft_Outlook/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_email_address_signed_into_Microsoft_Outlook/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro extension attribute detects the email address of the user who is signed into Microsoft Outlook. 2 | 3 | If a valid email address is detected, similar output to what's shown below is returned as the result: 4 | 5 | `firstname.lastname@company.com` 6 | 7 | If no valid email address is detected, the following output is returned as the result: 8 | 9 | 10 | 11 | In all other cases, the value below is returned: 12 | 13 | `Email Address Not Detected` 14 | 15 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 16 | 17 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_java_build_M4508/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_java_build_M4508/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_java_build_M4508/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute determines if either of the the following Java builds are installed: 2 | 3 | 10.6.x: 1.6.0_51-b11-456-10M4508 4 | 10.7.x - 10.8.x: 1.6.0_51-b11-456-11M4508 5 | 6 | These builds were installed by the first versions of Java for OS X 2013-004 and Java for Mac OS X 10.6 Update 16 and can cause problems for Java Swing applications like MATLAB and Papercut. 7 | 8 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 9 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2011_volume_license/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2011_volume_license/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2011_volume_license/README.md: -------------------------------------------------------------------------------- 1 | This Extension Attribute checks to see if the Microsoft Office 2011 for Mac volume license file is present: 2 | 3 | `/Library/Preferences/com.microsoft.office.licensing.plist` 4 | 5 | The Extension Attribute will display the following results: 6 | 7 | If the Microsoft Office 2011 for Mac volume license file is present at the specified location - **Yes** 8 | 9 | If the Microsoft Office 2011 for Mac volume license file does not exist at the specified location - **No** 10 | 11 | 12 | See **Casper_Extension_Attribute_Setup.png** for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2011_volume_license/check_for_office_2011_volume_license.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Location of the Microsoft Office 2011 Volume License file 4 | 5 | office_2011_volume_license="/Library/Preferences/com.microsoft.office.licensing.plist" 6 | 7 | # Check to see if the Office 2011 volume license file is present. 8 | # If the file is present, report the following result: 9 | # 10 | # Yes 11 | # 12 | # If the file is not present, report the following result: 13 | # 14 | # No 15 | 16 | if [[ -f "$office_2011_volume_license" ]]; then 17 | echo "Yes" 18 | else 19 | echo "No" 20 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2016_volume_license/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2016_volume_license/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2016_volume_license/README.md: -------------------------------------------------------------------------------- 1 | This Extension Attribute checks to see if the Microsoft Office 2016 for Mac volume license file is present: 2 | 3 | `/Library/Preferences/com.microsoft.office.licensingV2.plist` 4 | 5 | The Extension Attribute will display the following results: 6 | 7 | If the Microsoft Office 2016 for Mac volume license file is present at the specified location - **Yes** 8 | 9 | If the Microsoft Office 2016 for Mac volume license file does not exist at the specified location - **No** 10 | 11 | 12 | See **Casper_Extension_Attribute_Setup.png** for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_office_2016_volume_license/check_for_office_2016_volume_license.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Location of the Microsoft Office 2016 Volume License file 4 | 5 | office_2016_volume_license="/Library/Preferences/com.microsoft.office.licensingV2.plist" 6 | 7 | # Check to see if the Office 2016 volume license file is present. 8 | # If the file is present, report the following result: 9 | # 10 | # Yes 11 | # 12 | # If the file is not present, report the following result: 13 | # 14 | # No 15 | 16 | if [[ -f "$office_2016_volume_license" ]]; then 17 | echo "Yes" 18 | else 19 | echo "No" 20 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_remote_management_accounts/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_for_remote_management_accounts/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_for_remote_management_accounts/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks which local user accounts have Remote Management rights to access this Mac. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_gatekeeper_status/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_gatekeeper_status/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_gatekeeper_status/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks 10.7 and 10.8 Macs to see if Gatekeeper is disabled. If Gatekeeper is disabled, script returns "Disabled". Any other status will result in script returning "Active". 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_gatekeeper_status/check_gatekeeper_status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | osvers=$(sw_vers -productVersion | awk -F. '{print $2}') 4 | 5 | if [[ ${osvers} -lt 7 ]]; then 6 | echo "Gatekeeper Not Available For This Version Of Mac OS X" 7 | fi 8 | 9 | # Checks Gatekeeper status on Macs 10 | # running 10.7.x or higher 11 | 12 | if [[ ${osvers} -ge 7 ]]; then 13 | gatekeeper_status=`spctl --status | awk '/assessments/ {print $2}'` 14 | if [ $gatekeeper_status = "disabled" ]; then 15 | result=Disabled 16 | else 17 | result=Active 18 | fi 19 | echo "$result" 20 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_kbox_1000_agent_version/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_kbox_1000_agent_version/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_kbox_1000_agent_version/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks to see if the Dell KACE KBox 1000 Mac agent is installed. If installed, the agent version is returned. If the agent is not installed, the script returns "Not Installed". 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_kbox_1000_agent_version/check_kbox_1000_agent_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Check to see if the KBox agent is installed. 4 | # If the agent is installed, report the agent 5 | # version. 6 | 7 | if [ -f "/Library/Application Support/Dell/KACE/data/version" ]; then 8 | result=`cat "/Library/Application Support/Dell/KACE/data/version" | awk 'NR == 1'` 9 | echo "$result" 10 | else 11 | echo "Not installed" 12 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_mach_kernel_file_visibility/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_mach_kernel_file_visibility/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_microsoft_defender_tamper_protection_status/Jamf_Pro_Extension_Attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_microsoft_defender_tamper_protection_status/Jamf_Pro_Extension_Attribute.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_office_2011_folder_permissions/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_office_2011_folder_permissions/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_office_2011_folder_permissions/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks the permissions of the /Applications/Microsoft Office 2011 folder to see if they are correctly set to the following permissions: 2 | 3 | Owner: read/write/execute permissions 4 | Group: read/write/execute permissions 5 | Everyone: read/execute permissions 6 | 7 | If the permissions are set correctly, the script returns "Yes" If the permissions are set to some other combination, the script returns "No". 8 | 9 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 10 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_office_2011_folder_permissions/check_office_2011_folder_permissions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ls -ld /Applications/Microsoft\ Office\ 2011 > /dev/null; then 4 | if ls -ld /Applications/Microsoft\ Office\ 2011 | grep -q ^drwxrwxr-x 5 | then 6 | result=Yes 7 | else 8 | result=No 9 | fi 10 | echo "$result" 11 | fi 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_remote_login_status/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_remote_login_status/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_remote_login_status/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute displays whether or not remote logins via SSH are enabled. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_remote_login_status/check_remote_login_status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [[ -f "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup" ]] && [[ ! -f "/usr/sbin/systemsetup" ]]; then 4 | echo "`/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup -getremotelogin | awk '{print $3}'`" 5 | fi 6 | 7 | if [[ -f "/usr/sbin/systemsetup" ]]; then 8 | echo "`/usr/sbin/systemsetup -getremotelogin | awk '{print $3}'`" 9 | fi 10 | 11 | if [[ ! -f "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup" ]] && [[ ! -f "/usr/sbin/systemsetup" ]]; then 12 | echo "The systemsetup binary is not present on this machine." 13 | fi 14 | 15 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_sophos_management_server/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_sophos_management_server/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/check_system_integrity_protection_status/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/check_system_integrity_protection_status/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/detect_bootcamp_partition/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/detect_bootcamp_partition/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/detect_bootcamp_partition/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute uses the diskutil list command to check for disk partitions reporting as "Microsoft Basic Data". 2 | 3 | If Microsoft Basic Data partition is reported by diskutil, script reports "Yes". If no Microsoft Basic Data partition is reported by diskutil, script reports "No". 4 | 5 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/detect_bootcamp_partition/detect_bootcamp_partition.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Using diskutil list to check for 5 | # disk partitions reporting as 6 | # "Microsoft Basic Data" 7 | # 8 | 9 | BOOTCAMP_DETECT=$( /usr/sbin/diskutil list disk0 | grep -c "Microsoft Basic Data" ) 10 | 11 | # 12 | # If Microsoft Basic Data partition is 13 | # reported by diskutil, script reports 14 | # "Yes". If no Microsoft Basic Data partition 15 | # is reported by diskutil, script reports "No". 16 | # 17 | 18 | if [[ "${BOOTCAMP_DETECT}" == "1" ]]; then 19 | result=Yes 20 | else 21 | result=No 22 | fi 23 | echo "$result" 24 | 25 | exit 0 26 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/detect_missing_secure_token/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/detect_missing_secure_token/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/detect_user-approved_mdm/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/detect_user-approved_mdm/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/display_last_logged_in_user/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/display_last_logged_in_user/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/display_last_logged_in_user/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute is designed to display the username of the last user who logged in at the OS login window. See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 2 | 3 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 4 | 5 | If the `last_logged_in` variable is returning an empty value, then the `result` variable will return the following result: 6 | 7 | `NA` 8 | 9 | Otherwise, the `result` variable should return the username of the account which last logged into the OS login window. 10 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/display_last_logged_in_user/display_last_logged_in_user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | # Get the last user who logged in at the OS login window 4 | # The "last" command will tag those logins as "console" 5 | 6 | last_logged_in=$(/usr/bin/last | awk '/console/ {print $1}' | tail -1) 7 | 8 | # If the "last_logged_in" variable is returning an empty value, 9 | # then the "result" variable will return "NA" for Not Applicable. 10 | # 11 | # Otherwise, the "result" variable should return the username of 12 | # the account which last logged into the OS login window. 13 | 14 | if [[ -z "$last_logged_in" ]]; then 15 | result="NA" 16 | else 17 | result="$last_logged_in" 18 | fi 19 | 20 | echo "$result" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/dns_search_domains/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/dns_search_domains/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/dns_search_domains/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute lists all DNS search domains which are set on the active network connection. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/filevault_2_encryption_check/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/filevault_2_encryption_check/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_installed/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_installed/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_installed/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute checks to see if Jamf Protect is installed and executable. 2 | 3 | If Jamf Protect is installed: 4 | 5 | `/Library/Application Support/JamfProtect/JamfProtect.app` will be present. 6 | 7 | 8 | If Jamf Protect is not installed:: 9 | 10 | `/Library/Application Support/JamfProtect/JamfProtect.app` will not be found. 11 | 12 | If Jamf Protect is installed, the following message is displayed: 13 | 14 | `1` 15 | 16 | Otherwise, the following result is returned: 17 | 18 | `0` 19 | 20 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 21 | 22 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 23 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_installed/jamf_protect_installed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Jamf Pro Extension Attribute which checks to see if Jamf Protect is installed and executable. 4 | # 5 | # If Jamf Protect is installed: 6 | # 7 | # /Library/Application Support/JamfProtect/JamfProtect.app will be present. 8 | # 9 | # If Jamf Protect is not installed: 10 | # 11 | # /Library/Application Support/JamfProtect/JamfProtect.app will not be found 12 | # 13 | # 14 | # If Jamf Protect is installed, the following message is displayed: 15 | # 16 | # 1 17 | # 18 | # Otherwise, the following result is returned: 19 | # 20 | # 0 21 | 22 | JAMF_PROTECT="/Library/Application Support/JamfProtect/JamfProtect.app" 23 | 24 | if [[ -x "$JAMF_PROTECT" ]]; then 25 | echo "1" 26 | else 27 | echo "0" 28 | fi 29 | 30 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_server/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_server/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_server/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute checks to see if Jamf Protect's `protectctl` 2 | tool is installed. If the `protectctl` tool is installed, check for the Jamf Protect 3 | tenant name. 4 | 5 | If Jamf Protect's `protectctl` tool is installed: 6 | 7 | Output similar to that shown below will be returned: 8 | 9 | `jamf_protect_server_name_here.protect` 10 | 11 | Otherwise, the following result is returned: 12 | 13 | `NA` 14 | 15 | See `Jamf_Pro_Extension_Attribute_Setup.png` for a screenshot of how the Extension Attribute should be configured. 16 | 17 | ![Jamf_Pro_Extension_Attribute_Setup.png](Jamf_Pro_Extension_Attribute_Setup.png) 18 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_server/jamf_protect_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Jamf Pro Extension Attribute which checks to see if Jamf Protect's protectctl 4 | # tool is installed. If protectctl tool is installed, check for Jamf Protect 5 | # tenant name. 6 | # 7 | # If Jamf Protect's protectctl tool is installed: 8 | # 9 | # Output similar to that shown below will be returned: 10 | # 11 | # jamf_protect_server_name_here.protect 12 | # 13 | # Otherwise, the following result is returned: 14 | # 15 | # NA 16 | 17 | if [[ -x /usr/local/bin/protectctl ]]; then 18 | JAMF_PROTECT_SERVER=$(protectctl info | awk '/Tenant/ {print $2}') 19 | echo "$JAMF_PROTECT_SERVER" 20 | else 21 | echo "NA" 22 | fi 23 | 24 | exit 0 25 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_status/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/jamf_protect_status/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_vendor/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_vendor/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_vendor/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute detects if a Mac's Java browser plug-in in /Library/Internet Plug-Ins was supplied by Apple or Oracle. If no Java plug-in is detected, a "No Java Plug-In Available" message is displayed. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_vendor/java_browser_plug-in_vendor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | javaVendor=`/usr/bin/defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info CFBundleIdentifier` 4 | 5 | if [ "$javaVendor" = "com.oracle.java.JavaAppletPlugin" ]; then 6 | result=Oracle 7 | elif [ "$javaVendor" = "com.apple.java.JavaAppletPlugin" ]; then 8 | result=Apple 9 | elif [ "$javaVendor" = "" ]; then 10 | result="No Java Plug-In Available" 11 | fi 12 | 13 | echo "$result" 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_version/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_version/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_browser_plug-in_version/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute detects the version of the JavaAppletPlugin plug-in in /Library/Internet Plug-Ins. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | 5 | Credit to Christoph von Gabler-Sahm for sharing this script on JAMF Nation: 6 | https://jamfnation.jamfsoftware.com/discussion.html?id=5790 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_jdk_vendor/Jamf_Pro_Extension_Attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/java_jdk_vendor/Jamf_Pro_Extension_Attribute.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_jdk_vendor/previous_version/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/java_jdk_vendor/previous_version/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/java_jdk_vendor/previous_version/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute detects if a Mac's Java JDK was supplied by Apple or Oracle. If no Java JDK is detected as being installed, a "No Java JDK Available" message is displayed. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_cause_detection/Jamf_Pro_Extension_Attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_cause_detection/Jamf_Pro_Extension_Attribute.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_cause_detection/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute is designed to list the contents of the `/Library/Logs/DiagnosticReports` directory and check the most recently created log file with the file suffix of `.panic` for the process which caused the most recent kernel panic. 2 | 3 | 4 | See below for a screenshot of how the Extension Attribute should be configured. 5 | 6 | ![](Jamf_Pro_Extension_Attribute.png) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_detection/Jamf_Pro_Extension_Attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_detection/Jamf_Pro_Extension_Attribute.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_detection/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute is designed to check the contents of `/Library/Logs/DiagnosticReports` and report on how many log files with the file suffix of `.panic` were created in the previous seven days. 2 | 3 | See below for a screenshot of how the Extension Attribute should be configured. 4 | 5 | ![](Jamf_Pro_Extension_Attribute.png) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/kernel_panic_detection/kernel_panic_detection.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Detects kernel panics which occurred in the last seven days. 4 | # 5 | # Original idea and script from here: 6 | # https://www.jamf.com/jamf-nation/discussions/23976/kernal-panic-reporting#responseChild145035 7 | # 8 | # This Jamf Pro Extension Attribute is designed to 9 | # check the contents of /Library/Logs/DiagnosticReports 10 | # and report on how many log files with the file suffix 11 | # of ".panic" were created in the previous seven days. 12 | 13 | PanicLogCount=$(/usr/bin/find /Library/Logs/DiagnosticReports -not -path '*/\.*' -Btime -7 -name *.panic | grep . -c) 14 | 15 | echo "$PanicLogCount" 16 | 17 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/locate_disposable_local_account/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/locate_disposable_local_account/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/locate_disposable_local_account/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute is designed to identify specific local user accounts which are older than a certain number of days. 2 | 3 | If account is not found, script returns "username_goes_here account not present" 4 | If account is found and the account's home folder is older than the set number of days, script returns "Yes" 5 | If account is found and the account's home folder is not older than the set number of days, script returns "No" 6 | If account is found but age can't be determined, script returns "username_goes_here account present but unable to determine age. Please check." 7 | 8 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 9 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/microsoft_autoupdate_installed/Jamf_Pro_Extension_Attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/microsoft_autoupdate_installed/Jamf_Pro_Extension_Attribute.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/microsoft_autoupdate_installed/README.md: -------------------------------------------------------------------------------- 1 | This Jamf Pro Extension Attribute verifies if Microsoft AutoUpdate is installed. The EA will return one of the following values: 2 | 3 | * **0** 4 | * **1** 5 | 6 | The returned values indicate the following: 7 | 8 | * **0** = Microsoft AutoUpdate is not installed. 9 | * **1** = Microsoft AutoUpdate is installed. 10 | 11 | See below for a screenshot of how the Extension Attribute should be configured. 12 | 13 | ![](Jamf_Pro_Extension_Attribute.png) 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/microsoft_autoupdate_installed/microsoft_autoupdate_installed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This Jamf Pro Extension Attribute checks for the Microsoft AutoUpdate 4 | # app and identifies if Microsoft AutoUpdate is installed. 5 | 6 | # Once the existence of the Microsoft AutoUpdate app 7 | # is verified, the EA will return the following result: 8 | # 9 | # 0 = Microsoft AutoUpdate is not installed 10 | # 1 = Microsoft AutoUpdate is installed 11 | 12 | if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app" ]]; then 13 | echo "1" 14 | else 15 | echo "0" 16 | fi 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/network_time_server/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/network_time_server/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/network_time_server/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute lists the address of the network time server that is currently set for the machine. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/network_time_server/network_time_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [[ -f "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup" ]] && [[ ! -f "/usr/sbin/systemsetup" ]]; then 4 | echo "`/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup -getnetworktimeserver | awk '{print $4}'`" 5 | fi 6 | 7 | if [[ -f "/usr/sbin/systemsetup" ]]; then 8 | echo "`/usr/sbin/systemsetup -getnetworktimeserver | awk '{print $4}'`" 9 | fi 10 | 11 | if [[ ! -f "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/systemsetup" ]] && [[ ! -f "/usr/sbin/systemsetup" ]]; then 12 | echo "The systemsetup binary is not present on this machine." 13 | fi 14 | 15 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/oracle_java_jdk_version/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/oracle_java_jdk_version/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/oracle_java_jdk_version/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute detects if a Mac's Java JDK was supplied by Oracle. If Oracle's Java JDK is not detected as being installed, an "Oracle Java JDK Not Available" message is displayed. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/oracle_virtualbox_extension_pack_installed/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/oracle_virtualbox_extension_pack_installed/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_IRK_public_key_hash/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/report_IRK_public_key_hash/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ad_domain/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/report_ad_domain/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ad_domain/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks to see if the Mac is connected to an Active Directory domain. If the Mac is not bound to LDAP, script returns "Not Bound to Active Directory". If bound to Active Directory, the AD domain name is returned. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ad_domain/report_AD_domain.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ADDomainCheck=`dsconfigad -show | awk '/Active Directory Domain/{print $NF}'` 4 | 5 | if [ "$ADDomainCheck" = "" ]; then 6 | result="Not Bound to Active Directory" 7 | elif [ "$ADDomainCheck" != "" ]; then 8 | result=$ADDomainCheck 9 | fi 10 | 11 | echo "$result" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_latest_gatekeeper_update/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/report_latest_gatekeeper_update/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_latest_gatekeeper_update/README.md: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute will check for the most recent update for Gatekeeper and display the last-updated date and time. See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_latest_xprotect_update/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/report_latest_xprotect_update/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_latest_xprotect_update/README.md: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute will check for the most recent update for XProtect and display the last-updated date and time. See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ldap_server/Casper_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/report_ldap_server/Casper_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ldap_server/README.txt: -------------------------------------------------------------------------------- 1 | This Casper Extension Attribute checks to see if the Mac is connected to an LDAP server. If the Mac is not bound to LDAP, script returns "Not Bound to LDAP". If bound to LDAP, the address of the LDAP server is returned. 2 | 3 | See "Casper_Extension_Attribute_Setup.png" for a screenshot of how the Extension Attribute should be configured. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/report_ldap_server/report_ldap_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | LDAPServerCheck=`/usr/bin/dscl localhost -list /LDAPv3` 4 | 5 | if [ "$LDAPServerCheck" = "" ]; then 6 | result="Not Bound to LDAP" 7 | elif [ "$LDAPServerCheck" != "" ]; then 8 | result=$LDAPServerCheck 9 | fi 10 | 11 | echo "$result" -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Extension_Attributes/set_deployment_group/Jamf_Pro_Extension_Attribute_Setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Extension_Attributes/set_deployment_group/Jamf_Pro_Extension_Attribute_Setup.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/CasperCheck/README.txt: -------------------------------------------------------------------------------- 1 | CasperCheck has moved to its own repo. It's now available at the following address: 2 | 3 | https://github.com/rtrouton/CasperCheck -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Delete-All-Policies-In-Specified-Category/README.md: -------------------------------------------------------------------------------- 1 | This script is used to delete all policies in a specified category via the Jamf API. 2 | 3 | Script is adapted from `purgeAllPoliciesInCategory.bash` by [Jeffrey Compton](https://twitter.com/igeekjsc) 4 | 5 | Link: [https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash](https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Disable-All-Policies-In-Specified-Category/README.md: -------------------------------------------------------------------------------- 1 | This script is used to disable all policies in a specified category via the Jamf API. 2 | 3 | Script is adapted from `purgeAllPoliciesInCategory.bash` by [Jeffrey Compton](https://twitter.com/igeekjsc) 4 | 5 | Link: [https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash](https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Disable-All-Policies/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of 2 | the computer policies stored on a Jamf Pro server then do the following: 3 | 4 | * Disable the policy 5 | * Display HTTP return code and API output 6 | 7 | Successful policy disabling should produce output similar to that shown below: 8 | 9 | `201 1` 10 | 11 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 12 | 13 | **Jamf Pro Server Objects**: 14 | 15 | **Policies**: `Read`, `Update` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Enable-All-Policies-In-Specified-Category/README.md: -------------------------------------------------------------------------------- 1 | This script is used to enable all policies in a specified category via the Jamf API. 2 | 3 | Script is adapted from `purgeAllPoliciesInCategory.bash` by [Jeffrey Compton](https://twitter.com/igeekjsc) 4 | 5 | Link: [https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash](https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Enable-All-Policies/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of 2 | the computer policies stored on a Jamf Pro server then do the following: 3 | 4 | * Enable the policy 5 | * Display HTTP return code and API output 6 | 7 | Successful policy enabling should produce output similar to that shown below: 8 | 9 | `201 1` 10 | 11 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 12 | 13 | **Jamf Pro Server Objects**: 14 | 15 | **Policies**: `Read`, `Update` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Remove-Restart-Options-From-All-Policies-In-Specified-Category/README.md: -------------------------------------------------------------------------------- 1 | This script is used to remove the restart option from all policies in a specified category via the Jamf API. 2 | 3 | Script is adapted from `purgeAllPoliciesInCategory.bash` by [Jeffrey Compton](https://twitter.com/igeekjsc) 4 | 5 | Link: [https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash](https://github.com/igeekjsc/JSSAPIScripts/blob/master/purgeAllPoliciesInCategory.bash) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf-Pro-Remove-Restart-Options-From-All-Policies/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of 2 | the computer policies stored on a Jamf Pro server then do the following: 3 | 4 | * Remove the restart options from the computer policy 5 | * Display HTTP return code and API output 6 | 7 | Successful policy disabling should produce output similar to that shown below: 8 | 9 | `201 1` 10 | 11 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 12 | 13 | **Jamf Pro Server Objects**: 14 | 15 | **Policies**: `Read`, `Update` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Advanced_Computer_Search_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the computer extension attributes stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded advanced computer search directory 4 | 2. Download the advanced computer search as XML 5 | 3. Identify the advanced computer search name 6 | 4. Save the advanced computer search to a specified directory 7 | 8 | 9 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 10 | 11 | **Jamf Pro Server Objects:** 12 | 13 | * Advanced Computer Searches: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Buildings_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the buildings stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded building directory 4 | 2. Download the building as XML 5 | 3. Identify the building name 6 | 4. Save the building to a specified directory 7 | 8 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 9 | 10 | **Jamf Pro Server Objects:** 11 | 12 | * Buildings: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Categories_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the categories stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded category directory 4 | 2. Download the category as XML 5 | 3. Identify the category name 6 | 4. Save the category to a specified directory 7 | 8 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 9 | 10 | **Jamf Pro Server Objects:** 11 | 12 | * Categories: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Computer_Extension_Attribute_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the computer extension attributes stored on a Jamf Pro server then do the following: 2 | 3 | 1. Download the extension attribute as XML. 4 | 2. Identify the extension attribute name. 5 | 3. Categorize the downloaded extension attribute. 6 | 4. If it's a macOS or Windows extension attribute and it has a script, extract the script. 7 | 5. Save the extension attribute as `Extension Attribute Name Here` to a specified directory. 8 | 9 | 10 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 11 | 12 | **Jamf Pro Server Objects:** 13 | 14 | * Computer Extension Attributes: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Computer_Group_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the macOS smart and static groups stored on a Jamf Pro server then do the following: 2 | 3 | 1. Download the associated group information as XML 4 | 2. Properly format the downloaded XML 5 | 3. Identify the display name of the group. 6 | 4. Identify if it was a smart or static group. 7 | 5. Save the downloaded XML as `Group Name Here.xml` to a specified download directory, based on whether it was a smart or static group. 8 | 9 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 10 | 11 | **Jamf Pro Server Objects:** 12 | 13 | * Smart Computer Groups: `Read` 14 | * Static Computer Groups: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Computer_Policy_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the macOS policies stored on a Jamf Pro server then do the following: 2 | 3 | 1. If any policies were previously downloaded, back up existing downloaded policies into a `.zip` file 4 | 2. Download the policy information as XML 5 | 2. Properly format the downloaded XML 6 | 3. Identify the display name of the policy. 7 | 4. Identify the category of the policy. 8 | 5. Save the downloaded XML as `Policy Name Here.xml` to a specified download directory, based on the category that the policy is in. 9 | 10 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 11 | 12 | **Jamf Pro Server Objects:** 13 | 14 | * Policies: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Computer_Script_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the macOS scripts stored on a Jamf Pro server then do the following: 2 | 3 | 1. Use the Jamf Pro API to identify the Jamf Pro ID numbers of the scripts. 4 | 2. Download each script using its Jamf Pro ID number as raw XML. 5 | 3. Format the downloaded XML 6 | 4. Identify the display name of the script 7 | 5. Extract the script from the downloaded XML 8 | 6. Save the script as `Display Name Goes Here` to a specified download directory. 9 | 10 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 11 | 12 | **Jamf Pro Server Objects:** 13 | 14 | * Scripts: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Departments_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the categories stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded category directory 4 | 2. Download the category as XML 5 | 3. Identify the category name 6 | 4. Save the category to a specified directory 7 | 8 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 9 | 10 | **Jamf Pro Server Objects:** 11 | 12 | * Categories: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Descriptions/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify Self Service policies with blank descriptions. 2 | 3 | ![](images/report.png) 4 | 5 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 6 | 7 | **Jamf Pro Server Objects:** 8 | 9 | * Policies: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Descriptions/images/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Descriptions/images/report.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Icons/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify Self Service policies that don't have icons. 2 | 3 | ![](images/report.png) 4 | 5 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 6 | 7 | **Jamf Pro Server Objects:** 8 | 9 | * Policies: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Icons/images/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Scripts/Jamf_Pro_Detect_Self_Service_Policies_Without_Icons/images/report.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Dock_Items_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the dock items stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded dock item directory 4 | 2. Download the dock item as XML 5 | 3. Identify the dock item name 6 | 4. Save the dock item to a specified directory 7 | 8 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 9 | 10 | **Jamf Pro Server Objects:** 11 | 12 | * Dock Items: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Download_Self_Service_Icons/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro Classic API to detect which Self Service policies have icons and downloads the icon graphic files to a download directory. 2 | 3 | ![](images/report.png) 4 | 5 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 6 | 7 | **Jamf Pro Server Objects:** 8 | 9 | * Policies: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Download_Self_Service_Icons/images/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Scripts/Jamf_Pro_Download_Self_Service_Icons/images/report.png -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_JCDS_Installer_Package_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro Classic API and Jamf Pro API to download installer package files from a JCDS 2 distribution point to a download directory. 2 | 3 | This script comes in two versions to support the following methods of API authentication: 4 | 5 | * API client authentication - see the `API_client_authentication` directory. 6 | * User account authentication - see the `user_account_authentication` directory. 7 | 8 | Here are the required API privileges for the API client or user account on the Jamf Pro server: 9 | 10 | **Jamf Pro Server Objects:** 11 | 12 | * Packages: `Read` 13 | * Jamf Content Distribution Server Files: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Mac_Configuration_Profile_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of 2 | the macOS configuration profiles stored on a Jamf Pro server then download, decode 3 | and properly format the profiles as `.mobileconfig` files. 4 | 5 | If setting up a specific user account with limited rights, here are the required API privileges 6 | for the account on the Jamf Pro server: 7 | 8 | **Jamf Pro Server Objects:** 9 | 10 | macOS Configuration Profiles: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Mobile_Device_Configuration_Profile_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of 2 | the iOS and tvOS configuration profiles stored on a Jamf Pro server then download, 3 | decode and properly format the profiles as `.mobileconfig` files. 4 | 5 | If setting up a specific user account with limited rights, here are the required API privileges 6 | for the account on the Jamf Pro server: 7 | 8 | **Jamf Pro Server Objects:** 9 | 10 | Mobile Device Configuration Profiles: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Mobile_Device_Extension_Attribute_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the mobile device extension attributes stored on a Jamf Pro server then do the following: 2 | 3 | 1. Download the extension attribute as XML. 4 | 2. Identify the extension attribute name. 5 | 3. Categorize the downloaded extension attribute. 6 | 4. Save the extension attribute as `Extension Attribute Name Here.xml` to a specified directory. 7 | 8 | 9 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 10 | 11 | **Jamf Pro Server Objects:** 12 | 13 | * Mobile Device Extension Attributes: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Mobile_Device_Group_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the iOS and tvOS smart and static groups stored on a Jamf Pro server then do the following: 2 | 3 | 1. Download the associated group information as XML 4 | 2. Properly format the downloaded XML 5 | 3. Identify the display name of the group. 6 | 4. Identify if it was a smart or static group. 7 | 5. Save the downloaded XML as `Group Name Here.xml` to a specified download directory, based on whether it was a smart or static group. 8 | 9 | If setting up a specific user account with limited rights, here are the required API privileges for the account on the Jamf Pro server: 10 | 11 | **Jamf Pro Server Objects:** 12 | 13 | * Smart Mobile Device Groups: `Read` 14 | * Static Mobile Device Groups: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Self_Service_Bookmark_Backup/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to create and store backups of Jamf Pro Self Service bookmark data stored in `/Library/Application Support/com.jamfsoftware.selfservice.mac/CocoaAppCD.storedata`, using the following process: 2 | 3 | 1. If necessary, create a directory for storing backup copies of Jamf Pro Self Service bookmark files. 4 | 2. Make copies of the Self Service bookmark files. 5 | 3. Name the copied files using the title of the Self Service bookmark. 6 | 4. Store the copied bookmarks in the specified directory. 7 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/Jamf_Pro_Webhook_Download/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to use the Jamf Pro API to identify the individual IDs of the webhooks stored on a Jamf Pro server then do the following: 2 | 3 | 1. Back up existing downloaded webhook directory 4 | 2. Download the webhook as XML 5 | 3. Identify the webhook name 6 | 4. Save the webhook to a specified directory 7 | 8 | If setting up a specific user account with limited rights, here are the required API privileges 9 | for the account on the Jamf Pro server: 10 | 11 | **Jamf Pro Server Objects:** 12 | 13 | * Webhooks: `Read` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/ad_bind_problem_fixes/README.md: -------------------------------------------------------------------------------- 1 | Script for use with fixing common Active Directory binding issues. Script uses the address of a NTP time server (set as **Parameter 4** in the script's parameter list in the JSS) to specify which NTP server should be used by **ntpdate**. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/delete_Jamf_Pro_Computers/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to delete computers from Jamf Pro using the Jamf Pro API. Four items are required to use this script: 2 | 3 | * A text file containing the Jamf Pro IDs of the computer(s) you wish to delete. 4 | * The URL of the appropriate Jamf Pro server. 5 | * The username of an account on the Jamf Pro server with sufficient privileges to delete computers from the Jamf Pro server. 6 | * The password for the relevant account on the Jamf Pro server. 7 | 8 | Once the four specified items are available, the script can be run using the following command: 9 | 10 | `/path/to/delete_Jamf_Pro_Computers.sh /path/to/text_filename_here.txt` 11 | 12 | Original script by Randy Saeks: 13 | [https://github.com/rsaeks/scripts/blob/master/delMobileDevice.sh](https://github.com/rsaeks/scripts/blob/master/delMobileDevice.sh) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/delete_Jamf_Pro_Packages/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to delete installer packages from Jamf Pro using the Jamf Pro Classic API. Four items are required to use this script: 2 | 3 | * A text file containing the Jamf Pro IDs of the installer package(s) you wish to delete. 4 | * The URL of the appropriate Jamf Pro server. 5 | * The username of an account on the Jamf Pro server with sufficient privileges to delete installer packages from the Jamf Pro server. 6 | * The password for the relevant account on the Jamf Pro server. 7 | 8 | Once the four specified items are available, the script can be run using the following command: 9 | 10 | `/path/to/delete_Jamf_Pro_Packages.sh /path/to/text_filename_here.txt` 11 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/delete_Jamf_Pro_Policies/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to delete policies from Jamf Pro using the Jamf Pro API. Four items are required to use this script: 2 | 3 | * A text file containing the Jamf Pro IDs of the policies you wish to delete. 4 | * The URL of the appropriate Jamf Pro server. 5 | * The username of an account on the Jamf Pro server with sufficient privileges to delete policies from the Jamf Pro server. 6 | * The password for the relevant account on the Jamf Pro server. 7 | 8 | Once the four specified items are available, the script can be run using the following command: 9 | 10 | `/path/to/delete_Jamf_Pro_Scripts.sh /path/to/text_filename_here.txt` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/delete_Jamf_Pro_Scripts/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to delete scripts from Jamf Pro using the Jamf Pro API. Four items are required to use this script: 2 | 3 | * A text file containing the Jamf Pro IDs of the script(s) you wish to delete. 4 | * The URL of the appropriate Jamf Pro server. 5 | * The username of an account on the Jamf Pro server with sufficient privileges to delete scripts from the Jamf Pro server. 6 | * The password for the relevant account on the Jamf Pro server. 7 | 8 | Once the four specified items are available, the script can be run using the following command: 9 | 10 | `/path/to/delete_Jamf_Pro_Scripts.sh /path/to/text_filename_here.txt` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/disable_printer_sharing/README.md: -------------------------------------------------------------------------------- 1 | Script for use with Casper's Self Service when deploying printers. Script uses a printer queue name (set as **Parameter 4** in the script's parameter list in the JSS) to specify which printer queue should have printer sharing disabled. 2 | 3 | You can get the print queue name by verifying that the the printer has been added and then running the following command: 4 | 5 | **lpstat -p** -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/disable_printer_sharing/disable_printer_sharing.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script disables printer sharing on a designated printer. 4 | 5 | printer_name="$4" 6 | 7 | lpadmin -p "$printer_name" -o printer-is-shared=false 8 | 9 | echo "Print Sharing for $printer_name has been disabled." 10 | 11 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/fix_byhost_and_flush_user_and_system_caches/README.md: -------------------------------------------------------------------------------- 1 | This script is designed for use as part of a Casper policy to perform the following actions: 2 | 3 | * Fix the ByHost files for the current boot drive 4 | * Flush caches from ~/Library/Caches/, ~/.jpi_cache/, and the Microsoft Office font cache for the logged-in user 5 | * Flush caches from /Library/Caches/ and /System/Library/Caches/, except for any com.apple.LaunchServices caches -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/fix_casper_mdm/README.md: -------------------------------------------------------------------------------- 1 | This script is designed for use as part of a Casper policy to automatically fix Casper Mac MDM enrollment. An example workflow is available from here: 2 | 3 | [https://derflounder.wordpress.com/2013/08/31/automatically-fixing-casper-mac-mdm-enrollment/](https://derflounder.wordpress.com/2013/08/31/automatically-fixing-casper-mac-mdm-enrollment/) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/jamf_pro_manage_inventory_update_and_check_in/README.md: -------------------------------------------------------------------------------- 1 | Script for use with Jamf Pro when you want to trigger **jamf manage** followed by an inventory update. The use case it was written for was to help Macs who have had a Jamf Pro-initiated OS upgrade report back on the upgrade's status. 2 | 3 | As a post-upgrade action, the launchdaemon and accompanying script created by running this script verifies that the Mac can communicate with the Jamf Pro server. Once communication is verified, it takes the following actions: 4 | 5 | 1. Runs **jamf manage** to enforce Jamf Pro management 6 | 2. Runs **jamf recon** to send an updated inventory to the JSS to report 7 | that the OS upgrade has happened. 8 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/jss_location_lookup/README.txt: -------------------------------------------------------------------------------- 1 | This scripts works with the jamf binary on Casper-managed Macs to auto-populate the JSS Location inventory from Active Directory. It runs on a AD-bound Mac and uses dscl to search for certain AD user account attributes and sends them to the JSS via recon. 2 | 3 | Note: Depending on your Active Directory structure, you may not have every value listed or it may not be used as specified. 4 | 5 | Credit to Ben Toms for sharing the original version of this script: 6 | http://list.jamfsoftware.com/mailman/htdig/casper/2011-December/016859.html -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/manual_trigger/README.md: -------------------------------------------------------------------------------- 1 | Script for use with Jamf Pro when manually triggering a policy. Script uses a manual trigger name (set as **Parameter 4** in the script's parameter list in the JSS) to specify which policy should be run. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/open_macappstore_address_via_self_service/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to open a specified application's page on the Mac App Store from Casper's Self Service using the logged-in user's privileges. 2 | 3 | 4 | The **$4** variable is used to provide the website address for the script. 5 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/open_website_via_self_service/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to open a specified website from Casper's Self Service, with the following conditions: 2 | 3 | * Opening the website using the logged-in user's privileges, even if the script is being run as root. 4 | * Website is accessed using the logged-in user's default web browser. 5 | 6 | The **$4** variable is used to provide the website address for the script. 7 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/oracle_java_install/README.txt: -------------------------------------------------------------------------------- 1 | This script checks the OS of the machine running it and triggers the 2 | following policies based on the reported version of OS X. 3 | 4 | For Macs running 10.7.x - 10.10.x: 5 | 6 | Trigger the policy which installs the Oracle Java JRE. These Macs will 7 | have Apple's Java 6 installed and will only need the Oracle Java browser 8 | plug-in 9 | 10 | For Macs running 10.11.x and later: 11 | 12 | Trigger the policy which installs the Oracle Java JDK. These Macs will 13 | not have Apple's Java 6 installed and will need both the Oracle Java 14 | browser plug-in and Oracle's system-level Java installed. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/renew_Jamf_Pro_mdm_profile/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to be run on a Mac via a Jamf Pro policy to renew MDM profiles before their expiration date. 2 | 3 | API rights required by account specified in the script's `jamfpro_user` variable: 4 | 5 | **Jamf Pro Server Objects**: 6 | 7 | **Computers**: `Read` 8 | 9 | **Jamf Pro Server Actions**: 10 | 11 | `Send Command to Renew MDM Profile` -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/uninstall_scripts/uninstall_casper/README.md: -------------------------------------------------------------------------------- 1 | There may be certain instances where the Casper agent has failed on a Mac, where the fix is to uninstall and reinstall the Casper agent. [JAMF Software h​as provided directions on how to uninstall the Mac agent](https://jamfnation.jamfsoftware.com/article.html?id=153)​, where the following command needs to be run with root privileges in Terminal: 2 | 3 | `jamf removeFramework` 4 | 5 | I've written a script to run this command, along with a payload-free installer package to run this command. The payload-free package is available for download in the **payload_free** directory. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/uninstall_scripts/uninstall_casper/payload_free/uninstall_casper_agent.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Casper_Scripts/uninstall_scripts/uninstall_casper/payload_free/uninstall_casper_agent.zip -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/uninstall_scripts/uninstall_mackeeper/README.md: -------------------------------------------------------------------------------- 1 | This script will uninstall MacKeeper and perform a thorough clean-up of any MacKeeper-related files and folders. 2 | 3 | Original script by [John Kitzmiller](http://www.johnkitzmiller.com): 4 | [https://github.com/kitzy/MacDeploymentScripts/tree/master/deleteMacKeeper](https://github.com/kitzy/MacDeploymentScripts/tree/master/deleteMacKeeper) -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/update_jamf_pro_user_inventory_using_apple_enterprise_connect_credentials/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to do the following: 2 | 3 | 1. Identify if Apple Enterprise Connect is installed on a particular Mac 4 | 2. If Enterprise Connect is installed, identify the username of the Active Directory account logged into Enterprise Connect. 5 | 3. Upload the username information to a Jamf Pro server and update the **User and Location** section of the computer's inventory listing. -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/upload_lets_encrypt_certificates_to_jamf_pro/README.md: -------------------------------------------------------------------------------- 1 | This is a script for Jamf Pro servers running on Linux where Webmin is installed and set up to use Lets Encrypt certificates. This script converts and uploads the Webmin-generated Lets Encrypt certificates for use by the Jamf Pro server's Tomcat SSL settings. 2 | 3 | **Compatibility:** 4 | 5 | This script has been tested on the following Linux distributions: 6 | 7 | * CentOS 7.x 8 | -------------------------------------------------------------------------------- /rtrouton_scripts/Casper_Scripts/xcode_scripts/xcode_uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Uninstalls versions of XCode prior to XCode 4.3 4 | 5 | /Developer/Library/uninstall-devtools --mode=all 6 | 7 | # Remove existing copy of Xcode.app from /Applications 8 | 9 | if [[ -e "/Applications/Xcode.app" ]]; then 10 | rm -rf "/Applications/Xcode.app" 11 | fi 12 | 13 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/ask_to_disable_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/ask_to_disable_vpn.png -------------------------------------------------------------------------------- /rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/ask_to_enable_vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/ask_to_enable_vpn.png -------------------------------------------------------------------------------- /rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/secure_client_window_vpn_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/secure_client_window_vpn_disabled.png -------------------------------------------------------------------------------- /rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/secure_client_window_vpn_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/Cisco_Secure_Client_enable_and_disable_VPN_module/readme_images/secure_client_window_vpn_enabled.png -------------------------------------------------------------------------------- /rtrouton_scripts/Cisco_Secure_Client_postinstallation_enable_or_disable_VPN_module/README.md: -------------------------------------------------------------------------------- 1 | These scripts detects the current setting for the VPN module for Cisco Secure Connect being enabled or disabled, then takes the actions defined in the script to enable or disable the VPN module: 2 | 3 | * `Cisco_Secure_Client_postinstallation_enable_VPN_module.sh`: Enables the VPN module. 4 | * `Cisco_Secure_Client_postinstallation_disable_VPN_module.sh`: Disables the VPN module. 5 | 6 | Note: The script should be run with root privileges in order to make the changes to the relevant file: 7 | 8 | `/opt/cisco/secureclient/vpn/profile/VPNDisable_ServiceProfile.xml` -------------------------------------------------------------------------------- /rtrouton_scripts/Export_Mac_Terminal_Profiles/README.md: -------------------------------------------------------------------------------- 1 | This script is used to export individual macOS Terminal.app profiles to a `com.apple.Terminal.plist` file. These plist files can then be converted into configuration profiles for deployment. 2 | 3 | To use this script, please use the following procedure: 4 | 5 | 6 | 1. Identify the name of the Terminal profile you want to export. 7 | 2. Double-click on the **Export_Mac_Terminal_Profiles.command** script. 8 | 3. Enter the name of the Terminal profile you want to export. 9 | 4. Decide if you want the exported Terminal profile to be set up as a default profile. [By specifying it as a default profile, the exported Terminal profile will be configured as both a startup profile and as a default profile](https://support.apple.com/guide/terminal/default-startup-terminal-window-profiles-trml5856b1f2/2.10/mac/10.15). -------------------------------------------------------------------------------- /rtrouton_scripts/active_directory_check/adcheck.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if ping -c 1 internal.ip.address1 || ping -c 1 internal.ip.address2 4 | then 5 | dscl /Search -append / CSPSearchPath "/Active Directory/domain.com" 6 | else 7 | dscl /Search -delete / CSPSearchPath "/Active Directory/domain.com" 8 | fi 9 | -------------------------------------------------------------------------------- /rtrouton_scripts/active_directory_check/com.company.adcheck.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.adcheck 7 | ProgramArguments 8 | 9 | /Library/Scripts/adcheck.sh 10 | 11 | QueueDirectories 12 | 13 | RunAtLoad 14 | 15 | WatchPaths 16 | 17 | /var/run/resolv.conf 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /rtrouton_scripts/block_root_account_login/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to block login access to the `root` account on macOS. It does this with the following actions: 2 | 3 | 1. Sets the `root` account's password to a random 32 character long password using the `openssl` command. 4 | 2. Sets the `root` account's login shell to `/usr/bin/false` 5 | 6 | There is a payload-free package for running the script, available in the **payload-free_package** directory. -------------------------------------------------------------------------------- /rtrouton_scripts/block_root_account_login/payload-free_package/block_root_account_login.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/block_root_account_login/payload-free_package/block_root_account_login.zip -------------------------------------------------------------------------------- /rtrouton_scripts/bypass_mavericks_mdm_login_check/payload-free_package/Set_Mac_To_Bypass_Login_Check_for_Managed_Preferences.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/bypass_mavericks_mdm_login_check/payload-free_package/Set_Mac_To_Bypass_Login_Check_for_Managed_Preferences.zip -------------------------------------------------------------------------------- /rtrouton_scripts/check_apple_push_notification_certificate_identity/README.md: -------------------------------------------------------------------------------- 1 | This script checks the [Apple Push Notification Service](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html) (APNS) certificate identifier on Macs running Mac OS X 10.7.x or higher. 2 | 3 | If an Apple Push Notification Service certificate identifier is not returned, the following message is displayed: 4 | 5 | `NA` 6 | 7 | `NA` stands for Not Applicable. 8 | 9 | Otherwise the APNS certificate identifier is returned as the result. 10 | -------------------------------------------------------------------------------- /rtrouton_scripts/check_for_admin_accounts/README.txt: -------------------------------------------------------------------------------- 1 | This script checks which accounts on a particular Mac have administrator rights. 2 | 3 | Credit to Ryan Manly for sharing this script (originally formatted as a Casper Extension Attribute) on the Casper list: 4 | http://list.jamfsoftware.com/mailman/htdig/casper/2011-November/016574.html -------------------------------------------------------------------------------- /rtrouton_scripts/check_for_remote_management_accounts/README.txt: -------------------------------------------------------------------------------- 1 | This script checks which local user accounts have Remote Management rights to access this Mac. -------------------------------------------------------------------------------- /rtrouton_scripts/check_gatekeeper_status/README.txt: -------------------------------------------------------------------------------- 1 | This script checks 10.7 and 10.8 Macs to see if Gatekeeper is disabled. If Gatekeeper is disabled, script returns "Disabled". Any other status will result in script returning "Active". -------------------------------------------------------------------------------- /rtrouton_scripts/check_gatekeeper_status/check_gatekeeper_status.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Save current IFS state 4 | 5 | OLDIFS=$IFS 6 | 7 | IFS='.' read osvers_major osvers_minor osvers_dot_version <<< "$(/usr/bin/sw_vers -productVersion)" 8 | 9 | # restore IFS to previous state 10 | 11 | IFS=$OLDIFS 12 | 13 | if [[ ( ${osvers_major} -eq 10 && ${osvers_minor} -lt 7 ) ]]; then 14 | echo "Gatekeeper Not Available For This Version Of Mac OS X" 15 | else 16 | 17 | # Checks Gatekeeper status on Macs 18 | # running 10.7.x or higher 19 | 20 | gatekeeper_status=`spctl --status | awk '/assessments/ {print $2}'` 21 | if [ $gatekeeper_status = "disabled" ]; then 22 | result=Disabled 23 | else 24 | result=Active 25 | fi 26 | echo $result 27 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/check_mdm_enrollment/README.md: -------------------------------------------------------------------------------- 1 | This script checks to see if this Mac has an MDM enrollment profile. 2 | 3 | If one is present, the MDM server's DNS address is displayed. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/configuring_firefox_browser_settings/README.md: -------------------------------------------------------------------------------- 1 | This script is an example of how Firefox browser settings may be configured from OS X's command line. In this example, the script is checking to see if the logged-in user is OS X's **Guest** user account. If the **Guest** user account is logged in, running the script as the **Guest** user will set the following settings in an existing Firefox browser profile: 2 | 3 | * Homepage is set to whatever is set in the script's **$firefox_homepage** variable 4 | * Firefox's update mechanism is set to be disabled 5 | * Firefox's default browser check is disabled -------------------------------------------------------------------------------- /rtrouton_scripts/crashplan_java_1_6_fix/README.txt: -------------------------------------------------------------------------------- 1 | Following the release of Apple's Java for OS X 2012-006 update, Crashplan posted steps to allow the Crashplan backup engine to continue to use Java 6: 2 | 3 | https://crashplan.zendesk.com/entries/22199717-apple-update-java-1-06-0-37-causes-crashplan-to-not-start-for-anyone-running-java-1-6-alongside-1-7 4 | 5 | Mark Bolwell (@innermotion) sent me a copy of his script that automates the steps of the Crashplan fix: 6 | 7 | A. Unloads the Crashplan LaunchDaemon 8 | B. Sets the 0 string in the Program Arguments key to "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java" (no quotes) 9 | C. Reloads the Crashplan LaunchDaemon -------------------------------------------------------------------------------- /rtrouton_scripts/crashplan_java_1_6_fix/crashplan_java_1_6_fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #AGENTX Script to correct Crashplan Java paths to Apple Java 1.6 after Java 1.7 upgrade as not compatible 3 | #v1 22/10/2012 4 | 5 | #Unload Crashplan 6 | launchctl unload /Library/LaunchDaemons/com.crashplan.engine.plist 7 | 8 | #change the java path in plist, pretty sure it is ProgramArguments 0 on all my systems ;-) 9 | /usr/libexec/PlistBuddy -c "Set :ProgramArguments:0 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java" /Library/LaunchDaemons/com.crashplan.engine.plist 10 | 11 | #Reload Crashplan 12 | launchctl load /Library/LaunchDaemons/com.crashplan.engine.plist 13 | exit 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/createRecoveryHDUpdater/README.txt: -------------------------------------------------------------------------------- 1 | Script enables the creation of an updated Recovery HD partition on a Mac running Mac OS X 10.7.0 or higher. 2 | 3 | Requirements: 4 | 5 | Lion Recovery Update - http://support.apple.com/kb/DL1464 6 | 7 | The latest version of Install Mac OS X.app from the Mac App Store 8 | 9 | 10 | Author: Joel Bruner 11 | 12 | Link: http://www.brunerd.com/blog/2012/03/21/update-create-lion-recoveryhd-partition-quickly-without-reinstalling/ -------------------------------------------------------------------------------- /rtrouton_scripts/create_localadmin_from_directory_service/com.company.setup_admin_user.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.setup_admin_user.plist 7 | ProgramArguments 8 | 9 | /var/create_localadmin_from_directory_service.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/create_office_2016_template_directory/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to do the following: 2 | 3 | 1. Create the directories needed for Office 2016's Word, Excel and PowerPoint templates 4 | 2. Assign those directories the following permissions: 5 | 6 | `root: Read, Write, Execute` 7 | 8 | `admin: Read, Write, Execute` 9 | 10 | `Everyone: Read, Execute` -------------------------------------------------------------------------------- /rtrouton_scripts/create_os_x_vm_install_dmg/README.txt: -------------------------------------------------------------------------------- 1 | create_os_x_vm_install_dmg has moved to its own repo. Please go to https://github.com/rtrouton/create_os_x_vm_install_dmg for the latest version of the create_os_x_vm_install_dmg script and support files. -------------------------------------------------------------------------------- /rtrouton_scripts/daily_server_report_script/10.5.x - 10.7.x/Install in :Library:LaunchDaemons/com.company.daily_report.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.daily_report.plist 7 | ProgramArguments 8 | 9 | /Library/daily_report_script/daily_logreport.sh 10 | 11 | StartCalendarInterval 12 | 13 | Hour 14 | 23 15 | Minute 16 | 0 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /rtrouton_scripts/daily_server_report_script/10.8.x - 10.9.x/Install in :Library:LaunchDaemons/com.company.daily_report.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.daily_report.plist 7 | ProgramArguments 8 | 9 | /Library/daily_report_script/daily_logreport.sh 10 | 11 | StartCalendarInterval 12 | 13 | Hour 14 | 23 15 | Minute 16 | 0 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /rtrouton_scripts/daily_tomcat_restart/README.txt: -------------------------------------------------------------------------------- 1 | The daily_tomcat_restart.sh script is designed to stop and start Tomcat running on a Casper JSS server running on Red Hat Enterprise Linux 6.x. You will need to edit the stop and start commands in daily_tomcat_restart.sh if you want to stop and start a different Tomcat installation. -------------------------------------------------------------------------------- /rtrouton_scripts/daily_tomcat_restart/crontab_entry.txt: -------------------------------------------------------------------------------- 1 | # Run at 2 am daily: restart Casper's JSS Tomcat 2 | 0 2 * * * /scripts/daily_tomcat_restart.sh 2>&1 >> /dev/null -------------------------------------------------------------------------------- /rtrouton_scripts/daily_tomcat_restart/daily_tomcat_restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Services Restarter - Restarts the JAMF Tomcat installation 4 | 5 | # Stop the JAMF Tomcat processes 6 | 7 | if [[ -f /etc/rc.d/init.d/jamf.tomcat7 ]]; then 8 | /etc/rc.d/init.d/jamf.tomcat7 stop 9 | elif [[ -f /etc/rc.d/init.d/jamf.tomcat8 ]]; then 10 | /etc/rc.d/init.d/jamf.tomcat8 stop 11 | fi 12 | 13 | # Wait 10 seconds for Tomcat process to fully stop 14 | 15 | sleep 10 16 | 17 | # Starts the JAMF Tomcat processes 18 | 19 | if [[ -f /etc/rc.d/init.d/jamf.tomcat7 ]]; then 20 | /etc/rc.d/init.d/jamf.tomcat7 start 21 | elif [[ -f /etc/rc.d/init.d/jamf.tomcat8 ]]; then 22 | /etc/rc.d/init.d/jamf.tomcat8 start 23 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/delete_user_keychains/LaunchDaemon/com.github.delete_user_keychains.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.github.delete_user_keychains 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/delete_user_keychains.sh 11 | 12 | QueueDirectories 13 | 14 | RunAtLoad 15 | 16 | WatchPaths 17 | 18 | 19 | -------------------------------------------------------------------------------- /rtrouton_scripts/delete_user_keychains/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to loop through all user folders stored in **/Users** and delete all contents from the the user account's **Library/Keychains** directory. This will remove the user's [login](https://support.apple.com/HT201609) and [Local Items](https://macmule.com/2014/03/30/the-local-items-keychain-in-mavericks/) keychain files. To run the script, a sample LaunchDaemon is provided which can execute the script on startup. 2 | 3 | A payload-free package which installs both the script and sample LaunchDaemon is available from the **payload_free** directory. -------------------------------------------------------------------------------- /rtrouton_scripts/delete_user_keychains/payload_free/delete_user_keychains.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/delete_user_keychains/payload_free/delete_user_keychains.zip -------------------------------------------------------------------------------- /rtrouton_scripts/detect_installed_32_bit_apps/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to Detect all 32-bit apps installed in `/Applications`, `/Library` or `/usr/local` and output list to logfile stored in /var/log. 2 | 3 | If any 32-bit applications are found in `/Applications`, `/Library` or `/usr/local`, the path to the 32-bit application is listed in the log: 4 | 5 | `/path/to/32bit_application_name_here.app` 6 | 7 | If no 32-bit applications are found in `/Applications`, `/Library` or `/usr/local`, the following is output to the log: 8 | 9 | `No 32-bit applications found in /Applications, /Library or /usr/local.` -------------------------------------------------------------------------------- /rtrouton_scripts/detect_user-approved_mdm/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to report if a Mac has user-approved MDM enabled. 2 | 3 | The script first checks the OS on a particular Mac and verify that it's running 10.13.4 or later. If the Mac is running an earlier OS, the script reports the following: 4 | 5 | **Unable To Detect User-Approved MDM On**, followed by the OS version. 6 | 7 | If the script verifies that it is running on 10.13.4 or later, the script continues on to see if the Mac has user-approved MDM enabled. 8 | 9 | If the Mac has user-approved MDM enabled, the script reports the following: 10 | 11 | **Yes** 12 | 13 | If the Mac does not have user-approved MDM enabled, the script reports the following: 14 | 15 | **No** -------------------------------------------------------------------------------- /rtrouton_scripts/disable_airdrop/README.txt: -------------------------------------------------------------------------------- 1 | This script disables AirDrop in Mac OS X 10.7.x for new users. It sets the user template's /Library/Preferences/com.apple.NetworkBrowser.plist file to include the key "DisableAirDrop" with a value of "YES" 2 | 3 | Hat tip to Jared Nichols for figuring this out and sharing it on the Casper list: 4 | http://list.jamfsoftware.com/mailman/htdig/casper/2011-September/015367.html -------------------------------------------------------------------------------- /rtrouton_scripts/disable_airdrop/disable_airdrop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Disables AirDrop in Mac OS X 10.7.x for new users by setting 4 | # the ~/Library/Preferences/com.apple.NetworkBrowser.plist to 5 | # include the key "DisableAirDrop" with a value of YES 6 | 7 | defaults write /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.NetworkBrowser.plist DisableAirDrop -bool YES -------------------------------------------------------------------------------- /rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups.zip -------------------------------------------------------------------------------- /rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/previous_disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/previous_disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_and_siri_pop_ups.zip -------------------------------------------------------------------------------- /rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/previous_disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_apple_icloud_data_privacy_diagnostic_touch_id_siri_activation_lock_and_screentime_pop_ups/previous_disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups/payload_free_package/disable_apple_icloud_data_privacy_diagnostic_touch_id_and_siri_pop_ups.zip -------------------------------------------------------------------------------- /rtrouton_scripts/disable_apple_intelligence_pop_up_window/readme_images/SetupAssistantAppleIntelligenceScreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_apple_intelligence_pop_up_window/readme_images/SetupAssistantAppleIntelligenceScreen.png -------------------------------------------------------------------------------- /rtrouton_scripts/disable_gatekeeper/README.txt: -------------------------------------------------------------------------------- 1 | This script will disable Gatekeeper on Macs running 10.7.5 and higher. It's also available as a payload-free package. 2 | 3 | The script must be run with root privileges in order to turn off Gatekeeper. 4 | 5 | -------------------------------------------------------------------------------- /rtrouton_scripts/disable_gatekeeper/payload-free_package/Disable_Gatekeeper.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_gatekeeper/payload-free_package/Disable_Gatekeeper.zip -------------------------------------------------------------------------------- /rtrouton_scripts/disable_gatekeeper/script/disable_gatekeeper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Turn off Gatekeeper 4 | 5 | spctl --master-disable 6 | -------------------------------------------------------------------------------- /rtrouton_scripts/disable_mau_required_data_notice_screen/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to suppress the Microsoft AutoUpdate **Required Data Notice** screen. 2 | 3 | ![](images/disable_mau_required_data_notice_screen.png) 4 | 5 | The script runs the following actions: 6 | 7 | 1. Identifies all users on the Mac with a UID greater than 500 8 | 2. Identifies the home folder location of all users identified 9 | in the previous step. 10 | 3. Sets the `com.microsoft.autoupdate2.plist` file with the following 11 | key and value. This will suppress Microsoft AutoUpdate's 12 | **Required Data Notice** screen and stop it from appearing. 13 | 14 | `Key: AcknowledgedDataCollectionPolicy` 15 | 16 | `Value: RequiredDataOnly` -------------------------------------------------------------------------------- /rtrouton_scripts/disable_mau_required_data_notice_screen/images/disable_mau_required_data_notice_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_mau_required_data_notice_screen/images/disable_mau_required_data_notice_screen.png -------------------------------------------------------------------------------- /rtrouton_scripts/disable_office_2016_first_run_settings/payload_free/disable_office_2016_first_run_dialog_windows.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/disable_office_2016_first_run_settings/payload_free/disable_office_2016_first_run_dialog_windows.zip -------------------------------------------------------------------------------- /rtrouton_scripts/disable_parental_controls_on_OS_X_guest_account/README.md: -------------------------------------------------------------------------------- 1 | By default, OS X's **Guest** account will have **Parental Controls** management applied to it, even if **Parental Controls** is not configured on the Mac in question. This script will disable the **Parental Controls** management for the **Guest** account. -------------------------------------------------------------------------------- /rtrouton_scripts/disable_parental_controls_on_OS_X_guest_account/disable_parental_controls_on_OS_X_guest_account.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # By default, OS X's Guest account will have Parental Controls 4 | # management applied to it, even if Parental Controls is not 5 | # configured. The command below will disable the Parental Controls 6 | # management for the Guest account. 7 | 8 | /usr/bin/dscl . -mcxdelete /Users/Guest -------------------------------------------------------------------------------- /rtrouton_scripts/download_latest_macOS_ipsw_for_virtualization/README.md: -------------------------------------------------------------------------------- 1 | This script checks Apple's IPSW feed to get the appropriate IPSW file for the current release of macOS used by the **VirtualMac2,1** virtualization Mac model. -------------------------------------------------------------------------------- /rtrouton_scripts/download_macos_installers/README.md: -------------------------------------------------------------------------------- 1 | This script uses the `softwareupdate` command on macOS Big Sur and later to display all available macOS installers for a particular Mac and then offers the option to download a selected OS installer. -------------------------------------------------------------------------------- /rtrouton_scripts/enable_and_disable_touch_id_for_sudo/README.md: -------------------------------------------------------------------------------- 1 | The scripts listed below are designed to perform the following tasks on macOS Sonoma and later: 2 | 3 | * `enable_touch_id_auth_for_sudo.sh`: Enable Touch ID identification for the `sudo` tool. 4 | * `disable_sudo_touch_id_auth.sh`: Disable Touch ID identification for the `sudo` tool. -------------------------------------------------------------------------------- /rtrouton_scripts/enable_automatic_apple_software_updates/README.md: -------------------------------------------------------------------------------- 1 | This script enables automatic OS X / macOS software update installation on OS X Yosemite and later, by setting the following options: 2 | 3 | * Automatic background check for macOS software updates 4 | * Automatic download of macOS software updates 5 | * Automatic download and installation of XProtect, MRT and Gatekeeper updates 6 | * Automatic download and installation of automatic security updates 7 | * Automatic installation of OS X / macOS updates for OS X Yosemite through macOS Mojave 8 | 9 | Blog post: [https://derflounder.wordpress.com/2018/12/28/enabling-automatic-macos-software-updates-for-os-x-yosemite-through-macos-mojave/](https://derflounder.wordpress.com/2018/12/28/enabling-automatic-macos-software-updates-for-os-x-yosemite-through-macos-mojave/) -------------------------------------------------------------------------------- /rtrouton_scripts/enable_automatic_os_x_updates/README.md: -------------------------------------------------------------------------------- 1 | This script enables automatic OS X update installation on OS X Yosemite and later. 2 | 3 | For more details on this enabling process, please see this post: 4 | 5 | [https://derflounder.wordpress.com/2014/12/29/managing-automatic-app-store-and-os-x-update-installation-on-yosemite/](https://derflounder.wordpress.com/2014/12/29/managing-automatic-app-store-and-os-x-update-installation-on-yosemite/) -------------------------------------------------------------------------------- /rtrouton_scripts/enable_automatic_os_x_updates/enable_automatic_os_x_updates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Run the command below with root privileges to enable OS X updates 4 | # to be installed automatically on 10.10.x and later. 5 | 6 | /usr/bin/defaults write /Library/Preferences/com.apple.commerce AutoUpdateRestartRequired -bool TRUE 7 | 8 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/enable_automatic_os_x_updates/payload-free_package/enable_automatic_os_x_updates.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/enable_automatic_os_x_updates/payload-free_package/enable_automatic_os_x_updates.zip -------------------------------------------------------------------------------- /rtrouton_scripts/enable_automatic_os_x_updates/payload-free_package/payload-free_package_script/enable_automatic_os_x_updates_payload-free.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Run the command below with root privileges to enable OS X updates 4 | # to be installed automatically on 10.10.x and later. 5 | 6 | /usr/bin/defaults write "$3"/Library/Preferences/com.apple.commerce AutoUpdateRestartRequired -bool TRUE 7 | 8 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/enable_external_network_adapter/README.md: -------------------------------------------------------------------------------- 1 | This script checks to see if the Mac is either a MacBook Pro Retina or MacBook Air. If it's either of these machines, the script will then check for external USB or Thunderbolt ethernet adapters. If type of adapter is present, it will add the adapter to network services. Script is also available as a payload-free package. 2 | 3 | Script was written to resolve an issue with USB and Thunderbolt Ethernet adapters not being recognized by [DeployStudio](http://www.deploystudio.com/)'s ds_finalize process. 4 | 5 | Original script by [Allen Golbig](https://github.com/golbiga/): 6 | [https://github.com/golbiga/Scripts/blob/master/enable_external_network_adapter/enable_external_network_adapter.sh](https://github.com/golbiga/Scripts/blob/master/enable_external_network_adapter/enable_external_network_adapter.sh) -------------------------------------------------------------------------------- /rtrouton_scripts/enable_external_network_adapter/payload-free_package/enable_external_network_adapter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/enable_external_network_adapter/payload-free_package/enable_external_network_adapter.zip -------------------------------------------------------------------------------- /rtrouton_scripts/enable_java_web_plugins/README.txt: -------------------------------------------------------------------------------- 1 | The script will set the "Enable applet plug-in and Web Start Applications" setting for Java in your Mac's default user template and for all existing users. 2 | 3 | You'll need to have the UUID of the machine, since this setting is stored in the user's Library/Preferences/ByHost directory. This script will pull the UUID and use that to correctly name the file. -------------------------------------------------------------------------------- /rtrouton_scripts/enable_java_web_plugins_at_login/README.txt: -------------------------------------------------------------------------------- 1 | Enable Java Web Plug-Ins at Login - Uses a script named enable_web_java_plugin.sh that's put into /Library/Scripts and a LaunchAgent named com.company.enable_web_java_plugin.plist that's put into /Library/LaunchAgents. 2 | 3 | The script will perform a couple of tasks: 4 | 5 | 1. Set the "com.apple.WebKit.JavaPlugInLastUsedTimestamp" plist key in ~/Library/Preferences/.GlobalPreferences.plist 6 | 7 | 2. Enable the "Enable applet plug-in and Web Start Applications" setting in the Java Preferences application. 8 | 9 | The LaunchAgent runs the script on login to any user account with the logging-in user's privileges and permissions. That allows Java applets to be run inside web browsers. -------------------------------------------------------------------------------- /rtrouton_scripts/enable_java_web_plugins_at_login/com.company.enable_web_java_plugin.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.enable_web_java_plugin 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/enable_web_java_plugin.sh 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/endnote_plug-in_installation/endnote_x7_plug-in_installation/README.md: -------------------------------------------------------------------------------- 1 | The script is designed for use with Endnote X7.x and performs the following functions: 2 | 3 | 1. Remove existing Endnote Cite While You Write (CWYW) plug-ins for Microsoft Office 2008, Word 2011 and Word 2016 4 | 2. Detect if Word 2016 is installed and add the appropriate support directories if needed. 5 | 3. Detect which version(s) of Microsoft Office are installed and install new copies of the appropriate Endnote CWYW plug-ins -------------------------------------------------------------------------------- /rtrouton_scripts/endnote_plug-in_installation/endnote_x8_plug-in_installation/README.md: -------------------------------------------------------------------------------- 1 | The script is designed for use with EndNote 8.x and performs the following functions: 2 | 3 | 1. Remove existing EndNote Cite While You Write (CWYW) plug-ins for Microsoft Office 2008, Word 2011 and Word 2016 4 | 2. Detect if Word 2016 is installed and add the appropriate support directories if needed. 5 | 3. Detect which version(s) of Microsoft Office are installed and install new copies of the appropriate EndNote CWYW plug-ins -------------------------------------------------------------------------------- /rtrouton_scripts/filevault_2_encryption_check/scripts_by_third_parties/a.e.van.bochoven/README.txt: -------------------------------------------------------------------------------- 1 | This script was written and contributed by A.E. van Bochoven: 2 | 3 | Script runs on both 10.7.x and 10.8.x 4 | 5 | Most notable changes from original script: 6 | - The OS check is now at the start of the script, so it bails early 7 | - The OS check should be more robust, catering for OS versions like 10.10 or 11.1 8 | - Script is faster because there's just one call to diskutil cs list 9 | - Some grep changes (-q instead of 1>/dev/null) 10 | - Indentation cleanup 11 | -------------------------------------------------------------------------------- /rtrouton_scripts/filevault_2_encryption_check/scripts_by_third_parties/pmbuko/README.txt: -------------------------------------------------------------------------------- 1 | This script was written and contributed by Peter Bukowinski (http://yourmacguy.wordpress.com/). 2 | It has the same detection reporting as my script does for Mac OS X 10.7.x, but is more sophisticated in identifying and processing the various states. 3 | 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/filevault_2_encryption_check/scripts_by_third_parties/wdouglascampbell/README.txt: -------------------------------------------------------------------------------- 1 | This script was written and contributed by wdouglascampbell (https://github.com/wdouglascampbell): 2 | 3 | Script runs on both 10.7.x and higher 4 | 5 | Most notable changes from original script: 6 | - The OS check has been updated to support Darwin versions via the uname command 7 | - Adds future-proofing in the event the OS version no longer starts with 10.x.x in the the future. 8 | - Does not use temp files 9 | - Fixes an issue with handling multiple encrypted volumes by returning only the encryption status of the boot volume. 10 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.10/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.11/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.12/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.6/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.7/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.8/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot/10.9/com.company.initialsetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.initialsetup 7 | ProgramArguments 8 | 9 | /var/first_boot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/first_boot_package_install/README.txt: -------------------------------------------------------------------------------- 1 | First Boot Package Install has moved to its own repo. Please go to https://github.com/rtrouton/First-Boot-Package-Install for the latest version of First Boot Package Install.pkg. -------------------------------------------------------------------------------- /rtrouton_scripts/fix_byhost_uuid/README.txt: -------------------------------------------------------------------------------- 1 | This script provides a way to fix the UUID in ByHost files if the UUID from ioreg begins with "00000000-0000-1000-8000-" 2 | 3 | Script taken from http://www.afp548.com/article.php?story=leopard_byhost_changes and was written by Kevin Bernstein: http://www.afp548.com/users.php?mode=profile&uid=8434 -------------------------------------------------------------------------------- /rtrouton_scripts/fix_byhost_uuid/fix_uuid.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # DYNAMICALLY SET THE UUID FOR THE BYHOST FILE NAMING 4 | if [[ `ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-50` == "00000000-0000-1000-8000-" ]]; then 5 | MACUUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c51-62 | awk {'print tolower()'}` 6 | elif [[ `ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-50` != "00000000-0000-1000-8000-" ]]; then 7 | MACUUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -i "UUID" | cut -c27-62` 8 | fi 9 | 10 | echo $MACUUID -------------------------------------------------------------------------------- /rtrouton_scripts/fix_mach_kernel_file_visibility/README.md: -------------------------------------------------------------------------------- 1 | This script checks to see if the **/mach_kernel** file is visible or hidden. The **/mach_kernel** file should not be visible when viewed from the Finder, so the script will use **/usr/bin/chflags** to set the **/mach_kernel** file to be hidden. 2 | 3 | Original script by Tim Sutton: 4 | 5 | [http://macops.ca/security-updates-leaving-mach_kernel-visible/](http://macops.ca/security-updates-leaving-mach_kernel-visible/) 6 | 7 | 8 | For information on how to hide the **/mach_kernel** file, please see this Apple KBase article: 9 | 10 | [https://support.apple.com/HT203829](https://support.apple.com/HT203829) -------------------------------------------------------------------------------- /rtrouton_scripts/fix_mach_kernel_file_visibility/fix_mach_kernel_file_visibility.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script checks to see if the /mach_kernel file is visible or hidden. 4 | # The /mach_kernel file should not be visible when viewed from the Finder, 5 | # so the script will use /usr/bin/chflags to set the /mach_kernel file to be hidden. 6 | # 7 | # Original script by Tim Sutton. 8 | # Link: http://macops.ca/security-updates-leaving-mach_kernel-visible/ 9 | # 10 | # For information on how to hide the /mach_kernel 11 | # file, please see this Apple KBase article: 12 | # 13 | # https://support.apple.com/HT203829 14 | 15 | if [ -e /mach_kernel ]; then 16 | if ! /bin/ls -lO /mach_kernel | grep hidden > /dev/null; then 17 | echo "/mach_kernel not set to be hidden. Re-hiding." 18 | /usr/bin/chflags hidden /mach_kernel 19 | fi 20 | fi 21 | 22 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/fix_yosemite_vm_graphic_performance/installer/fix_yosemite_vm_graphic_performance.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/fix_yosemite_vm_graphic_performance/installer/fix_yosemite_vm_graphic_performance.zip -------------------------------------------------------------------------------- /rtrouton_scripts/fix_yosemite_vm_graphic_performance/resources/BeamOff_app/beamoff.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/fix_yosemite_vm_graphic_performance/resources/BeamOff_app/beamoff.zip -------------------------------------------------------------------------------- /rtrouton_scripts/fix_yosemite_vm_graphic_performance/resources/LaunchAgent/com.company.launch_beamoff.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.launch_beamoff 7 | ProgramArguments 8 | 9 | /Applications/beamoff.app/Contents/MacOS/beamoff 10 | 11 | RunAtLoad 12 | 13 | 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/fix_yosemite_vm_graphic_performance/resources/Packages_project_files/fix_yosemite_vm_graphic_performance.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/fix_yosemite_vm_graphic_performance/resources/Packages_project_files/fix_yosemite_vm_graphic_performance.zip -------------------------------------------------------------------------------- /rtrouton_scripts/fix_zoom_vulnerability/payload-free_package/Fix_Zoom_Vulnerability.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/fix_zoom_vulnerability/payload-free_package/Fix_Zoom_Vulnerability.zip -------------------------------------------------------------------------------- /rtrouton_scripts/force_unbind_from_active_directory/README.txt: -------------------------------------------------------------------------------- 1 | This script is designed to force-unbind a Mac running 10.5.x or higher from an Active Directory domain. The username and password in the script are not designed to be actual accounts, but they are needed to allow dsconfigad to perform a forced unbind. 2 | 3 | When forcing an unbind, dsconfigad will check to see if a username and password are specified in the command. It does not appear to check with the Active Directory domain to see if the account actually exists. 4 | 5 | The script includes a check to see if the Mac was bound using a DeployStudio-generated Active Directory configuration profile and remove the profile if one is found. 6 | 7 | This script must be run with root privileges. It is also available as a payload-free package. 8 | -------------------------------------------------------------------------------- /rtrouton_scripts/force_unbind_from_active_directory/payload-free_package/Force_Unbind_From_Active_Directory.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/force_unbind_from_active_directory/payload-free_package/Force_Unbind_From_Active_Directory.zip -------------------------------------------------------------------------------- /rtrouton_scripts/hush_login/README.md: -------------------------------------------------------------------------------- 1 | This script will disable the display of the Message of the Day (**motd**) banner, which is normally shown when opening a new Terminal window. For more information about this banner, please see the link below: 2 | 3 | [https://kb.iu.edu/d/acdd](https://kb.iu.edu/d/acdd) 4 | 5 | An payload-free package, which installs this script and an accompanying LaunchAgent to trigger it to run on login, is available from the **installer** directory. 6 | 7 | When the installer is run, it installs the script and LaunchAgent in the following locations: 8 | 9 | Script - `/Library/Scripts/hush_login.sh` 10 | 11 | LaunchAgent - `/Library/LaunchAgents/com.github.hush_login.plist` -------------------------------------------------------------------------------- /rtrouton_scripts/hush_login/hush_login.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Disable the display of the Message of the Day (motd) 4 | # banner, which is normally shown when opening a new 5 | # Terminal window, by adding a .hushlogin file to the 6 | # logged-in user's home folder. 7 | 8 | if [[ ! -f $HOME/.hushlogin ]]; then 9 | /usr/bin/touch "$HOME/.hushlogin" 10 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/hush_login/installer/Hush_Login_Banner.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/hush_login/installer/Hush_Login_Banner.zip -------------------------------------------------------------------------------- /rtrouton_scripts/hush_login/installer/installer_script_and_launchagent/LaunchAgent/com.github.hush_login.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.github.hush_login 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/hush_login.sh 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/install_apple_java_updates/README.txt: -------------------------------------------------------------------------------- 1 | This script provides a way to install Java for Mac OS X 10.6 Update 17 on 10.6.x Macs using Apple's command-line softwareupdate tool. The script does the following: 2 | 3 | 1. Verify again that the Mac has Java for Mac OS X 10.6 Update 17 as an available update. 4 | 2. If Java for Mac OS X 10.6 Update 17 is not an available update, the script logs that information then exits silently. 5 | 3. If Java for Mac OS X 10.6 Update 17 is an available update, the script logs that the update is being installed. Apple's softwareupdate tool then installs that update silently in the background. 6 | 7 | -------------------------------------------------------------------------------- /rtrouton_scripts/install_apple_java_updates/install_apple_java_updates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Using the softwareupdate tool 5 | # to detect if the Mac has 6 | # Java for Mac OS X 10.6 Update 17 7 | # as an available update. 8 | # 9 | 10 | JAVA_UPDATE_DETECT=$( softwareupdate -l | grep -o "JavaForMacOSX10.6-17.0" ) 11 | 12 | # 13 | # If Java for Mac OS X 10.6 Update 17 14 | # is an available update, script installs 15 | # the update. If Java for Mac OS X 10.6 Update 17 is 16 | # not an available update, script reports that and 17 | # exits. 18 | # 19 | 20 | if [[ "${JAVA_UPDATE_DETECT}" = "JavaForMacOSX10.6-17.0" ]]; then 21 | logger "Installing Java for Mac OS X 10.6 Update 17" 22 | softwareupdate --install JavaForMacOSX10.6-17.0 23 | else 24 | logger "Java for Mac OS X 10.6 Update 17 not an available update. Exiting." 25 | fi 26 | 27 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/install_joyent_pkgsrc/payload_free_installer/install_joyent_pkgsrc.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_joyent_pkgsrc/payload_free_installer/install_joyent_pkgsrc.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_adobe_flash_player/payload_free_installer/install_latest_adobe_flash_player.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_adobe_flash_player/payload_free_installer/install_latest_adobe_flash_player.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_oracle_java_7/payload_free_installer/install_latest_oracle_java_7.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_oracle_java_7/payload_free_installer/install_latest_oracle_java_7.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_oracle_java_8/payload_free_installer/install_latest_oracle_java_8.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_oracle_java_8/payload_free_installer/install_latest_oracle_java_8.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_oracle_java_8_jdk/payload_free_package/install_latest_oracle_java_jdk_8_cpu_version.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_oracle_java_8_jdk/payload_free_package/install_latest_oracle_java_jdk_8_cpu_version.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_oracle_java_8_jdk/payload_free_package/install_latest_oracle_java_jdk_8_psu_version.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_oracle_java_8_jdk/payload_free_package/install_latest_oracle_java_jdk_8_psu_version.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_parallels_tools/payload_free_installer/install_latest_parallels_tools.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_parallels_tools/payload_free_installer/install_latest_parallels_tools.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_utm_guest_tools/README.md: -------------------------------------------------------------------------------- 1 | This script will download and install the latest version of UTM Guest Tools. 2 | 3 | How the script works: 4 | 5 | 1. Downloads the latest UTM Guest Tools installer package from GitHub to a temp directory. 6 | 2. Verifies the download was successful. 7 | 3. Verifies the installer package is signed by the correct folks: `Turing Software LLC` 8 | 4. If download and code signature checks both succeed, installs the latest UTM Guest Tools using the downloaded installer package. -------------------------------------------------------------------------------- /rtrouton_scripts/install_latest_vmware_tools/payload_free_installer/install_latest_vmware_tools.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/install_latest_vmware_tools/payload_free_installer/install_latest_vmware_tools.zip -------------------------------------------------------------------------------- /rtrouton_scripts/install_rosetta_on_apple_silicon/README.md: -------------------------------------------------------------------------------- 1 | This script will download and install Rosetta 2 for Apple Silicon Macs. 2 | 3 | How the script works: 4 | 5 | 1. Checks to see if the following conditions have been met: 6 | * OS version is macOS 11 or later. 7 | * If the Mac does not have an Intel processor 8 | * If the `oahd` process for Rosetta is not running. 9 | 3. If the conditions are met, the script does the following: 10 | * Performs a non-interactive install of Rosetta 2 using the `softwareupdate` tool. 11 | * Reports on if the installation was successful or not. -------------------------------------------------------------------------------- /rtrouton_scripts/keychain_minder/Keychain_Minder_1_5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/keychain_minder/Keychain_Minder_1_5.zip -------------------------------------------------------------------------------- /rtrouton_scripts/keychain_minder/README.txt: -------------------------------------------------------------------------------- 1 | AFP548.com no longer has Keychain Minder available, so I'm posting a zipped 2 | copy of Keychain Minder 1.5 for download. 3 | 4 | Zipped copies of installer packages for Keychain Minder 1.5 and 1.3 are available in the installer_packages directory. 5 | 6 | If you want to modify the displayed text, see here for how to do this with Xcode 4.x: 7 | 8 | http://derflounder.wordpress.com/2012/06/05/changing-keychain-minders-displayed-text-using-xcode -------------------------------------------------------------------------------- /rtrouton_scripts/keychain_minder/installer_packages/Keychain_Minder_1_3.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/keychain_minder/installer_packages/Keychain_Minder_1_3.zip -------------------------------------------------------------------------------- /rtrouton_scripts/keychain_minder/installer_packages/Keychain_Minder_1_5.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/keychain_minder/installer_packages/Keychain_Minder_1_5.zip -------------------------------------------------------------------------------- /rtrouton_scripts/lion_show_user_library/README.txt: -------------------------------------------------------------------------------- 1 | Show User Library - Uses a script named show_library.sh that's put into /Library/Scripts and a LaunchAgent named com.company.show_library.plist that's put into /Library/LaunchAgents. The script fixes 10.7's default behavior of making /Users/username/Library invisible to the user by using chflags to /Users/username/Library visible again. 2 | 3 | The LaunchAgent runs the script on login to any user account with the logging-in user's privileges and permissions. That allows the visibility of ~/Library to be changed without changing the permissions on ~/Library. -------------------------------------------------------------------------------- /rtrouton_scripts/lion_show_user_library/com.company.show_library.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.show_library 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/show_library.sh 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/lion_show_user_library/show_library.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sleep 10 4 | 5 | /usr/bin/chflags nohidden $HOME/Library 6 | -------------------------------------------------------------------------------- /rtrouton_scripts/network_setup/com.company.networksetup.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.networksetup 7 | ProgramArguments 8 | 9 | /var/network_setup.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/office_2011_sp2_installer_permissions_fix/Office_2011_SP_2_World-Writable_Permissions_Fix.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/office_2011_sp2_installer_permissions_fix/Office_2011_SP_2_World-Writable_Permissions_Fix.zip -------------------------------------------------------------------------------- /rtrouton_scripts/office_2011_sp2_installer_permissions_fix/README.txt: -------------------------------------------------------------------------------- 1 | When installed by the Office 2011 SP 2 12.2.0 retail installer, the permissions on /Applications/Microsoft Office 2011 look like this: 2 | 3 | Owner: root: read/write/execute permissions 4 | Group: wheel: read/write/execute permissions 5 | Everyone: read/write/execute permissions 6 | 7 | I've written a script that should find and fix the incorrect group and world-writable permissions and set them to the following permissions: 8 | 9 | Owner: root: read/write/execute permissions 10 | Group: admin: read/write/execute permissions 11 | Everyone: read/execute permissions 12 | 13 | I've also built a script-only installer package to run this script, to help folks who want to automate running this. -------------------------------------------------------------------------------- /rtrouton_scripts/office_2011_sp2_installer_permissions_fix/office2011_SP2_permissions_fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -d /Applications/Microsoft\ Office\ 2011 ]; then 4 | /usr/sbin/chown root:admin /Applications/Microsoft\ Office\ 2011 5 | /bin/chmod 775 /Applications/Microsoft\ Office\ 2011 6 | /usr/bin/find /Applications/Microsoft\ Office\ 2011 ! -group admin -exec chown root:admin {} \; 7 | /usr/bin/find /Applications/Microsoft\ Office\ 2011 ! -perm 775 -exec chmod 775 {} \; 8 | fi 9 | -------------------------------------------------------------------------------- /rtrouton_scripts/open-ldap_bind_script/README.txt: -------------------------------------------------------------------------------- 1 | This script will allow a Mac running 10.6.x through 10.9.x to connect to an OpenLDAP server using a simple anonymous bind. 2 | 3 | If you are adapting this for your own use, run a search and replace for the following: 4 | 5 | "dc=replaceme,dc=org" (no quotes) 6 | 7 | You'll need to replace that with your own LDAP search base 8 | 9 | "ldap.server.here" (no quotes) 10 | 11 | You'll need to replace that with the fully qualified domain name of your OpenLDAP server. 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/open-ldap_migration_script/README.md: -------------------------------------------------------------------------------- 1 | This script will allow a Mac to connect to an OpenLDAP server using a simple anonymous bind. It can also be used to migrate from one OpenLDAP server to another 2 | 3 | 4 | It has been tested on 10.6.8, 10.7.5, 10.8.5 and 10.9.0. 5 | 6 | 7 | If you are adapting this for your own use, run a search and replace for the following: 8 | 9 | "**dc=replaceme,dc=org**" (no quotes) 10 | 11 | You'll need to replace that with your own LDAP search base 12 | 13 | "**ldap.server.here**" (no quotes) 14 | 15 | You'll need to replace that with the fully qualified domain name of your OpenLDAP server. 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/oracle_java_whitelist/com.company.oracle_java_whitelist.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.oracle_java_whitelist 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/oracle_java_whitelist.sh 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/oracle_java_whitelist/scripts_by_third_parties/jacobsalmela/README.txt: -------------------------------------------------------------------------------- 1 | This script was written and contributed by jacobsalmela (https://github.com/jacobsalmela): 2 | 3 | Script runs on 10.7.x and higher 4 | 5 | Most notable changes from original script: 6 | - Can handle more than two servers. 7 | -------------------------------------------------------------------------------- /rtrouton_scripts/re-enable_java_6/README.txt: -------------------------------------------------------------------------------- 1 | Once the Java for OS X 2012-006 update has been installed, the Apple-provided Java applet plug-in from /Library/Internet Plug-Ins is removed, which means that web browsers will not be able to launch Java applets from inside the browser. The update also removes the Java Preferences application from /Applications/Utilities. 2 | 3 | However, the rest of the Java 6 framework is still installed and it is possible to re-enable the Apple-provided Java plug-in and browser functionality. Apple has provided a KBase article showing how to do this process manually: 4 | 5 | http://support.apple.com/kb/HT5559 6 | 7 | This script that automates the process of removing the Oracle Java 7 plug-in and replace it with the Apple-built Java 6 plug-in. -------------------------------------------------------------------------------- /rtrouton_scripts/re-enable_java_6/payload-free_package/re-enable_java_6.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/re-enable_java_6/payload-free_package/re-enable_java_6.zip -------------------------------------------------------------------------------- /rtrouton_scripts/remove_10_6_AD_binding/README.txt: -------------------------------------------------------------------------------- 1 | This script removes all Active Directory binding and AD-related Kerberos information on 10.6.x Macs 2 | 3 | Original script written by Ben LeRoy 4 | Source: http://groups.google.com/group/macenterprise/msg/c635ab7bfc2b71d9?dmode=source -------------------------------------------------------------------------------- /rtrouton_scripts/remove_microsoft_office_volume_license/README.md: -------------------------------------------------------------------------------- 1 | This script removes the volume license files for the following versions of Microsoft Office for Mac: 2 | 3 | * Microsoft Office 2011 4 | * Microsoft Office 2016 5 | 6 | I've built a payload-free installer package which is available for download from the **payload-free** directory. -------------------------------------------------------------------------------- /rtrouton_scripts/remove_microsoft_office_volume_license/payload-free/remove_microsoft_office_volume_license.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/remove_microsoft_office_volume_license/payload-free/remove_microsoft_office_volume_license.zip -------------------------------------------------------------------------------- /rtrouton_scripts/rename_mac_hd/com.company.rename_hd.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.rename_hd 7 | ProgramArguments 8 | 9 | /var/rename_hd.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/rename_mac_hd/rename_hd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Rename Mac's boot drive to Macintosh HD 4 | 5 | diskutil rename / "Macintosh HD" 6 | 7 | # Remove setup LaunchDaemon item 8 | 9 | rm -rf /Library/LaunchDaemons/com.company.rename_hd.plist 10 | 11 | # Make script self-destruct 12 | 13 | rm -rf $0 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/rename_mac_hostname/com.company.rename_mac.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.rename_mac 7 | ProgramArguments 8 | 9 | /var/rename_mac.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/rename_mac_hostname/rename_mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Rename the Mac to ChangeMe 4 | 5 | scutil --set ComputerName ChangeMe 6 | scutil --set LocalHostName ChangeMe 7 | scutil --set HostName ChangeMe 8 | 9 | # Remove setup LaunchDaemon item 10 | 11 | rm -rf /Library/LaunchDaemons/com.company.rename_mac.plist 12 | 13 | # Make script self-destruct 14 | 15 | rm -rf $0 16 | 17 | -------------------------------------------------------------------------------- /rtrouton_scripts/report_latest_gatekeeper_update/README.md: -------------------------------------------------------------------------------- 1 | This script will check for the most recent update for Gatekeeper and display the last-updated date and time. This script has been tested and verified to work on 10.5.8 and later. -------------------------------------------------------------------------------- /rtrouton_scripts/report_latest_xprotect_update/README.md: -------------------------------------------------------------------------------- 1 | This script will check for the most recent update for XProtect and display the last-updated date and time. This script has been tested and verified to work on 10.5.8 and later. -------------------------------------------------------------------------------- /rtrouton_scripts/require_admin_password_for_system_preferences/lock_preferences.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Check the "Require password to unlock each System Preferences pane" checkbox in System Preferences: Security 4 | 5 | /usr/libexec/PlistBuddy -c 'set rights:system.preferences:shared bool false' '/etc/authorization' 6 | 7 | # Remove setup LaunchDaemon item 8 | 9 | rm -rf /Library/LaunchDaemons/org.janelia.lock_preferences.plist 10 | 11 | # Make script self-destruct 12 | 13 | rm -rf $0 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/require_admin_password_for_system_preferences/org.janelia.lock_preferences.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | org.janelia.lock_preferences 7 | ProgramArguments 8 | 9 | /var/lock_preferences.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/reset_all_font_caches/README.txt: -------------------------------------------------------------------------------- 1 | This script will reset the font cache for all users and the system font cache. It's also available as a payload-free package. 2 | 3 | Once the font caches have been removed, the Apple Type Services service is stopped and restarted. 4 | -------------------------------------------------------------------------------- /rtrouton_scripts/reset_all_font_caches/payload-free_package/Reset_User_and_System_Font_Caches.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/reset_all_font_caches/payload-free_package/Reset_User_and_System_Font_Caches.zip -------------------------------------------------------------------------------- /rtrouton_scripts/reset_all_font_caches/reset_all_font_caches.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Removes all user-based and system font caches 4 | 5 | atsutil databases -remove 6 | 7 | # Stops the Apple Type Services service 8 | 9 | atsutil server -shutdown 10 | 11 | # Starts the Apple Type Services service 12 | 13 | atsutil server -ping 14 | -------------------------------------------------------------------------------- /rtrouton_scripts/reset_spotlight_index/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to fix Spotlight indexing issues by removing the existing Spotlight index and forcing Spotlight to create a new search index. For best results, restart the Mac after running this script. -------------------------------------------------------------------------------- /rtrouton_scripts/reset_spotlight_index/reset_spotlight_index.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script is designed to fix Spotlight indexing issues 4 | # by removing the existing Spotlight index and forcing Spotlight 5 | # to create a new search index. 6 | 7 | # Turn Spotlight indexing off 8 | 9 | /usr/bin/mdutil -i off / 10 | 11 | # Delete the Spotlight folder on the root level of the boot volume 12 | 13 | /bin/rm -rf /.Spotlight* 14 | 15 | # Turn Spotlight indexing on 16 | 17 | /usr/bin/mdutil -i on / 18 | 19 | # Force Spotlight re-indexing on the boot volume 20 | 21 | /usr/bin/mdutil -E / 22 | -------------------------------------------------------------------------------- /rtrouton_scripts/resize_vm_boot_partition/payload_free_package/resize_vm_boot_partition.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/resize_vm_boot_partition/payload_free_package/resize_vm_boot_partition.zip -------------------------------------------------------------------------------- /rtrouton_scripts/restart_dns_service/README.txt: -------------------------------------------------------------------------------- 1 | This script will restart the DNS service on Mac OS X Server. It uses the serveradmin tool to stop the DNS service. It then waits five seconds and restarts the DNS service. 2 | -------------------------------------------------------------------------------- /rtrouton_scripts/restart_dns_service/restart_dns.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Using the serveradmin tool 4 | # to stop the DNS service on 5 | # Mac OS X Server 6 | 7 | /usr/sbin/serveradmin stop dns 8 | 9 | # Script will then wait five seconds 10 | 11 | sleep 5 12 | 13 | # Using the serveradmin tool 14 | # to restart the DNS service on 15 | # Mac OS X Server 16 | 17 | /usr/sbin/serveradmin start dns 18 | -------------------------------------------------------------------------------- /rtrouton_scripts/restart_ntp_service/README.txt: -------------------------------------------------------------------------------- 1 | This script stops and starts the NTP service on a Mac running 10.5.x and higher. 2 | 3 | The stop and start forces a check-in with the network time server that the Mac is using, so this helps prevent the Mac's clock from drifting ahead or behind the actual time. -------------------------------------------------------------------------------- /rtrouton_scripts/restart_ntp_service/restart_ntp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script stops and starts the NTP service 4 | # on a Mac running 10.5.x and higher. The stop 5 | # and start forces a check-in with the network 6 | # time server that the Mac is using, so this 7 | # helps prevent the Mac's clock from drifting 8 | # ahead or behind the actual time. 9 | 10 | /bin/launchctl stop org.ntp.ntpd 11 | /bin/launchctl start org.ntp.ntpd 12 | 13 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/running_commands_remotely_with_ssh/README.txt: -------------------------------------------------------------------------------- 1 | This script allows remote commands to be run via SSH. The script will ask for the following variables: 2 | 3 | IP address or DNS name 4 | Username 5 | Command being run 6 | 7 | The script will then verify that the correct information has been entered, then ask if the command needs to be run with root privileges. Once the remote command has run, the SSH connection will close and the script will exit. -------------------------------------------------------------------------------- /rtrouton_scripts/safari_java_whitelist/safari_java_whitelist_firstboot/com.company.safari_java_whitelist_firstboot.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.safari_java_whitelist_firstboot 7 | ProgramArguments 8 | 9 | /var/safari_java_whitelist_firstboot.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/safari_java_whitelist/safari_set_java_whitelist_at_login/com.company.safari_set_java_whitelist_at_login.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.safari_set_java_whitelist_at_login 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/safari_set_java_whitelist_at_login.sh 11 | 12 | RunAtLoad 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/samanage_agent_silent_install/README.txt: -------------------------------------------------------------------------------- 1 | This script automates the silent download and installation of the SAManage asset installer onto a Mac running Mac OS X 10.6.x and higher. 2 | 3 | Script adapted from SAManage's original silent install script: http://support.samanage.com/entries/262691-Deploy-on-Mac-OSX -------------------------------------------------------------------------------- /rtrouton_scripts/set_apple_remote_desktop_to_use_directory_based_management_permissions/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to configure Apple Remote Desktop (ARD)'s management agent to work with directory-based logins. It is designed to be configured with a username and ARD management group, which is then used to configure ARD to use the membership of specific local directories to manage ARD's access permissions. 2 | 3 | How the script works: 4 | 5 | 1. The script verifies that the specified username exists on the Mac. 6 | 2. Creates all four ARD permissions management groups. 7 | 3. Adds the specified user account to the specified management group. 8 | 4. Turns on ARD's management agent and configures it to use ARD's directory-based management to assign permissions. -------------------------------------------------------------------------------- /rtrouton_scripts/set_computer_name_to_match_machine_serial_number/README.md: -------------------------------------------------------------------------------- 1 | Sets a Mac's computer name to the machine's hardware serial number. 2 | 3 | * If the Jamf agent is installed, the script uses the Jamf agent to set the computer name to the machine's hardware serial number. 4 | * If the Jamf agent is not installed, the `scutil` command line tool is used. -------------------------------------------------------------------------------- /rtrouton_scripts/set_office_2016_default_save_option_to_on_my_mac/README.md: -------------------------------------------------------------------------------- 1 | This script sets the **Open** and **Save** options in Office 2016 apps to default to **On My Mac** instead of **Online Locations**, by running the following command with root privileges: 2 | 3 | `/usr/bin/defaults write /Library/Preferences/com.microsoft.office DefaultsToLocalOpenSave -bool true` 4 | 5 | This setting will apply to all users on this Mac. There is a payload-free package for running this script available from the **payload_free** directory. 6 | -------------------------------------------------------------------------------- /rtrouton_scripts/set_office_2016_default_save_option_to_on_my_mac/payload_free/payload-free_script/set_office_2016_default_save_option_to_on_my_mac-payload_free.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set the Open and Save options in Office 2016 apps to default to "On My Mac" instead of "Online Locations". 4 | # This setting will apply to all users on this Mac. 5 | 6 | /usr/bin/defaults write "$3"/Library/Preferences/com.microsoft.office DefaultsToLocalOpenSave -bool true -------------------------------------------------------------------------------- /rtrouton_scripts/set_office_2016_default_save_option_to_on_my_mac/payload_free/set_office_2016_default_save_option_to_on_my_mac.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/set_office_2016_default_save_option_to_on_my_mac/payload_free/set_office_2016_default_save_option_to_on_my_mac.zip -------------------------------------------------------------------------------- /rtrouton_scripts/set_office_2016_default_save_option_to_on_my_mac/set_office_2016_default_save_option_to_on_my_mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set the Open and Save options in Office 2016 apps to default to "On My Mac" instead of "Online Locations". 4 | # This setting will apply to all users on this Mac. 5 | 6 | /usr/bin/defaults write /Library/Preferences/com.microsoft.office DefaultsToLocalOpenSave -bool true -------------------------------------------------------------------------------- /rtrouton_scripts/set_recovery_or_diagnostics_boot_mode/README.md: -------------------------------------------------------------------------------- 1 | This script sets one of four boot arguments on Macs with Intel processors and passes it to NVRAM: 2 | 3 | * `RecoveryModeDisk`: Boots to the Recovery volume on your local boot drive 4 | * `RecoveryModeNetwork`: Boots to Internet Recovery 5 | * `DiagsModeDisk`: Boots to the Diagnostics or Apple Hardware Test volume on your local boot drive. 6 | * `DiagsModeNetwork`: Boots to Internet Diagnostics or Apple Hardware Test 7 | 8 | **Note:** 9 | 10 | * If booting to macOS Recovery, this script will set the logged-in account to have admin privileges. This is because an admin account is needed to be able to access the macOS Utilites tools in the Recovery environment. 11 | * Script does not work on Macs with Apple Silicon processors. 12 | -------------------------------------------------------------------------------- /rtrouton_scripts/setting_diagnostic_result_reporting/payload_free/setting_diagnostic_result_reporting.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/setting_diagnostic_result_reporting/payload_free/setting_diagnostic_result_reporting.zip -------------------------------------------------------------------------------- /rtrouton_scripts/setting_energy_saver_settings/README.txt: -------------------------------------------------------------------------------- 1 | This script is a first boot script that sets separate power management settings for desktops and laptops. 2 | 3 | If it's a laptop, the power management settings for "Battery" are set to have the computer sleep in 15 minutes, disk will spin down 4 | in 10 minutes, the display will sleep in 5 minutes and the display itself will dim to half-brightness before sleeping. While plugged 5 | into the AC adapter, the power management settings for "Charger" are set to have the computer never sleep, the disk doesn't spin down, 6 | the display sleeps after 30 minutes and the display dims before sleeping. 7 | 8 | If it's not a laptop (i.e. a desktop), the power management settings are set to have the computer never sleep, the disk doesn't spin down, 9 | the display sleeps after 30 minutes and the display dims before sleeping. -------------------------------------------------------------------------------- /rtrouton_scripts/setting_energy_saver_settings/com.company.powersettings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.powersettings 7 | ProgramArguments 8 | 9 | /var/powersettings.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/setup_anonymous_OD_bind/com.company.setup_od_settings.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.setup_od_settings 7 | ProgramArguments 8 | 9 | /var/setup_od_settings.sh 10 | 11 | RunAtLoad 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /rtrouton_scripts/setup_osx_server_dot_app/payload-free/setup_osx_server_dot_app.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/setup_osx_server_dot_app/payload-free/setup_osx_server_dot_app.zip -------------------------------------------------------------------------------- /rtrouton_scripts/setup_server_logging_to_central_syslog_server/README.txt: -------------------------------------------------------------------------------- 1 | Script to set up the syslog process on a particular machine to send copies of all syslog-generated logs to remote syslog servers. In order to send these logs, the script echoes the needed entries to /etc/syslog.conf on the individual machine, then forces the syslogd process to re-read its /etc/syslog.conf configuration file. 2 | 3 | As currently configured, the script is configuring /etc/syslog.conf to send all logs to two servers. Additional echo lines can be added or removed as needed from the script to meet differing logging requirements. -------------------------------------------------------------------------------- /rtrouton_scripts/setup_server_logging_to_central_syslog_server/setup_server_logging_to_central_syslog_server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Add syslog server(s) to /etc/syslog.conf 4 | 5 | /bin/echo "*.* @syslogserver1.domain.com" >> /etc/syslog.conf 6 | /bin/echo "*.* @syslogserver2.domain.com" >> /etc/syslog.conf 7 | 8 | # Force the syslog process to reread /etc/syslog.conf 9 | 10 | /usr/bin/killall -HUP syslogd -------------------------------------------------------------------------------- /rtrouton_scripts/sophos_av_scripts/download_sophos_installer_to_Linux_webserver/README.txt: -------------------------------------------------------------------------------- 1 | Script automates the download and storage of the Sophos Mac installer onto a Linux web server. The download process was designed for RHEL 6.0. 2 | 3 | How it works: Script will mount an SMB share from the Sophos Enterprise console, verify that the mount is good, then tar a copy of the current Mac Sophos installer to /var/www/html/sophos. 4 | 5 | Script assumes the following: 6 | 7 | 1. That Sophos is being managed by Sophos's Enterprise Console. 8 | 2. The Sophos client installers are stored on an SMB share named "Client_Installs", where the Mac installer and all needed config files are in "Client_Installs/ESCOSX" 9 | 10 | 11 | 12 | NOTE: This script may have issues with Kerberos, since it may be trying to log into an SMB share using different credentials than the logged-in user. -------------------------------------------------------------------------------- /rtrouton_scripts/sophos_av_scripts/sophos_install_from_SMB_share/README.txt: -------------------------------------------------------------------------------- 1 | Script does an automated uninstall and install of Sophos AntiVirus. Script assumes the following: 2 | 3 | 1. That Sophos is being managed by Sophos's Enterprise Console. 4 | 2. The Sophos client installers are stored on an SMB share named "Client_Installs", where the Mac installer and all needed config files are in "Client_Installs/ESCOSX" 5 | 6 | The install process will first check to see if Sophos is installed on a system and uninstall it if found. After that, it will copy the latest Sophos installer down, using the information in the script to mount the correct SMB share, then install Sophos. 7 | 8 | NOTE: This script may have issues with Kerberos, since it may be trying to log into an SMB share using different credentials than the logged-in user. -------------------------------------------------------------------------------- /rtrouton_scripts/sophos_av_scripts/sophos_install_from_webserver_download/README.txt: -------------------------------------------------------------------------------- 1 | Script does an automated uninstall and install of Sophos AntiVirus. Script assumes the following: 2 | 3 | 1. That Sophos is being managed by Sophos's Enterprise Console. 4 | 2. The Sophos client installers Are available as a compressed tar file from a web server. 5 | 6 | The install process will first check to see if Sophos is installed on a system and uninstall it if found. After that, it will copy the latest Sophos installer down, using the information in the script to download a compressed tar file using curl, then install Sophos. -------------------------------------------------------------------------------- /rtrouton_scripts/ssh_on_successful_ping/README.txt: -------------------------------------------------------------------------------- 1 | This script will check via ping to see if a machine is up. Once up, it will SSH into the machine using the IP / DNS address and username provided by the script's user. 2 | 3 | Inspiration: http://www.thegeekstuff.com/2010/06/bash-for-while-until-loop-examples/ -------------------------------------------------------------------------------- /rtrouton_scripts/time_settings/README.txt: -------------------------------------------------------------------------------- 1 | Script to set up to three time servers and the time zone for Macs. For more details, see the following post: 2 | 3 | http://derflounder.wordpress.com/2011/09/23/setting-multiple-network-time-servers-from-the-command-line/ -------------------------------------------------------------------------------- /rtrouton_scripts/tomcat_monitoring/README.txt: -------------------------------------------------------------------------------- 1 | The tomcat_check.sh script monitors Tomcat by checking to see if port 8080 on localhost is active. If not, tomcat_report.sh sends an report via email. After the email is sent, Tomcat is then stopped and started using the startup scripts for your Tomcat installation (edit the stop and start commands as appropriate for your Tomcat installation.) 2 | 3 | The Tomcat installation being monitored is JAMF Software's Casper JSS server running on Red Hat Enterprise Linux 6.x. You will need to edit the stop and start commands in tomcat_check.sh and the log monitoring in tomcat_report.sh if you are monitoring a different Tomcat installation. -------------------------------------------------------------------------------- /rtrouton_scripts/tomcat_monitoring/crontab_entry.txt: -------------------------------------------------------------------------------- 1 | */1 * * * * /scripts/tomcat_check.sh 2>&1 >> /dev/null -------------------------------------------------------------------------------- /rtrouton_scripts/tomcat_monitoring/tomcat_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Identify Tomcat startup script 4 | if [[ -f /etc/rc.d/init.d/jamf.tomcat7 ]]; then 5 | tomcat_startup_script=/etc/rc.d/init.d/jamf.tomcat7 6 | elif [[ -f /etc/rc.d/init.d/jamf.tomcat8 ]]; then 7 | tomcat_startup_script=/etc/rc.d/init.d/jamf.tomcat8 8 | fi 9 | 10 | # Services Restarter - Automatically restart tomcat if it dies 11 | /bin/netstat -ln | /bin/grep ":8080 " | /usr/bin/wc -l | /bin/awk '{if ($1 == 0) system("/scripts/tomcat_report.sh; '$tomcat_startup_script' stop; '$tomcat_startup_script' start") }' -------------------------------------------------------------------------------- /rtrouton_scripts/unhide_users_and_fix_permissions/payload_free_package/unhide_users_and_fix_permissions.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/unhide_users_and_fix_permissions/payload_free_package/unhide_users_and_fix_permissions.zip -------------------------------------------------------------------------------- /rtrouton_scripts/unhide_users_and_fix_permissions/unhide_users_and_fix_permissions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Detects if /Users is present 4 | # If /Users is present, the 5 | # chflags command will unhide it 6 | 7 | if [[ -d "/Users" ]]; then 8 | chflags nohidden "/Users" 9 | fi 10 | 11 | # Detects if /Users/Shared is present 12 | # If /Users/Shared is present, the 13 | # chflags command will unhide it 14 | 15 | if [[ -d "/Users/Shared" ]]; then 16 | chflags nohidden "/Users/Shared" 17 | fi 18 | 19 | # Runs a permissions repair to fix 20 | # the world-writable permission on 21 | # /Users 22 | 23 | diskutil repairPermissions "/" 24 | 25 | exit 0 -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/adobe_flash_uninstall/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to uninstall the Adobe Flash plug-ins and their associated components. 2 | 3 | The script runs the following actions: 4 | 5 | 1. Stop Adobe Flash Install Manager 6 | 2. If running, unload the launchdaemon used by the Adobe Flash update process. 7 | 3. Remove the Adobe Flash plug-ins, Adobe Flash Install Manager and their associated components. 8 | 4. Remove Adobe Flash preference pane settings at the user level. 9 | 5. Forget the installer package receipts. -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/filewave_uninstall/README.txt: -------------------------------------------------------------------------------- 1 | I've adapted this script to take care of uninstalling FileWave agents on OS X. It should stop running FileWave clients and clean up all application, settings and receipts files. 2 | 3 | Note: My shop does not use FileWave, so this script is untested. If you give this a try and it works correctly, please drop me a line at rtrouton (at) gmail.com -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/filewave_uninstall/Uninstall_FileWave_Agent.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/uninstallers/filewave_uninstall/Uninstall_FileWave_Agent.zip -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/kace_kbox_1000_uninstall/README.md: -------------------------------------------------------------------------------- 1 | This script uninstalls the Kace KBox 1000 client on Mac OS X 10.4.x and later. It should stop the KBox agent software and remove all KBox application and settings files. -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/kace_kbox_1000_uninstall/payload-free/kace_kbox_1000_uninstall.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/uninstallers/kace_kbox_1000_uninstall/payload-free/kace_kbox_1000_uninstall.zip -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/roxio_retrospect_uninstall/README.txt: -------------------------------------------------------------------------------- 1 | I’ve built this script to take care of uninstalling Retrospect 6.x clients. It should stop both older and newer Retrospect 6.x clients on both 10.5.x and 10.6.x and clean up all application, settings and receipts files. -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/roxio_retrospect_uninstall/Retrospect_Client_Uninstaller.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/uninstallers/roxio_retrospect_uninstall/Retrospect_Client_Uninstaller.zip -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/roxio_retrospect_uninstall/roxio_retrospect_uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sudo killall retroclient 4 | sudo killall pitond 5 | sudo rm -rf /Applications/Retrospect\ Client.app 6 | sudo rm -rf /Library/StartupItems/RetroClient 7 | sudo rm /Library/Preferences/retroclient.state 8 | sudo rm -rf /Library/Receipts/retrospectClient.pkg 9 | sudo rm -rf /Library/Receipts/retroclient.pkg 10 | sudo rm /var/db/receipts/com.retrospect.retroclientstartupitems.pkg.bom 11 | sudo rm /var/db/receipts/com.retrospect.retroclientstartupitems.pkg.plist 12 | sudo rm /var/db/receipts/com.retrospect.retrospectclient.pkg.bom 13 | sudo rm /var/db/receipts/com.retrospect.retrospectclient.pkg.plist -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/symantec_netbackup_uninstall/README.txt: -------------------------------------------------------------------------------- 1 | This is a script for uninstalling Symantec's NetBackup Mac client. After reading through Symantec's article on it (http://www.symantec.com/business/support/index?page=content&id=HOWTO42245&actp=search&viewlocale=en_US&searchid=1314644392462), it inexplicably bugged me that they didn't provide a script for this. I wrote this one to fill that gap. 2 | 3 | Note: My shop does not use Symantec's NetBackup, so this script is untested. If you give this a try and it works correctly, please drop me a line at rtrouton (at) gmail.com -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/tanium_uninstall/README.md: -------------------------------------------------------------------------------- 1 | This script uninstalls the Tanium Mac client on Mac OS X 10.5.x and later. It should stop the Tanium agent software and remove all Tanium application, settings and receipts files. -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/tanium_uninstall/payload-free/tanium_uninstall_payload-free.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/uninstallers/tanium_uninstall/payload-free/tanium_uninstall_payload-free.zip -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/tanium_uninstall/tanium_uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ -f "/Library/LaunchDaemons/com.tanium.taniumclient.plist" ]]; then 4 | /bin/launchctl unload -w "/Library/LaunchDaemons/com.tanium.taniumclient.plist" 5 | /bin/rm "/Library/LaunchDaemons/com.tanium.taniumclient.plist" 6 | fi 7 | 8 | if [[ -d "/Library/Tanium" ]]; then 9 | /bin/rm -rf "/Library/Tanium" 10 | fi 11 | 12 | /usr/sbin/pkgutil --forget com.tanium.taniumclient.TaniumClient.pkg 13 | 14 | if [[ -e "/var/db/receipts/com.tanium.taniumclient.TaniumClient.pkg.bom" ]]; then 15 | /bin/rm "/var/db/receipts/com.tanium.taniumclient.TaniumClient.pkg.bom" 16 | elif [[ -e "/var/db/receipts/com.tanium.taniumclient.TaniumClient.pkg.plist" ]]; then 17 | /bin/rm "/var/db/receipts/com.tanium.taniumclient.TaniumClient.pkg.plist" 18 | fi -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/uninstall_sophos_antivirus/README.md: -------------------------------------------------------------------------------- 1 | This script uninstalls Sophos Anti-Virus on Mac OS X 10.5.x and later. It should stop the Sophos AV software and remove all Sophos application and component files. -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/uninstall_sophos_antivirus/payload-free_package/Uninstall_Sophos_AntiVirus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/uninstallers/uninstall_sophos_antivirus/payload-free_package/Uninstall_Sophos_AntiVirus.zip -------------------------------------------------------------------------------- /rtrouton_scripts/uninstallers/zoom_uninstall/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to uninstall the Zoom videoconferencing client 2 | and its associated components. 3 | 4 | The script runs the following actions: 5 | 6 | 1. Checks to see if anyone is logged in. If someone is logged in, the **Zoom** app and **ZoomOpener** processes are stopped for the logged-in user. 7 | 2. If running, unload the Zoom audio kernel extension. 8 | 3. If present, delete the Zoom audio kernel extension. 9 | 4. Remove the Zoom application and other components from both the system level and also from the individual home folders. 10 | 5. Forget the existing installer package receipts. -------------------------------------------------------------------------------- /rtrouton_scripts/update_oracle_java_jdk_jvmcapabilities/README.md: -------------------------------------------------------------------------------- 1 | [Michael Lynn](https://twitter.com/mikeymikey) has developed a Python script for adding the 2 | following options to Oracle's Java JDK: 3 | 4 | `JNI` 5 | 6 | `BundledApp` 7 | 8 | When this script is run, it will update all of the Java JDKs stored in **/Library/Java/JavaVirtualMachines** with the options specified above by modifying the file below: 9 | 10 | `/Library/Java/JavaVirtualMachines/jdk_version_info_goes_here.jdk/Contents/Info.plist` 11 | 12 | [https://gist.github.com/pudquick/349f063c242239952a2e](https://gist.github.com/pudquick/349f063c242239952a2e) 13 | 14 | I'm hosting a copy of this script for my own use. This script is also available as a payload-free installer package, stored as a .zip file in the **payload_free_installer** directory. 15 | 16 | -------------------------------------------------------------------------------- /rtrouton_scripts/update_oracle_java_jdk_jvmcapabilities/payload_free_installer/update_oracle_java_jdk_jvmcapabilities.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/update_oracle_java_jdk_jvmcapabilities/payload_free_installer/update_oracle_java_jdk_jvmcapabilities.zip -------------------------------------------------------------------------------- /rtrouton_scripts/updating_connect_to_server_favorites/README.txt: -------------------------------------------------------------------------------- 1 | This script will convert com.apple.sidebarlists.plist to XML using plutil, then use sed to find and replace one smb:// address with another. The work is being done by the root account, so the permissions are fixed by a chown command once the sed command has finished. 2 | 3 | As written, the script does a find and replace as follows: 4 | 5 | Find: smb://oldserver/oldsharename 6 | Replace with: smb://newserver/newsharename 7 | 8 | -------------------------------------------------------------------------------- /rtrouton_scripts/virtualbox_permissions_fix/com.company.virtualboxpermissionsfix.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.virtualboxpermissionsfix 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/VirtualBox/virtualbox_permissions_fix.sh 11 | 12 | RunAtLoad 13 | 14 | StartInterval 15 | 10 16 | 17 | -------------------------------------------------------------------------------- /rtrouton_scripts/virtualbox_permissions_fix/virtualbox_permissions_fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | /usr/bin/find /path/to/VMs/ ! -user user -exec chown -R user:group {} \; 4 | /usr/bin/find /path/to/VMs/ ! -perm 775 -exec chmod -R ug+rwx {} \; -------------------------------------------------------------------------------- /rtrouton_scripts/vmware_fusion_java_7_patch/README.txt: -------------------------------------------------------------------------------- 1 | There is a compatibility issue preventing the Java 7 runtime from launching on OS X platforms lacking hardware-accelerated OpenGL support, including OS X VMware virtual machines running on Fusion and ESXi. 2 | 3 | This script from VMWare applies a binary patch to liblwawt.dylib in the Java 7 Runtime Environment for Mac OS (the JRE) to address this specific problem. 4 | 5 | System requirements: OS X 10.8 VM on VMware Fusion or ESXi, with Java 7 installed in the VM. Does not work for OS X 10.7.x VMs 6 | 7 | Link: http://communities.vmware.com/docs/DOC-22830 8 | Forum discussion: http://communities.vmware.com/message/2222053 9 | 10 | I've also built a payload-free package that applies this script, allowing it to be applied as part of an automated build process for VMWare Fusion VMs. -------------------------------------------------------------------------------- /rtrouton_scripts/vmware_fusion_java_7_patch/payload-free_package/VMWare_Java_Patch.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/vmware_fusion_java_7_patch/payload-free_package/VMWare_Java_Patch.zip -------------------------------------------------------------------------------- /rtrouton_scripts/xcode_post_install_actions/README.md: -------------------------------------------------------------------------------- 1 | This script is designed to accept the Xcode EULA and install the following installer packages embedded inside Xcode: 2 | 3 | * MobileDevice.pkg 4 | * MobileDeviceDevelopment.pkg 5 | * XcodeSystemResources.pkg 6 | 7 | These actions ensure that the user is not prompted to either accept the license or install anything when launching Xcode for the first time. 8 | 9 | 10 | This script is also available as a payload-free installer package, stored as a .zip file in the **payload_free_installer** directory. -------------------------------------------------------------------------------- /rtrouton_scripts/xcode_post_install_actions/payload_free_installer/xcode_post_install_action.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rtrouton/rtrouton_scripts/d11e78e4b2fbc82699c3bb865a4082e967a84feb/rtrouton_scripts/xcode_post_install_actions/payload_free_installer/xcode_post_install_action.zip -------------------------------------------------------------------------------- /rtrouton_scripts/xprotect_re-enable_adobe_flash/com.company.xprotect_re-enable_adobe_flash.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.xprotect_re-enable_adobe_flash 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/xprotect_re-enable_adobe_flash.sh 11 | 12 | QueueDirectories 13 | 14 | RunAtLoad 15 | 16 | StartInterval 17 | 900 18 | WatchPaths 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /rtrouton_scripts/xprotect_re-enable_java_6_and_7/com.company.xprotect_re-enable_java_6_and_7.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Label 6 | com.company.xprotect_re-enable_java_6_and_7 7 | ProgramArguments 8 | 9 | sh 10 | /Library/Scripts/xprotect_re-enable_java_6_and_7.sh 11 | 12 | QueueDirectories 13 | 14 | RunAtLoad 15 | 16 | StartInterval 17 | 900 18 | WatchPaths 19 | 20 | 21 | 22 | --------------------------------------------------------------------------------