From b3995ee6d255e1e3ef5af1bea660d3773618dd28 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 10 Jul 2026 01:31:36 -0500 Subject: [PATCH 01/36] chore: sync scripts [smart-sync] --- scripts/1password_install.level.yaml | 8 ++++++++ scripts/agent_startup_fix.level.yaml | 8 ++++++++ scripts/antivirus_status.level.yaml | 8 ++++++++ scripts/antivirus_uninstall.level.yaml | 8 ++++++++ scripts/arch_update_verbose.level.yaml | 8 ++++++++ scripts/bitlocker_superops_enable.level.yaml | 8 ++++++++ scripts/canon_mf455dw_driver_install.level.yaml | 8 ++++++++ scripts/choco_upgrade_all.level.yaml | 8 ++++++++ scripts/cloudflared_install.level.yaml | 8 ++++++++ scripts/cloudflared_status.level.yaml | 8 ++++++++ scripts/cloudflared_uninstall.level.yaml | 8 ++++++++ scripts/cloudflared_upgrade.level.yaml | 8 ++++++++ scripts/cups_toggle_macos.level.yaml | 8 ++++++++ scripts/dell_command_update.level.yaml | 8 ++++++++ scripts/delprof2_old_profiles_delete.level.yaml | 8 ++++++++ scripts/delprof2_profiles_delete_all.level.yaml | 8 ++++++++ scripts/delprof2_selected_profile_keep.level.yaml | 8 ++++++++ scripts/delprof2_specific_profile_delete.level.yaml | 8 ++++++++ scripts/deskview_install.level.yaml | 8 ++++++++ scripts/dietpi_proxmox_install.level.yaml | 8 ++++++++ scripts/directory_cleanup.level.yaml | 8 ++++++++ scripts/directory_size_analyze.level.yaml | 8 ++++++++ scripts/disk_cleanup.level.yaml | 8 ++++++++ scripts/disk_scan_fix.level.yaml | 8 ++++++++ scripts/disk_smart_status.level.yaml | 8 ++++++++ scripts/dns_flush.level.yaml | 8 ++++++++ scripts/dns_set_provider.level.yaml | 8 ++++++++ scripts/dnsfilter_uninstall.level.yaml | 8 ++++++++ scripts/dokploy_orphaned_volumes_cleanup.level.yaml | 8 ++++++++ scripts/dokploy_running_apps_deploy.level.yaml | 8 ++++++++ scripts/ds_store_disable_macos.level.yaml | 8 ++++++++ scripts/duplicati_backup_status.level.yaml | 8 ++++++++ scripts/edge_chrome_default_user_set.level.yaml | 8 ++++++++ scripts/edge_suppress_policies_system.level.yaml | 8 ++++++++ scripts/emsisoft_url_install.level.yaml | 8 ++++++++ scripts/eset_cleanup.level.yaml | 8 ++++++++ scripts/everything_file_search.level.yaml | 8 ++++++++ scripts/file_secure_delete.level.yaml | 8 ++++++++ scripts/file_secure_delete_certificate.level.yaml | 8 ++++++++ scripts/files_rename_snake_case.level.yaml | 8 ++++++++ scripts/foxit_pdf_editor_plus_install.level.yaml | 8 ++++++++ scripts/gcpw_cleanup.level.yaml | 8 ++++++++ scripts/gcpw_install.level.yaml | 8 ++++++++ scripts/google_update_trigger.level.yaml | 8 ++++++++ scripts/hardware_report.level.yaml | 8 ++++++++ scripts/huntress_install_macos.level.yaml | 8 ++++++++ scripts/ipconfig_release_renew.level.yaml | 8 ++++++++ scripts/limehawk_admin_profile_branding.level.yaml | 8 ++++++++ scripts/local_user_admin_create.level.yaml | 8 ++++++++ scripts/local_user_admin_setup.level.yaml | 8 ++++++++ scripts/local_user_admin_toggle.level.yaml | 8 ++++++++ scripts/local_user_create.level.yaml | 8 ++++++++ scripts/local_user_delete.level.yaml | 8 ++++++++ scripts/local_user_disable.level.yaml | 8 ++++++++ scripts/macos_auto_updates_enable.level.yaml | 8 ++++++++ scripts/maintenance_reboot.level.yaml | 8 ++++++++ scripts/mrt_scan.level.yaml | 8 ++++++++ scripts/msi_url_install.level.yaml | 8 ++++++++ scripts/network_dhcp_set_macos.level.yaml | 8 ++++++++ scripts/network_scan.level.yaml | 8 ++++++++ scripts/network_service_refresh_macos.level.yaml | 8 ++++++++ scripts/ninjaone_uninstall.level.yaml | 8 ++++++++ scripts/nircmd_resolution_set.level.yaml | 8 ++++++++ scripts/nircmd_screenshot.level.yaml | 8 ++++++++ scripts/nirsoft_uninstall_view.level.yaml | 8 ++++++++ scripts/nvram_reset_reboot_macos.level.yaml | 8 ++++++++ scripts/onedrive_reenable.level.yaml | 8 ++++++++ scripts/onedrive_remove_complete.level.yaml | 8 ++++++++ scripts/onestart_remove_complete.level.yaml | 8 ++++++++ scripts/onlyoffice_install.level.yaml | 8 ++++++++ scripts/openssh_server_remove.level.yaml | 8 ++++++++ scripts/openssh_server_setup.level.yaml | 8 ++++++++ scripts/outlook_link_handling_fix.level.yaml | 8 ++++++++ scripts/outlook_new_force_migrate.level.yaml | 8 ++++++++ scripts/outlook_new_remove.level.yaml | 8 ++++++++ scripts/outlook_new_restore.level.yaml | 8 ++++++++ scripts/password_files_search.level.yaml | 8 ++++++++ scripts/password_files_tickets_search.level.yaml | 8 ++++++++ scripts/potplayer_install.level.yaml | 8 ++++++++ scripts/power_plans_default_add.level.yaml | 8 ++++++++ scripts/power_profile_always_on_set.level.yaml | 8 ++++++++ scripts/power_profile_set_macos.level.yaml | 8 ++++++++ scripts/prinstall_add.level.yaml | 8 ++++++++ scripts/prinstall_driver_add.level.yaml | 8 ++++++++ scripts/prinstall_driver_list.level.yaml | 8 ++++++++ scripts/prinstall_driver_remove.level.yaml | 8 ++++++++ scripts/prinstall_drivers.level.yaml | 8 ++++++++ scripts/prinstall_id.level.yaml | 8 ++++++++ scripts/prinstall_list.level.yaml | 8 ++++++++ scripts/prinstall_remove.level.yaml | 8 ++++++++ scripts/prinstall_scan.level.yaml | 8 ++++++++ scripts/prinstall_setup.level.yaml | 8 ++++++++ scripts/prinstall_trust_codesign.level.yaml | 8 ++++++++ scripts/print_queue_clear.level.yaml | 8 ++++++++ scripts/print_queue_reset.level.yaml | 8 ++++++++ scripts/printer_connection_test.level.yaml | 8 ++++++++ scripts/printer_install_linux.level.yaml | 8 ++++++++ scripts/printer_install_macos.level.yaml | 8 ++++++++ scripts/printers_remove_all.level.yaml | 8 ++++++++ scripts/public_ip_export_superops.level.yaml | 8 ++++++++ scripts/public_ip_export_superops_macos.level.yaml | 8 ++++++++ scripts/restic_b2_backup_install.level.yaml | 8 ++++++++ scripts/rustic_backup.level.yaml | 8 ++++++++ scripts/rustic_backup_unix.level.yaml | 8 ++++++++ scripts/rustic_install.level.yaml | 8 ++++++++ scripts/rustic_install_unix.level.yaml | 8 ++++++++ scripts/rustic_restore.level.yaml | 8 ++++++++ scripts/rustic_restore_unix.level.yaml | 8 ++++++++ scripts/rustic_uninstall.level.yaml | 8 ++++++++ scripts/rustic_uninstall_unix.level.yaml | 8 ++++++++ scripts/sentinelone_install.level.yaml | 8 ++++++++ scripts/sentinelone_services_start.level.yaml | 8 ++++++++ scripts/sentinelone_uninstall_linux.level.yaml | 8 ++++++++ scripts/shutdown_toggle.level.yaml | 8 ++++++++ scripts/speedtest_export_superops.level.yaml | 8 ++++++++ scripts/splashtop_business_install.level.yaml | 8 ++++++++ scripts/splashtop_business_install_macos.level.yaml | 8 ++++++++ scripts/splashtop_service_restart.level.yaml | 8 ++++++++ scripts/splashtop_service_restart_macos.level.yaml | 8 ++++++++ scripts/splashtop_streamer_install.level.yaml | 8 ++++++++ .../splashtop_streamer_install_debian_amd64.level.yaml | 8 ++++++++ .../splashtop_streamer_install_debian_arm64.level.yaml | 8 ++++++++ scripts/splashtop_streamer_install_macos.level.yaml | 8 ++++++++ scripts/splashtop_uninstall.level.yaml | 8 ++++++++ scripts/splashtop_uninstall_macos.level.yaml | 8 ++++++++ scripts/start_menu_tiles_clear.level.yaml | 8 ++++++++ scripts/stdrename_install_toggle.level.yaml | 8 ++++++++ .../superops_agent_alt_path_uninstall_macos.level.yaml | 8 ++++++++ scripts/superops_agent_install.level.yaml | 8 ++++++++ scripts/superops_agent_install_macos.level.yaml | 8 ++++++++ scripts/superops_agent_legacy_uninstall.level.yaml | 8 ++++++++ scripts/superops_agent_reinstall_macos.level.yaml | 8 ++++++++ scripts/superops_agent_uninstall.level.yaml | 8 ++++++++ scripts/superops_agent_uninstall_alt.level.yaml | 8 ++++++++ scripts/superops_agent_uninstall_linux.level.yaml | 8 ++++++++ scripts/superops_agent_uninstall_macos.level.yaml | 8 ++++++++ scripts/superops_service_restart.level.yaml | 8 ++++++++ scripts/superops_tray_icon_show_always.level.yaml | 8 ++++++++ scripts/synology_backup_agent_install.level.yaml | 8 ++++++++ scripts/synology_backup_agent_install_linux.level.yaml | 8 ++++++++ scripts/terminated_user_lockout.level.yaml | 8 ++++++++ scripts/time_sync_fix.level.yaml | 8 ++++++++ scripts/time_utc_set.level.yaml | 8 ++++++++ scripts/ubuntu_debian_update_verbose.level.yaml | 8 ++++++++ scripts/user_accounts_report.level.yaml | 8 ++++++++ scripts/usmt_lan_migrate.level.yaml | 8 ++++++++ scripts/usmt_profile_migrate.level.yaml | 8 ++++++++ scripts/webview2_repair_install.level.yaml | 8 ++++++++ scripts/wifi_adapters_disable.level.yaml | 8 ++++++++ scripts/wifi_passwords_show.level.yaml | 8 ++++++++ scripts/wifiman_install.level.yaml | 8 ++++++++ scripts/win11_compatibility_check.level.yaml | 8 ++++++++ scripts/windows11_compatibility_check.level.yaml | 8 ++++++++ scripts/windows_dark_mode_enable.level.yaml | 8 ++++++++ scripts/windows_dism_sfc_chkdsk_run.level.yaml | 8 ++++++++ scripts/windows_firewall_toggle.level.yaml | 8 ++++++++ scripts/windows_product_key_export_superops.level.yaml | 8 ++++++++ scripts/windows_update_access_restore.level.yaml | 8 ++++++++ scripts/windows_update_access_toggle.level.yaml | 8 ++++++++ scripts/windows_update_reset.level.yaml | 8 ++++++++ scripts/winget_package_install.level.yaml | 8 ++++++++ scripts/winget_setup.level.yaml | 8 ++++++++ scripts/winget_upgrade_all.level.yaml | 8 ++++++++ scripts/winre_partition_resize.level.yaml | 8 ++++++++ scripts/winre_restore.level.yaml | 8 ++++++++ scripts/winreagent_cleanup.level.yaml | 8 ++++++++ scripts/wol_enable.level.yaml | 8 ++++++++ scripts/wol_status_check.level.yaml | 8 ++++++++ scripts/workstation_info_display.level.yaml | 8 ++++++++ scripts/workstation_info_display_macos.level.yaml | 8 ++++++++ scripts/workstation_oobe_seal.level.yaml | 8 ++++++++ scripts/workstation_reboot_force.level.yaml | 8 ++++++++ scripts/workstation_remote_wipe.level.yaml | 8 ++++++++ scripts/workstation_rename_auto.level.yaml | 8 ++++++++ scripts/workstation_rename_auto_macos.level.yaml | 8 ++++++++ scripts/workstation_rename_manual.level.yaml | 8 ++++++++ scripts/workstation_rename_manual_macos.level.yaml | 8 ++++++++ scripts/workstation_screenshot_macos.level.yaml | 8 ++++++++ scripts/workstation_uptime_reboot_macos.level.yaml | 8 ++++++++ 179 files changed, 1432 insertions(+) create mode 100644 scripts/1password_install.level.yaml create mode 100644 scripts/agent_startup_fix.level.yaml create mode 100644 scripts/antivirus_status.level.yaml create mode 100644 scripts/antivirus_uninstall.level.yaml create mode 100644 scripts/arch_update_verbose.level.yaml create mode 100644 scripts/bitlocker_superops_enable.level.yaml create mode 100644 scripts/canon_mf455dw_driver_install.level.yaml create mode 100644 scripts/choco_upgrade_all.level.yaml create mode 100644 scripts/cloudflared_install.level.yaml create mode 100644 scripts/cloudflared_status.level.yaml create mode 100644 scripts/cloudflared_uninstall.level.yaml create mode 100644 scripts/cloudflared_upgrade.level.yaml create mode 100644 scripts/cups_toggle_macos.level.yaml create mode 100644 scripts/dell_command_update.level.yaml create mode 100644 scripts/delprof2_old_profiles_delete.level.yaml create mode 100644 scripts/delprof2_profiles_delete_all.level.yaml create mode 100644 scripts/delprof2_selected_profile_keep.level.yaml create mode 100644 scripts/delprof2_specific_profile_delete.level.yaml create mode 100644 scripts/deskview_install.level.yaml create mode 100644 scripts/dietpi_proxmox_install.level.yaml create mode 100644 scripts/directory_cleanup.level.yaml create mode 100644 scripts/directory_size_analyze.level.yaml create mode 100644 scripts/disk_cleanup.level.yaml create mode 100644 scripts/disk_scan_fix.level.yaml create mode 100644 scripts/disk_smart_status.level.yaml create mode 100644 scripts/dns_flush.level.yaml create mode 100644 scripts/dns_set_provider.level.yaml create mode 100644 scripts/dnsfilter_uninstall.level.yaml create mode 100644 scripts/dokploy_orphaned_volumes_cleanup.level.yaml create mode 100644 scripts/dokploy_running_apps_deploy.level.yaml create mode 100644 scripts/ds_store_disable_macos.level.yaml create mode 100644 scripts/duplicati_backup_status.level.yaml create mode 100644 scripts/edge_chrome_default_user_set.level.yaml create mode 100644 scripts/edge_suppress_policies_system.level.yaml create mode 100644 scripts/emsisoft_url_install.level.yaml create mode 100644 scripts/eset_cleanup.level.yaml create mode 100644 scripts/everything_file_search.level.yaml create mode 100644 scripts/file_secure_delete.level.yaml create mode 100644 scripts/file_secure_delete_certificate.level.yaml create mode 100644 scripts/files_rename_snake_case.level.yaml create mode 100644 scripts/foxit_pdf_editor_plus_install.level.yaml create mode 100644 scripts/gcpw_cleanup.level.yaml create mode 100644 scripts/gcpw_install.level.yaml create mode 100644 scripts/google_update_trigger.level.yaml create mode 100644 scripts/hardware_report.level.yaml create mode 100644 scripts/huntress_install_macos.level.yaml create mode 100644 scripts/ipconfig_release_renew.level.yaml create mode 100644 scripts/limehawk_admin_profile_branding.level.yaml create mode 100644 scripts/local_user_admin_create.level.yaml create mode 100644 scripts/local_user_admin_setup.level.yaml create mode 100644 scripts/local_user_admin_toggle.level.yaml create mode 100644 scripts/local_user_create.level.yaml create mode 100644 scripts/local_user_delete.level.yaml create mode 100644 scripts/local_user_disable.level.yaml create mode 100644 scripts/macos_auto_updates_enable.level.yaml create mode 100644 scripts/maintenance_reboot.level.yaml create mode 100644 scripts/mrt_scan.level.yaml create mode 100644 scripts/msi_url_install.level.yaml create mode 100644 scripts/network_dhcp_set_macos.level.yaml create mode 100644 scripts/network_scan.level.yaml create mode 100644 scripts/network_service_refresh_macos.level.yaml create mode 100644 scripts/ninjaone_uninstall.level.yaml create mode 100644 scripts/nircmd_resolution_set.level.yaml create mode 100644 scripts/nircmd_screenshot.level.yaml create mode 100644 scripts/nirsoft_uninstall_view.level.yaml create mode 100644 scripts/nvram_reset_reboot_macos.level.yaml create mode 100644 scripts/onedrive_reenable.level.yaml create mode 100644 scripts/onedrive_remove_complete.level.yaml create mode 100644 scripts/onestart_remove_complete.level.yaml create mode 100644 scripts/onlyoffice_install.level.yaml create mode 100644 scripts/openssh_server_remove.level.yaml create mode 100644 scripts/openssh_server_setup.level.yaml create mode 100644 scripts/outlook_link_handling_fix.level.yaml create mode 100644 scripts/outlook_new_force_migrate.level.yaml create mode 100644 scripts/outlook_new_remove.level.yaml create mode 100644 scripts/outlook_new_restore.level.yaml create mode 100644 scripts/password_files_search.level.yaml create mode 100644 scripts/password_files_tickets_search.level.yaml create mode 100644 scripts/potplayer_install.level.yaml create mode 100644 scripts/power_plans_default_add.level.yaml create mode 100644 scripts/power_profile_always_on_set.level.yaml create mode 100644 scripts/power_profile_set_macos.level.yaml create mode 100644 scripts/prinstall_add.level.yaml create mode 100644 scripts/prinstall_driver_add.level.yaml create mode 100644 scripts/prinstall_driver_list.level.yaml create mode 100644 scripts/prinstall_driver_remove.level.yaml create mode 100644 scripts/prinstall_drivers.level.yaml create mode 100644 scripts/prinstall_id.level.yaml create mode 100644 scripts/prinstall_list.level.yaml create mode 100644 scripts/prinstall_remove.level.yaml create mode 100644 scripts/prinstall_scan.level.yaml create mode 100644 scripts/prinstall_setup.level.yaml create mode 100644 scripts/prinstall_trust_codesign.level.yaml create mode 100644 scripts/print_queue_clear.level.yaml create mode 100644 scripts/print_queue_reset.level.yaml create mode 100644 scripts/printer_connection_test.level.yaml create mode 100644 scripts/printer_install_linux.level.yaml create mode 100644 scripts/printer_install_macos.level.yaml create mode 100644 scripts/printers_remove_all.level.yaml create mode 100644 scripts/public_ip_export_superops.level.yaml create mode 100644 scripts/public_ip_export_superops_macos.level.yaml create mode 100644 scripts/restic_b2_backup_install.level.yaml create mode 100644 scripts/rustic_backup.level.yaml create mode 100644 scripts/rustic_backup_unix.level.yaml create mode 100644 scripts/rustic_install.level.yaml create mode 100644 scripts/rustic_install_unix.level.yaml create mode 100644 scripts/rustic_restore.level.yaml create mode 100644 scripts/rustic_restore_unix.level.yaml create mode 100644 scripts/rustic_uninstall.level.yaml create mode 100644 scripts/rustic_uninstall_unix.level.yaml create mode 100644 scripts/sentinelone_install.level.yaml create mode 100644 scripts/sentinelone_services_start.level.yaml create mode 100644 scripts/sentinelone_uninstall_linux.level.yaml create mode 100644 scripts/shutdown_toggle.level.yaml create mode 100644 scripts/speedtest_export_superops.level.yaml create mode 100644 scripts/splashtop_business_install.level.yaml create mode 100644 scripts/splashtop_business_install_macos.level.yaml create mode 100644 scripts/splashtop_service_restart.level.yaml create mode 100644 scripts/splashtop_service_restart_macos.level.yaml create mode 100644 scripts/splashtop_streamer_install.level.yaml create mode 100644 scripts/splashtop_streamer_install_debian_amd64.level.yaml create mode 100644 scripts/splashtop_streamer_install_debian_arm64.level.yaml create mode 100644 scripts/splashtop_streamer_install_macos.level.yaml create mode 100644 scripts/splashtop_uninstall.level.yaml create mode 100644 scripts/splashtop_uninstall_macos.level.yaml create mode 100644 scripts/start_menu_tiles_clear.level.yaml create mode 100644 scripts/stdrename_install_toggle.level.yaml create mode 100644 scripts/superops_agent_alt_path_uninstall_macos.level.yaml create mode 100644 scripts/superops_agent_install.level.yaml create mode 100644 scripts/superops_agent_install_macos.level.yaml create mode 100644 scripts/superops_agent_legacy_uninstall.level.yaml create mode 100644 scripts/superops_agent_reinstall_macos.level.yaml create mode 100644 scripts/superops_agent_uninstall.level.yaml create mode 100644 scripts/superops_agent_uninstall_alt.level.yaml create mode 100644 scripts/superops_agent_uninstall_linux.level.yaml create mode 100644 scripts/superops_agent_uninstall_macos.level.yaml create mode 100644 scripts/superops_service_restart.level.yaml create mode 100644 scripts/superops_tray_icon_show_always.level.yaml create mode 100644 scripts/synology_backup_agent_install.level.yaml create mode 100644 scripts/synology_backup_agent_install_linux.level.yaml create mode 100644 scripts/terminated_user_lockout.level.yaml create mode 100644 scripts/time_sync_fix.level.yaml create mode 100644 scripts/time_utc_set.level.yaml create mode 100644 scripts/ubuntu_debian_update_verbose.level.yaml create mode 100644 scripts/user_accounts_report.level.yaml create mode 100644 scripts/usmt_lan_migrate.level.yaml create mode 100644 scripts/usmt_profile_migrate.level.yaml create mode 100644 scripts/webview2_repair_install.level.yaml create mode 100644 scripts/wifi_adapters_disable.level.yaml create mode 100644 scripts/wifi_passwords_show.level.yaml create mode 100644 scripts/wifiman_install.level.yaml create mode 100644 scripts/win11_compatibility_check.level.yaml create mode 100644 scripts/windows11_compatibility_check.level.yaml create mode 100644 scripts/windows_dark_mode_enable.level.yaml create mode 100644 scripts/windows_dism_sfc_chkdsk_run.level.yaml create mode 100644 scripts/windows_firewall_toggle.level.yaml create mode 100644 scripts/windows_product_key_export_superops.level.yaml create mode 100644 scripts/windows_update_access_restore.level.yaml create mode 100644 scripts/windows_update_access_toggle.level.yaml create mode 100644 scripts/windows_update_reset.level.yaml create mode 100644 scripts/winget_package_install.level.yaml create mode 100644 scripts/winget_setup.level.yaml create mode 100644 scripts/winget_upgrade_all.level.yaml create mode 100644 scripts/winre_partition_resize.level.yaml create mode 100644 scripts/winre_restore.level.yaml create mode 100644 scripts/winreagent_cleanup.level.yaml create mode 100644 scripts/wol_enable.level.yaml create mode 100644 scripts/wol_status_check.level.yaml create mode 100644 scripts/workstation_info_display.level.yaml create mode 100644 scripts/workstation_info_display_macos.level.yaml create mode 100644 scripts/workstation_oobe_seal.level.yaml create mode 100644 scripts/workstation_reboot_force.level.yaml create mode 100644 scripts/workstation_remote_wipe.level.yaml create mode 100644 scripts/workstation_rename_auto.level.yaml create mode 100644 scripts/workstation_rename_auto_macos.level.yaml create mode 100644 scripts/workstation_rename_manual.level.yaml create mode 100644 scripts/workstation_rename_manual_macos.level.yaml create mode 100644 scripts/workstation_screenshot_macos.level.yaml create mode 100644 scripts/workstation_uptime_reboot_macos.level.yaml diff --git a/scripts/1password_install.level.yaml b/scripts/1password_install.level.yaml new file mode 100644 index 0000000..7aa79b6 --- /dev/null +++ b/scripts/1password_install.level.yaml @@ -0,0 +1,8 @@ +name: "1password_install.ps1" +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMA +lastPushedChecksum: "sha256:4c5b17905ada8b19" +lastPushedMetaChecksum: "sha256:5f52e8af41f844ed" \ No newline at end of file diff --git a/scripts/agent_startup_fix.level.yaml b/scripts/agent_startup_fix.level.yaml new file mode 100644 index 0000000..5bb5824 --- /dev/null +++ b/scripts/agent_startup_fix.level.yaml @@ -0,0 +1,8 @@ +name: agent_startup_fix.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMQ +lastPushedChecksum: "sha256:5c55fbd2b948f152" +lastPushedMetaChecksum: "sha256:f5d9794ccf6b1f2c" \ No newline at end of file diff --git a/scripts/antivirus_status.level.yaml b/scripts/antivirus_status.level.yaml new file mode 100644 index 0000000..f738a30 --- /dev/null +++ b/scripts/antivirus_status.level.yaml @@ -0,0 +1,8 @@ +name: antivirus_status.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMg +lastPushedChecksum: "sha256:1a20a2caeb5024b5" +lastPushedMetaChecksum: "sha256:9921764b52986cbc" \ No newline at end of file diff --git a/scripts/antivirus_uninstall.level.yaml b/scripts/antivirus_uninstall.level.yaml new file mode 100644 index 0000000..329cb6a --- /dev/null +++ b/scripts/antivirus_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: antivirus_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMw +lastPushedChecksum: "sha256:20975b8efcf885c8" +lastPushedMetaChecksum: "sha256:2c0a2e10efba6916" \ No newline at end of file diff --git a/scripts/arch_update_verbose.level.yaml b/scripts/arch_update_verbose.level.yaml new file mode 100644 index 0000000..8061faa --- /dev/null +++ b/scripts/arch_update_verbose.level.yaml @@ -0,0 +1,8 @@ +name: arch_update_verbose.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNA +lastPushedChecksum: "sha256:132e3b80eb80e9b3" +lastPushedMetaChecksum: "sha256:e86e5fb919dea6e6" \ No newline at end of file diff --git a/scripts/bitlocker_superops_enable.level.yaml b/scripts/bitlocker_superops_enable.level.yaml new file mode 100644 index 0000000..d5a3f95 --- /dev/null +++ b/scripts/bitlocker_superops_enable.level.yaml @@ -0,0 +1,8 @@ +name: bitlocker_superops_enable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNQ +lastPushedChecksum: "sha256:5bb054e2cc26dc88" +lastPushedMetaChecksum: "sha256:0ebcd91749abf43d" \ No newline at end of file diff --git a/scripts/canon_mf455dw_driver_install.level.yaml b/scripts/canon_mf455dw_driver_install.level.yaml new file mode 100644 index 0000000..d3259cd --- /dev/null +++ b/scripts/canon_mf455dw_driver_install.level.yaml @@ -0,0 +1,8 @@ +name: canon_mf455dw_driver_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNg +lastPushedChecksum: "sha256:9422dc3b1c79a3bf" +lastPushedMetaChecksum: "sha256:1762be2079eff365" \ No newline at end of file diff --git a/scripts/choco_upgrade_all.level.yaml b/scripts/choco_upgrade_all.level.yaml new file mode 100644 index 0000000..5450625 --- /dev/null +++ b/scripts/choco_upgrade_all.level.yaml @@ -0,0 +1,8 @@ +name: choco_upgrade_all.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNw +lastPushedChecksum: "sha256:bf35638a77698431" +lastPushedMetaChecksum: "sha256:65500a7aac11fe33" \ No newline at end of file diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml new file mode 100644 index 0000000..bd24891 --- /dev/null +++ b/scripts/cloudflared_install.level.yaml @@ -0,0 +1,8 @@ +name: cloudflared_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA +lastPushedChecksum: "sha256:13f478410f8c5064" +lastPushedMetaChecksum: "sha256:47404ab047e3dae0" \ No newline at end of file diff --git a/scripts/cloudflared_status.level.yaml b/scripts/cloudflared_status.level.yaml new file mode 100644 index 0000000..54f9058 --- /dev/null +++ b/scripts/cloudflared_status.level.yaml @@ -0,0 +1,8 @@ +name: cloudflared_status.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOQ +lastPushedChecksum: "sha256:e7d61d1e9ee15f74" +lastPushedMetaChecksum: "sha256:5c8b6271ad7eea70" \ No newline at end of file diff --git a/scripts/cloudflared_uninstall.level.yaml b/scripts/cloudflared_uninstall.level.yaml new file mode 100644 index 0000000..609b20f --- /dev/null +++ b/scripts/cloudflared_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: cloudflared_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MA +lastPushedChecksum: "sha256:f9aa02bdaa9c4cda" +lastPushedMetaChecksum: "sha256:9a784a9efc33d424" \ No newline at end of file diff --git a/scripts/cloudflared_upgrade.level.yaml b/scripts/cloudflared_upgrade.level.yaml new file mode 100644 index 0000000..83f9210 --- /dev/null +++ b/scripts/cloudflared_upgrade.level.yaml @@ -0,0 +1,8 @@ +name: cloudflared_upgrade.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MQ +lastPushedChecksum: "sha256:df3c507b8b3e95a9" +lastPushedMetaChecksum: "sha256:0aa53c9c3e2e7781" \ No newline at end of file diff --git a/scripts/cups_toggle_macos.level.yaml b/scripts/cups_toggle_macos.level.yaml new file mode 100644 index 0000000..db2a8d9 --- /dev/null +++ b/scripts/cups_toggle_macos.level.yaml @@ -0,0 +1,8 @@ +name: cups_toggle_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mg +lastPushedChecksum: "sha256:798218624bddb90d" +lastPushedMetaChecksum: "sha256:0da26de587a9eca0" \ No newline at end of file diff --git a/scripts/dell_command_update.level.yaml b/scripts/dell_command_update.level.yaml new file mode 100644 index 0000000..6c9b013 --- /dev/null +++ b/scripts/dell_command_update.level.yaml @@ -0,0 +1,8 @@ +name: dell_command_update.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mw +lastPushedChecksum: "sha256:a83e3d86b27a7bd3" +lastPushedMetaChecksum: "sha256:3c5296736f6ee2d8" \ No newline at end of file diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml new file mode 100644 index 0000000..a886de5 --- /dev/null +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -0,0 +1,8 @@ +name: delprof2_old_profiles_delete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA +lastPushedChecksum: "sha256:106abf51d75cdcc5" +lastPushedMetaChecksum: "sha256:0d7430406cd3b1ef" \ No newline at end of file diff --git a/scripts/delprof2_profiles_delete_all.level.yaml b/scripts/delprof2_profiles_delete_all.level.yaml new file mode 100644 index 0000000..d3a0b6d --- /dev/null +++ b/scripts/delprof2_profiles_delete_all.level.yaml @@ -0,0 +1,8 @@ +name: delprof2_profiles_delete_all.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NQ +lastPushedChecksum: "sha256:c59f7c3794206023" +lastPushedMetaChecksum: "sha256:658453b1d29e0654" \ No newline at end of file diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml new file mode 100644 index 0000000..2a1d79b --- /dev/null +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -0,0 +1,8 @@ +name: delprof2_selected_profile_keep.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng +lastPushedChecksum: "sha256:e42a9370705203ab" +lastPushedMetaChecksum: "sha256:ab62cf018f194a88" \ No newline at end of file diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml new file mode 100644 index 0000000..52e6357 --- /dev/null +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -0,0 +1,8 @@ +name: delprof2_specific_profile_delete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw +lastPushedChecksum: "sha256:15ac32c141b8896a" +lastPushedMetaChecksum: "sha256:40e645d4cff3be38" \ No newline at end of file diff --git a/scripts/deskview_install.level.yaml b/scripts/deskview_install.level.yaml new file mode 100644 index 0000000..9e90e65 --- /dev/null +++ b/scripts/deskview_install.level.yaml @@ -0,0 +1,8 @@ +name: deskview_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OA +lastPushedChecksum: "sha256:dca5111c6a4c7b0b" +lastPushedMetaChecksum: "sha256:a07891418b832461" \ No newline at end of file diff --git a/scripts/dietpi_proxmox_install.level.yaml b/scripts/dietpi_proxmox_install.level.yaml new file mode 100644 index 0000000..83bba49 --- /dev/null +++ b/scripts/dietpi_proxmox_install.level.yaml @@ -0,0 +1,8 @@ +name: dietpi_proxmox_install.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OQ +lastPushedChecksum: "sha256:4267f99c659dd43a" +lastPushedMetaChecksum: "sha256:536ea7fe127cdae8" \ No newline at end of file diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml new file mode 100644 index 0000000..cfc5217 --- /dev/null +++ b/scripts/directory_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: directory_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA +lastPushedChecksum: "sha256:c4b0a0caf6528904" +lastPushedMetaChecksum: "sha256:6718561e686bac8b" \ No newline at end of file diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml new file mode 100644 index 0000000..b495ec3 --- /dev/null +++ b/scripts/directory_size_analyze.level.yaml @@ -0,0 +1,8 @@ +name: directory_size_analyze.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ +lastPushedChecksum: "sha256:341a3b130cb083e0" +lastPushedMetaChecksum: "sha256:aa7d02021e1079aa" \ No newline at end of file diff --git a/scripts/disk_cleanup.level.yaml b/scripts/disk_cleanup.level.yaml new file mode 100644 index 0000000..73685d6 --- /dev/null +++ b/scripts/disk_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: disk_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mg +lastPushedChecksum: "sha256:2496e05767011ab7" +lastPushedMetaChecksum: "sha256:c095ce3f634ef78c" \ No newline at end of file diff --git a/scripts/disk_scan_fix.level.yaml b/scripts/disk_scan_fix.level.yaml new file mode 100644 index 0000000..7bf5663 --- /dev/null +++ b/scripts/disk_scan_fix.level.yaml @@ -0,0 +1,8 @@ +name: disk_scan_fix.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mw +lastPushedChecksum: "sha256:9afd6590971bc04f" +lastPushedMetaChecksum: "sha256:523bcc3dd18ef47d" \ No newline at end of file diff --git a/scripts/disk_smart_status.level.yaml b/scripts/disk_smart_status.level.yaml new file mode 100644 index 0000000..545ba78 --- /dev/null +++ b/scripts/disk_smart_status.level.yaml @@ -0,0 +1,8 @@ +name: disk_smart_status.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NA +lastPushedChecksum: "sha256:cf1b77bc78f75a11" +lastPushedMetaChecksum: "sha256:6011b3b05389e096" \ No newline at end of file diff --git a/scripts/dns_flush.level.yaml b/scripts/dns_flush.level.yaml new file mode 100644 index 0000000..dd96602 --- /dev/null +++ b/scripts/dns_flush.level.yaml @@ -0,0 +1,8 @@ +name: dns_flush.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NQ +lastPushedChecksum: "sha256:5124eb497016d01a" +lastPushedMetaChecksum: "sha256:e33ad4e260063f77" \ No newline at end of file diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml new file mode 100644 index 0000000..c5d8752 --- /dev/null +++ b/scripts/dns_set_provider.level.yaml @@ -0,0 +1,8 @@ +name: dns_set_provider.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng +lastPushedChecksum: "sha256:c5ae635e195d07c1" +lastPushedMetaChecksum: "sha256:3253019f100fd555" \ No newline at end of file diff --git a/scripts/dnsfilter_uninstall.level.yaml b/scripts/dnsfilter_uninstall.level.yaml new file mode 100644 index 0000000..7c13a04 --- /dev/null +++ b/scripts/dnsfilter_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: dnsfilter_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Nw +lastPushedChecksum: "sha256:09f70a00c2649337" +lastPushedMetaChecksum: "sha256:7afc2e123c4be5bf" \ No newline at end of file diff --git a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml new file mode 100644 index 0000000..3a423d5 --- /dev/null +++ b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: dokploy_orphaned_volumes_cleanup.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OA +lastPushedChecksum: "sha256:4aa76efabe2abc10" +lastPushedMetaChecksum: "sha256:7f3790c06ea343d1" \ No newline at end of file diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml new file mode 100644 index 0000000..18f5c5a --- /dev/null +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -0,0 +1,8 @@ +name: dokploy_running_apps_deploy.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OQ +lastPushedChecksum: "sha256:fe4c759579dc9eeb" +lastPushedMetaChecksum: "sha256:1f2c3f494768a3db" \ No newline at end of file diff --git a/scripts/ds_store_disable_macos.level.yaml b/scripts/ds_store_disable_macos.level.yaml new file mode 100644 index 0000000..3cf8219 --- /dev/null +++ b/scripts/ds_store_disable_macos.level.yaml @@ -0,0 +1,8 @@ +name: ds_store_disable_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MA +lastPushedChecksum: "sha256:6a32e8ee9e2fd422" +lastPushedMetaChecksum: "sha256:920cbbac4768c8df" \ No newline at end of file diff --git a/scripts/duplicati_backup_status.level.yaml b/scripts/duplicati_backup_status.level.yaml new file mode 100644 index 0000000..71c3aff --- /dev/null +++ b/scripts/duplicati_backup_status.level.yaml @@ -0,0 +1,8 @@ +name: duplicati_backup_status.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MQ +lastPushedChecksum: "sha256:360e0d7aeefcb55f" +lastPushedMetaChecksum: "sha256:bb4d478828725f54" \ No newline at end of file diff --git a/scripts/edge_chrome_default_user_set.level.yaml b/scripts/edge_chrome_default_user_set.level.yaml new file mode 100644 index 0000000..18af21b --- /dev/null +++ b/scripts/edge_chrome_default_user_set.level.yaml @@ -0,0 +1,8 @@ +name: edge_chrome_default_user_set.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mg +lastPushedChecksum: "sha256:b213f84130bd8aa5" +lastPushedMetaChecksum: "sha256:fe6a65d630f22435" \ No newline at end of file diff --git a/scripts/edge_suppress_policies_system.level.yaml b/scripts/edge_suppress_policies_system.level.yaml new file mode 100644 index 0000000..4645992 --- /dev/null +++ b/scripts/edge_suppress_policies_system.level.yaml @@ -0,0 +1,8 @@ +name: edge_suppress_policies_system.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mw +lastPushedChecksum: "sha256:1151af7b4680d90b" +lastPushedMetaChecksum: "sha256:0d32dd123269bb61" \ No newline at end of file diff --git a/scripts/emsisoft_url_install.level.yaml b/scripts/emsisoft_url_install.level.yaml new file mode 100644 index 0000000..00df488 --- /dev/null +++ b/scripts/emsisoft_url_install.level.yaml @@ -0,0 +1,8 @@ +name: emsisoft_url_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NA +lastPushedChecksum: "sha256:192d86d6bb9b656b" +lastPushedMetaChecksum: "sha256:7c7087decdec3af1" \ No newline at end of file diff --git a/scripts/eset_cleanup.level.yaml b/scripts/eset_cleanup.level.yaml new file mode 100644 index 0000000..6b9e995 --- /dev/null +++ b/scripts/eset_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: eset_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NQ +lastPushedChecksum: "sha256:be3fe66de9f75c4b" +lastPushedMetaChecksum: "sha256:af64984081b93bcb" \ No newline at end of file diff --git a/scripts/everything_file_search.level.yaml b/scripts/everything_file_search.level.yaml new file mode 100644 index 0000000..486715d --- /dev/null +++ b/scripts/everything_file_search.level.yaml @@ -0,0 +1,8 @@ +name: everything_file_search.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Ng +lastPushedChecksum: "sha256:0cd3f77917c59864" +lastPushedMetaChecksum: "sha256:17fb9475f301125e" \ No newline at end of file diff --git a/scripts/file_secure_delete.level.yaml b/scripts/file_secure_delete.level.yaml new file mode 100644 index 0000000..d638b69 --- /dev/null +++ b/scripts/file_secure_delete.level.yaml @@ -0,0 +1,8 @@ +name: file_secure_delete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Nw +lastPushedChecksum: "sha256:99d45673e39aa403" +lastPushedMetaChecksum: "sha256:0123bccdfee36c60" \ No newline at end of file diff --git a/scripts/file_secure_delete_certificate.level.yaml b/scripts/file_secure_delete_certificate.level.yaml new file mode 100644 index 0000000..14afd93 --- /dev/null +++ b/scripts/file_secure_delete_certificate.level.yaml @@ -0,0 +1,8 @@ +name: file_secure_delete_certificate.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OA +lastPushedChecksum: "sha256:a041287d0a535364" +lastPushedMetaChecksum: "sha256:d41e1e527ada9c40" \ No newline at end of file diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml new file mode 100644 index 0000000..c6ab64b --- /dev/null +++ b/scripts/files_rename_snake_case.level.yaml @@ -0,0 +1,8 @@ +name: files_rename_snake_case.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ +lastPushedChecksum: "sha256:1667beeb231b76e8" +lastPushedMetaChecksum: "sha256:a33af910f402d56e" \ No newline at end of file diff --git a/scripts/foxit_pdf_editor_plus_install.level.yaml b/scripts/foxit_pdf_editor_plus_install.level.yaml new file mode 100644 index 0000000..f640495 --- /dev/null +++ b/scripts/foxit_pdf_editor_plus_install.level.yaml @@ -0,0 +1,8 @@ +name: foxit_pdf_editor_plus_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MA +lastPushedChecksum: "sha256:46dc5587c5f2c2bf" +lastPushedMetaChecksum: "sha256:3efe9782e758d831" \ No newline at end of file diff --git a/scripts/gcpw_cleanup.level.yaml b/scripts/gcpw_cleanup.level.yaml new file mode 100644 index 0000000..99e0ead --- /dev/null +++ b/scripts/gcpw_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: gcpw_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MQ +lastPushedChecksum: "sha256:ac2a1fbb15510a20" +lastPushedMetaChecksum: "sha256:581039248e95e965" \ No newline at end of file diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml new file mode 100644 index 0000000..3eca4e3 --- /dev/null +++ b/scripts/gcpw_install.level.yaml @@ -0,0 +1,8 @@ +name: gcpw_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg +lastPushedChecksum: "sha256:6a01156dccfaf3c8" +lastPushedMetaChecksum: "sha256:ca88ab36d1e69165" \ No newline at end of file diff --git a/scripts/google_update_trigger.level.yaml b/scripts/google_update_trigger.level.yaml new file mode 100644 index 0000000..76e9084 --- /dev/null +++ b/scripts/google_update_trigger.level.yaml @@ -0,0 +1,8 @@ +name: google_update_trigger.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mw +lastPushedChecksum: "sha256:4646ca9e91cf3598" +lastPushedMetaChecksum: "sha256:5ed2105bea021ba7" \ No newline at end of file diff --git a/scripts/hardware_report.level.yaml b/scripts/hardware_report.level.yaml new file mode 100644 index 0000000..c21d705 --- /dev/null +++ b/scripts/hardware_report.level.yaml @@ -0,0 +1,8 @@ +name: hardware_report.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NA +lastPushedChecksum: "sha256:de8ba9756cb4a9ce" +lastPushedMetaChecksum: "sha256:8957a65b1dbb70ed" \ No newline at end of file diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml new file mode 100644 index 0000000..37ae3af --- /dev/null +++ b/scripts/huntress_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: huntress_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ +lastPushedChecksum: "sha256:910ea6231cde662c" +lastPushedMetaChecksum: "sha256:340818797dfe9216" \ No newline at end of file diff --git a/scripts/ipconfig_release_renew.level.yaml b/scripts/ipconfig_release_renew.level.yaml new file mode 100644 index 0000000..3dcf689 --- /dev/null +++ b/scripts/ipconfig_release_renew.level.yaml @@ -0,0 +1,8 @@ +name: ipconfig_release_renew.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Ng +lastPushedChecksum: "sha256:aee4d4bf40d78b00" +lastPushedMetaChecksum: "sha256:debc28ca152ba18e" \ No newline at end of file diff --git a/scripts/limehawk_admin_profile_branding.level.yaml b/scripts/limehawk_admin_profile_branding.level.yaml new file mode 100644 index 0000000..fc42b84 --- /dev/null +++ b/scripts/limehawk_admin_profile_branding.level.yaml @@ -0,0 +1,8 @@ +name: limehawk_admin_profile_branding.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Nw +lastPushedChecksum: "sha256:cc11c5cfa54f13ae" +lastPushedMetaChecksum: "sha256:2fb7aa965824a1d7" \ No newline at end of file diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml new file mode 100644 index 0000000..0dab105 --- /dev/null +++ b/scripts/local_user_admin_create.level.yaml @@ -0,0 +1,8 @@ +name: local_user_admin_create.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA +lastPushedChecksum: "sha256:b00a562a4847602e" +lastPushedMetaChecksum: "sha256:c26853472629463a" \ No newline at end of file diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml new file mode 100644 index 0000000..3e7a5d9 --- /dev/null +++ b/scripts/local_user_admin_setup.level.yaml @@ -0,0 +1,8 @@ +name: local_user_admin_setup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ +lastPushedChecksum: "sha256:5b01541855959832" +lastPushedMetaChecksum: "sha256:710d963e302a88e4" \ No newline at end of file diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml new file mode 100644 index 0000000..149902c --- /dev/null +++ b/scripts/local_user_admin_toggle.level.yaml @@ -0,0 +1,8 @@ +name: local_user_admin_toggle.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA +lastPushedChecksum: "sha256:d8f47d2d007aaf4c" +lastPushedMetaChecksum: "sha256:994e1fa3fdc37dbb" \ No newline at end of file diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml new file mode 100644 index 0000000..1ca23fb --- /dev/null +++ b/scripts/local_user_create.level.yaml @@ -0,0 +1,8 @@ +name: local_user_create.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ +lastPushedChecksum: "sha256:67aa5c484662ae59" +lastPushedMetaChecksum: "sha256:4b3b9d350d20211a" \ No newline at end of file diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml new file mode 100644 index 0000000..1668263 --- /dev/null +++ b/scripts/local_user_delete.level.yaml @@ -0,0 +1,8 @@ +name: local_user_delete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg +lastPushedChecksum: "sha256:16d8ccc7f3be11d4" +lastPushedMetaChecksum: "sha256:9fa507b2e4462cfb" \ No newline at end of file diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml new file mode 100644 index 0000000..aad437d --- /dev/null +++ b/scripts/local_user_disable.level.yaml @@ -0,0 +1,8 @@ +name: local_user_disable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw +lastPushedChecksum: "sha256:0f2f743bc9b235f6" +lastPushedMetaChecksum: "sha256:6490af4ace127f5d" \ No newline at end of file diff --git a/scripts/macos_auto_updates_enable.level.yaml b/scripts/macos_auto_updates_enable.level.yaml new file mode 100644 index 0000000..5753ff0 --- /dev/null +++ b/scripts/macos_auto_updates_enable.level.yaml @@ -0,0 +1,8 @@ +name: macos_auto_updates_enable.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NA +lastPushedChecksum: "sha256:25ead792bd41f224" +lastPushedMetaChecksum: "sha256:035e124b9744fe83" \ No newline at end of file diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml new file mode 100644 index 0000000..07c1127 --- /dev/null +++ b/scripts/maintenance_reboot.level.yaml @@ -0,0 +1,8 @@ +name: maintenance_reboot.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ +lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" +lastPushedMetaChecksum: "sha256:214fb32bb86f3bcc" \ No newline at end of file diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml new file mode 100644 index 0000000..cd9c17c --- /dev/null +++ b/scripts/mrt_scan.level.yaml @@ -0,0 +1,8 @@ +name: mrt_scan.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng +lastPushedChecksum: "sha256:869633f2768cf87a" +lastPushedMetaChecksum: "sha256:f63fe826aa0235d2" \ No newline at end of file diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml new file mode 100644 index 0000000..a63e0ba --- /dev/null +++ b/scripts/msi_url_install.level.yaml @@ -0,0 +1,8 @@ +name: msi_url_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw +lastPushedChecksum: "sha256:11645faa554f4b42" +lastPushedMetaChecksum: "sha256:197a024abb12f1c5" \ No newline at end of file diff --git a/scripts/network_dhcp_set_macos.level.yaml b/scripts/network_dhcp_set_macos.level.yaml new file mode 100644 index 0000000..7940fb9 --- /dev/null +++ b/scripts/network_dhcp_set_macos.level.yaml @@ -0,0 +1,8 @@ +name: network_dhcp_set_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OA +lastPushedChecksum: "sha256:0aedf22695283c5f" +lastPushedMetaChecksum: "sha256:0d4f2a9d71945341" \ No newline at end of file diff --git a/scripts/network_scan.level.yaml b/scripts/network_scan.level.yaml new file mode 100644 index 0000000..3f95b30 --- /dev/null +++ b/scripts/network_scan.level.yaml @@ -0,0 +1,8 @@ +name: network_scan.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OQ +lastPushedChecksum: "sha256:a9fb4a959015c576" +lastPushedMetaChecksum: "sha256:9627aa094342241a" \ No newline at end of file diff --git a/scripts/network_service_refresh_macos.level.yaml b/scripts/network_service_refresh_macos.level.yaml new file mode 100644 index 0000000..f2871e8 --- /dev/null +++ b/scripts/network_service_refresh_macos.level.yaml @@ -0,0 +1,8 @@ +name: network_service_refresh_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MA +lastPushedChecksum: "sha256:5c518394b55357ae" +lastPushedMetaChecksum: "sha256:7c95b07322a8922c" \ No newline at end of file diff --git a/scripts/ninjaone_uninstall.level.yaml b/scripts/ninjaone_uninstall.level.yaml new file mode 100644 index 0000000..776aa1a --- /dev/null +++ b/scripts/ninjaone_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: ninjaone_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MQ +lastPushedChecksum: "sha256:c5cf794d589cf8bc" +lastPushedMetaChecksum: "sha256:a35cc2f208441104" \ No newline at end of file diff --git a/scripts/nircmd_resolution_set.level.yaml b/scripts/nircmd_resolution_set.level.yaml new file mode 100644 index 0000000..debf452 --- /dev/null +++ b/scripts/nircmd_resolution_set.level.yaml @@ -0,0 +1,8 @@ +name: nircmd_resolution_set.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mg +lastPushedChecksum: "sha256:144f3fde5574868a" +lastPushedMetaChecksum: "sha256:afa4779d28f44bd5" \ No newline at end of file diff --git a/scripts/nircmd_screenshot.level.yaml b/scripts/nircmd_screenshot.level.yaml new file mode 100644 index 0000000..57467f8 --- /dev/null +++ b/scripts/nircmd_screenshot.level.yaml @@ -0,0 +1,8 @@ +name: nircmd_screenshot.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mw +lastPushedChecksum: "sha256:1796923bd56b59bc" +lastPushedMetaChecksum: "sha256:9fb9093589e0bdda" \ No newline at end of file diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml new file mode 100644 index 0000000..ffdfbd0 --- /dev/null +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -0,0 +1,8 @@ +name: nirsoft_uninstall_view.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA +lastPushedChecksum: "sha256:87cabcfd5f2ac46f" +lastPushedMetaChecksum: "sha256:0afc0a4c2d40fd91" \ No newline at end of file diff --git a/scripts/nvram_reset_reboot_macos.level.yaml b/scripts/nvram_reset_reboot_macos.level.yaml new file mode 100644 index 0000000..202505f --- /dev/null +++ b/scripts/nvram_reset_reboot_macos.level.yaml @@ -0,0 +1,8 @@ +name: nvram_reset_reboot_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NQ +lastPushedChecksum: "sha256:706557f66e04e540" +lastPushedMetaChecksum: "sha256:735f6934a01f0c1e" \ No newline at end of file diff --git a/scripts/onedrive_reenable.level.yaml b/scripts/onedrive_reenable.level.yaml new file mode 100644 index 0000000..f209a07 --- /dev/null +++ b/scripts/onedrive_reenable.level.yaml @@ -0,0 +1,8 @@ +name: onedrive_reenable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Ng +lastPushedChecksum: "sha256:640ca7ab752253cc" +lastPushedMetaChecksum: "sha256:3ac0b751a37c0e4a" \ No newline at end of file diff --git a/scripts/onedrive_remove_complete.level.yaml b/scripts/onedrive_remove_complete.level.yaml new file mode 100644 index 0000000..8963bc0 --- /dev/null +++ b/scripts/onedrive_remove_complete.level.yaml @@ -0,0 +1,8 @@ +name: onedrive_remove_complete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Nw +lastPushedChecksum: "sha256:e1f4ee52cb2ad974" +lastPushedMetaChecksum: "sha256:58a800e021ecdbb5" \ No newline at end of file diff --git a/scripts/onestart_remove_complete.level.yaml b/scripts/onestart_remove_complete.level.yaml new file mode 100644 index 0000000..443275e --- /dev/null +++ b/scripts/onestart_remove_complete.level.yaml @@ -0,0 +1,8 @@ +name: onestart_remove_complete.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OA +lastPushedChecksum: "sha256:a672ec29a7dc6a4b" +lastPushedMetaChecksum: "sha256:c837a107f39ba3f8" \ No newline at end of file diff --git a/scripts/onlyoffice_install.level.yaml b/scripts/onlyoffice_install.level.yaml new file mode 100644 index 0000000..b7bc2c4 --- /dev/null +++ b/scripts/onlyoffice_install.level.yaml @@ -0,0 +1,8 @@ +name: onlyoffice_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OQ +lastPushedChecksum: "sha256:85daf10183a79aef" +lastPushedMetaChecksum: "sha256:5e0bdd51b39500d8" \ No newline at end of file diff --git a/scripts/openssh_server_remove.level.yaml b/scripts/openssh_server_remove.level.yaml new file mode 100644 index 0000000..5408bbd --- /dev/null +++ b/scripts/openssh_server_remove.level.yaml @@ -0,0 +1,8 @@ +name: openssh_server_remove.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMA +lastPushedChecksum: "sha256:71f9a649c4db3f9b" +lastPushedMetaChecksum: "sha256:900e1ba807cbcc8c" \ No newline at end of file diff --git a/scripts/openssh_server_setup.level.yaml b/scripts/openssh_server_setup.level.yaml new file mode 100644 index 0000000..e97bea7 --- /dev/null +++ b/scripts/openssh_server_setup.level.yaml @@ -0,0 +1,8 @@ +name: openssh_server_setup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMQ +lastPushedChecksum: "sha256:c182f7aae76eb7a9" +lastPushedMetaChecksum: "sha256:17819875107cbdfb" \ No newline at end of file diff --git a/scripts/outlook_link_handling_fix.level.yaml b/scripts/outlook_link_handling_fix.level.yaml new file mode 100644 index 0000000..fe9a240 --- /dev/null +++ b/scripts/outlook_link_handling_fix.level.yaml @@ -0,0 +1,8 @@ +name: outlook_link_handling_fix.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMg +lastPushedChecksum: "sha256:bfcb50c6b844cef4" +lastPushedMetaChecksum: "sha256:79061dc158cf2c00" \ No newline at end of file diff --git a/scripts/outlook_new_force_migrate.level.yaml b/scripts/outlook_new_force_migrate.level.yaml new file mode 100644 index 0000000..71f0c2b --- /dev/null +++ b/scripts/outlook_new_force_migrate.level.yaml @@ -0,0 +1,8 @@ +name: outlook_new_force_migrate.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMw +lastPushedChecksum: "sha256:e983e27a747703ea" +lastPushedMetaChecksum: "sha256:91cb9d28d4f70525" \ No newline at end of file diff --git a/scripts/outlook_new_remove.level.yaml b/scripts/outlook_new_remove.level.yaml new file mode 100644 index 0000000..e34e21c --- /dev/null +++ b/scripts/outlook_new_remove.level.yaml @@ -0,0 +1,8 @@ +name: outlook_new_remove.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNA +lastPushedChecksum: "sha256:b2ff05e51e2d5e97" +lastPushedMetaChecksum: "sha256:27df834824275479" \ No newline at end of file diff --git a/scripts/outlook_new_restore.level.yaml b/scripts/outlook_new_restore.level.yaml new file mode 100644 index 0000000..01e5db8 --- /dev/null +++ b/scripts/outlook_new_restore.level.yaml @@ -0,0 +1,8 @@ +name: outlook_new_restore.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNQ +lastPushedChecksum: "sha256:45a3649ff7a97649" +lastPushedMetaChecksum: "sha256:e070c53a7ac78405" \ No newline at end of file diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml new file mode 100644 index 0000000..fe350cb --- /dev/null +++ b/scripts/password_files_search.level.yaml @@ -0,0 +1,8 @@ +name: password_files_search.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg +lastPushedChecksum: "sha256:74b41d5efc2d9aad" +lastPushedMetaChecksum: "sha256:188d802d9b0cc223" \ No newline at end of file diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml new file mode 100644 index 0000000..3a8cdc8 --- /dev/null +++ b/scripts/password_files_tickets_search.level.yaml @@ -0,0 +1,8 @@ +name: password_files_tickets_search.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw +lastPushedChecksum: "sha256:e3aaedff2a6342a9" +lastPushedMetaChecksum: "sha256:728175b6f9dbb426" \ No newline at end of file diff --git a/scripts/potplayer_install.level.yaml b/scripts/potplayer_install.level.yaml new file mode 100644 index 0000000..f5eed44 --- /dev/null +++ b/scripts/potplayer_install.level.yaml @@ -0,0 +1,8 @@ +name: potplayer_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOA +lastPushedChecksum: "sha256:7533ac610d424652" +lastPushedMetaChecksum: "sha256:07aba7081c21593d" \ No newline at end of file diff --git a/scripts/power_plans_default_add.level.yaml b/scripts/power_plans_default_add.level.yaml new file mode 100644 index 0000000..9b61c6e --- /dev/null +++ b/scripts/power_plans_default_add.level.yaml @@ -0,0 +1,8 @@ +name: power_plans_default_add.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOQ +lastPushedChecksum: "sha256:3bb8c3a5422e2db1" +lastPushedMetaChecksum: "sha256:e1ae7ff1a07d1198" \ No newline at end of file diff --git a/scripts/power_profile_always_on_set.level.yaml b/scripts/power_profile_always_on_set.level.yaml new file mode 100644 index 0000000..8726e83 --- /dev/null +++ b/scripts/power_profile_always_on_set.level.yaml @@ -0,0 +1,8 @@ +name: power_profile_always_on_set.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMA +lastPushedChecksum: "sha256:27bd0adef334e036" +lastPushedMetaChecksum: "sha256:fde306b7b6c6b0be" \ No newline at end of file diff --git a/scripts/power_profile_set_macos.level.yaml b/scripts/power_profile_set_macos.level.yaml new file mode 100644 index 0000000..2bf8d86 --- /dev/null +++ b/scripts/power_profile_set_macos.level.yaml @@ -0,0 +1,8 @@ +name: power_profile_set_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMQ +lastPushedChecksum: "sha256:6f8c56d312326c36" +lastPushedMetaChecksum: "sha256:e49365d74164d55b" \ No newline at end of file diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml new file mode 100644 index 0000000..64490a7 --- /dev/null +++ b/scripts/prinstall_add.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_add.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg +lastPushedChecksum: "sha256:14ba5595155d0539" +lastPushedMetaChecksum: "sha256:162472ae27f79c20" \ No newline at end of file diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml new file mode 100644 index 0000000..ce28e3f --- /dev/null +++ b/scripts/prinstall_driver_add.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_driver_add.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw +lastPushedChecksum: "sha256:a65408cecc70eaf4" +lastPushedMetaChecksum: "sha256:11ee28649ed652fe" \ No newline at end of file diff --git a/scripts/prinstall_driver_list.level.yaml b/scripts/prinstall_driver_list.level.yaml new file mode 100644 index 0000000..c89e7fb --- /dev/null +++ b/scripts/prinstall_driver_list.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_driver_list.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNA +lastPushedChecksum: "sha256:feaf37e6d0aa7773" +lastPushedMetaChecksum: "sha256:b24b8e54eda74952" \ No newline at end of file diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml new file mode 100644 index 0000000..e7a1e7d --- /dev/null +++ b/scripts/prinstall_driver_remove.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_driver_remove.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ +lastPushedChecksum: "sha256:2807dd15e3ce2e70" +lastPushedMetaChecksum: "sha256:b8d947dc1db38418" \ No newline at end of file diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml new file mode 100644 index 0000000..ee26019 --- /dev/null +++ b/scripts/prinstall_drivers.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_drivers.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg +lastPushedChecksum: "sha256:460ee74ac32197ed" +lastPushedMetaChecksum: "sha256:dcd670c6969ab58c" \ No newline at end of file diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml new file mode 100644 index 0000000..f10a523 --- /dev/null +++ b/scripts/prinstall_id.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_id.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw +lastPushedChecksum: "sha256:6b982f78a98d4882" +lastPushedMetaChecksum: "sha256:29e2e50289ee129a" \ No newline at end of file diff --git a/scripts/prinstall_list.level.yaml b/scripts/prinstall_list.level.yaml new file mode 100644 index 0000000..94e5032 --- /dev/null +++ b/scripts/prinstall_list.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_list.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOA +lastPushedChecksum: "sha256:d8c62d94975b0077" +lastPushedMetaChecksum: "sha256:d4e45f28a7e235d4" \ No newline at end of file diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml new file mode 100644 index 0000000..545de24 --- /dev/null +++ b/scripts/prinstall_remove.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_remove.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ +lastPushedChecksum: "sha256:d68a04864344e349" +lastPushedMetaChecksum: "sha256:a65531c4c9a5913d" \ No newline at end of file diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml new file mode 100644 index 0000000..e5e6bab --- /dev/null +++ b/scripts/prinstall_scan.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_scan.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA +lastPushedChecksum: "sha256:97d57bd6f9b1475b" +lastPushedMetaChecksum: "sha256:b3716797c9a57993" \ No newline at end of file diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml new file mode 100644 index 0000000..9c00db7 --- /dev/null +++ b/scripts/prinstall_setup.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_setup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ +lastPushedChecksum: "sha256:91001c70808f9cc5" +lastPushedMetaChecksum: "sha256:3cfeae82845db7f4" \ No newline at end of file diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml new file mode 100644 index 0000000..b7d4956 --- /dev/null +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -0,0 +1,8 @@ +name: prinstall_trust_codesign.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg +lastPushedChecksum: "sha256:cb3d19fc839edbb8" +lastPushedMetaChecksum: "sha256:a5a5411f237f401c" \ No newline at end of file diff --git a/scripts/print_queue_clear.level.yaml b/scripts/print_queue_clear.level.yaml new file mode 100644 index 0000000..e7e51e8 --- /dev/null +++ b/scripts/print_queue_clear.level.yaml @@ -0,0 +1,8 @@ +name: print_queue_clear.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMw +lastPushedChecksum: "sha256:a2439d52ec6601ab" +lastPushedMetaChecksum: "sha256:9dc71ff892be23cc" \ No newline at end of file diff --git a/scripts/print_queue_reset.level.yaml b/scripts/print_queue_reset.level.yaml new file mode 100644 index 0000000..6594089 --- /dev/null +++ b/scripts/print_queue_reset.level.yaml @@ -0,0 +1,8 @@ +name: print_queue_reset.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNA +lastPushedChecksum: "sha256:96b72c3fc16240ef" +lastPushedMetaChecksum: "sha256:602b6d64d7c335eb" \ No newline at end of file diff --git a/scripts/printer_connection_test.level.yaml b/scripts/printer_connection_test.level.yaml new file mode 100644 index 0000000..1af14ee --- /dev/null +++ b/scripts/printer_connection_test.level.yaml @@ -0,0 +1,8 @@ +name: printer_connection_test.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNQ +lastPushedChecksum: "sha256:80e00c348b5ea77c" +lastPushedMetaChecksum: "sha256:7b965730669e73ed" \ No newline at end of file diff --git a/scripts/printer_install_linux.level.yaml b/scripts/printer_install_linux.level.yaml new file mode 100644 index 0000000..8e0ea9b --- /dev/null +++ b/scripts/printer_install_linux.level.yaml @@ -0,0 +1,8 @@ +name: printer_install_linux.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNg +lastPushedChecksum: "sha256:d721fe27c531e96a" +lastPushedMetaChecksum: "sha256:19e0fa6d30856a15" \ No newline at end of file diff --git a/scripts/printer_install_macos.level.yaml b/scripts/printer_install_macos.level.yaml new file mode 100644 index 0000000..8b5c161 --- /dev/null +++ b/scripts/printer_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: printer_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNw +lastPushedChecksum: "sha256:629c0f1457ee7d88" +lastPushedMetaChecksum: "sha256:19c8ff6bb775e782" \ No newline at end of file diff --git a/scripts/printers_remove_all.level.yaml b/scripts/printers_remove_all.level.yaml new file mode 100644 index 0000000..80737bc --- /dev/null +++ b/scripts/printers_remove_all.level.yaml @@ -0,0 +1,8 @@ +name: printers_remove_all.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOA +lastPushedChecksum: "sha256:f5ff959c9835072b" +lastPushedMetaChecksum: "sha256:ffc18af523c904cd" \ No newline at end of file diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml new file mode 100644 index 0000000..578de70 --- /dev/null +++ b/scripts/public_ip_export_superops.level.yaml @@ -0,0 +1,8 @@ +name: public_ip_export_superops.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOQ +lastPushedChecksum: "sha256:e613d96669eff586" +lastPushedMetaChecksum: "sha256:8c33af23a6d2d9fa" \ No newline at end of file diff --git a/scripts/public_ip_export_superops_macos.level.yaml b/scripts/public_ip_export_superops_macos.level.yaml new file mode 100644 index 0000000..6971297 --- /dev/null +++ b/scripts/public_ip_export_superops_macos.level.yaml @@ -0,0 +1,8 @@ +name: public_ip_export_superops_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMA +lastPushedChecksum: "sha256:c115a7ff0b97c23b" +lastPushedMetaChecksum: "sha256:ab7c3493ceb64f95" \ No newline at end of file diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml new file mode 100644 index 0000000..de7fe08 --- /dev/null +++ b/scripts/restic_b2_backup_install.level.yaml @@ -0,0 +1,8 @@ +name: restic_b2_backup_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ +lastPushedChecksum: "sha256:c09fd6b042b511b6" +lastPushedMetaChecksum: "sha256:e0c9372e694ca5da" \ No newline at end of file diff --git a/scripts/rustic_backup.level.yaml b/scripts/rustic_backup.level.yaml new file mode 100644 index 0000000..d2aeef7 --- /dev/null +++ b/scripts/rustic_backup.level.yaml @@ -0,0 +1,8 @@ +name: rustic_backup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMg +lastPushedChecksum: "sha256:37d4d46a94882a30" +lastPushedMetaChecksum: "sha256:023021562849fcae" \ No newline at end of file diff --git a/scripts/rustic_backup_unix.level.yaml b/scripts/rustic_backup_unix.level.yaml new file mode 100644 index 0000000..7fa814c --- /dev/null +++ b/scripts/rustic_backup_unix.level.yaml @@ -0,0 +1,8 @@ +name: rustic_backup_unix.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMw +lastPushedChecksum: "sha256:a10b4b3cc851a31b" +lastPushedMetaChecksum: "sha256:288fc641246de33b" \ No newline at end of file diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml new file mode 100644 index 0000000..28b4852 --- /dev/null +++ b/scripts/rustic_install.level.yaml @@ -0,0 +1,8 @@ +name: rustic_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA +lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" +lastPushedMetaChecksum: "sha256:3a7bd21faf090df8" \ No newline at end of file diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml new file mode 100644 index 0000000..75a6cfd --- /dev/null +++ b/scripts/rustic_install_unix.level.yaml @@ -0,0 +1,8 @@ +name: rustic_install_unix.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ +lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" +lastPushedMetaChecksum: "sha256:c8454700b37e1a2f" \ No newline at end of file diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml new file mode 100644 index 0000000..a69a92a --- /dev/null +++ b/scripts/rustic_restore.level.yaml @@ -0,0 +1,8 @@ +name: rustic_restore.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg +lastPushedChecksum: "sha256:59f81da920ec0a94" +lastPushedMetaChecksum: "sha256:da46f375d20bd6f7" \ No newline at end of file diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml new file mode 100644 index 0000000..7a8b36d --- /dev/null +++ b/scripts/rustic_restore_unix.level.yaml @@ -0,0 +1,8 @@ +name: rustic_restore_unix.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw +lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" +lastPushedMetaChecksum: "sha256:bbf34301de281b52" \ No newline at end of file diff --git a/scripts/rustic_uninstall.level.yaml b/scripts/rustic_uninstall.level.yaml new file mode 100644 index 0000000..8e654f4 --- /dev/null +++ b/scripts/rustic_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: rustic_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOA +lastPushedChecksum: "sha256:3e899b4f1ae514a7" +lastPushedMetaChecksum: "sha256:582ed418050fee55" \ No newline at end of file diff --git a/scripts/rustic_uninstall_unix.level.yaml b/scripts/rustic_uninstall_unix.level.yaml new file mode 100644 index 0000000..2dd91aa --- /dev/null +++ b/scripts/rustic_uninstall_unix.level.yaml @@ -0,0 +1,8 @@ +name: rustic_uninstall_unix.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOQ +lastPushedChecksum: "sha256:6361db8bf61c78a0" +lastPushedMetaChecksum: "sha256:dfca3f5572afe860" \ No newline at end of file diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml new file mode 100644 index 0000000..cb3c690 --- /dev/null +++ b/scripts/sentinelone_install.level.yaml @@ -0,0 +1,8 @@ +name: sentinelone_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA +lastPushedChecksum: "sha256:aab2ea4bf232ddc9" +lastPushedMetaChecksum: "sha256:33134c89efab5bf4" \ No newline at end of file diff --git a/scripts/sentinelone_services_start.level.yaml b/scripts/sentinelone_services_start.level.yaml new file mode 100644 index 0000000..735e40a --- /dev/null +++ b/scripts/sentinelone_services_start.level.yaml @@ -0,0 +1,8 @@ +name: sentinelone_services_start.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MQ +lastPushedChecksum: "sha256:4f61d11ab3baffb7" +lastPushedMetaChecksum: "sha256:69957f670b941093" \ No newline at end of file diff --git a/scripts/sentinelone_uninstall_linux.level.yaml b/scripts/sentinelone_uninstall_linux.level.yaml new file mode 100644 index 0000000..01962b0 --- /dev/null +++ b/scripts/sentinelone_uninstall_linux.level.yaml @@ -0,0 +1,8 @@ +name: sentinelone_uninstall_linux.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mg +lastPushedChecksum: "sha256:14d539a27befd82d" +lastPushedMetaChecksum: "sha256:9b737727ffa2bc88" \ No newline at end of file diff --git a/scripts/shutdown_toggle.level.yaml b/scripts/shutdown_toggle.level.yaml new file mode 100644 index 0000000..d6851b1 --- /dev/null +++ b/scripts/shutdown_toggle.level.yaml @@ -0,0 +1,8 @@ +name: shutdown_toggle.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mw +lastPushedChecksum: "sha256:469ca706feb53740" +lastPushedMetaChecksum: "sha256:8e7bce880a8dabfd" \ No newline at end of file diff --git a/scripts/speedtest_export_superops.level.yaml b/scripts/speedtest_export_superops.level.yaml new file mode 100644 index 0000000..1afd461 --- /dev/null +++ b/scripts/speedtest_export_superops.level.yaml @@ -0,0 +1,8 @@ +name: speedtest_export_superops.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NA +lastPushedChecksum: "sha256:f0b07e25413d5fec" +lastPushedMetaChecksum: "sha256:fc860d2d07b27672" \ No newline at end of file diff --git a/scripts/splashtop_business_install.level.yaml b/scripts/splashtop_business_install.level.yaml new file mode 100644 index 0000000..30d3a22 --- /dev/null +++ b/scripts/splashtop_business_install.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_business_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NQ +lastPushedChecksum: "sha256:de86051d4da42af9" +lastPushedMetaChecksum: "sha256:3015f61c063eff5d" \ No newline at end of file diff --git a/scripts/splashtop_business_install_macos.level.yaml b/scripts/splashtop_business_install_macos.level.yaml new file mode 100644 index 0000000..4ec1f40 --- /dev/null +++ b/scripts/splashtop_business_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_business_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Ng +lastPushedChecksum: "sha256:687707d59ce4a3d6" +lastPushedMetaChecksum: "sha256:53912782089f5e00" \ No newline at end of file diff --git a/scripts/splashtop_service_restart.level.yaml b/scripts/splashtop_service_restart.level.yaml new file mode 100644 index 0000000..a230dd7 --- /dev/null +++ b/scripts/splashtop_service_restart.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_service_restart.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Nw +lastPushedChecksum: "sha256:af58133e2ca89fc7" +lastPushedMetaChecksum: "sha256:b53bacdec4b0fead" \ No newline at end of file diff --git a/scripts/splashtop_service_restart_macos.level.yaml b/scripts/splashtop_service_restart_macos.level.yaml new file mode 100644 index 0000000..add09c5 --- /dev/null +++ b/scripts/splashtop_service_restart_macos.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_service_restart_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OA +lastPushedChecksum: "sha256:e0bc68bd45e5ac0e" +lastPushedMetaChecksum: "sha256:1e0119a698767716" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install.level.yaml b/scripts/splashtop_streamer_install.level.yaml new file mode 100644 index 0000000..c46c371 --- /dev/null +++ b/scripts/splashtop_streamer_install.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_streamer_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OQ +lastPushedChecksum: "sha256:ba206f1ad3a5419d" +lastPushedMetaChecksum: "sha256:65dcfecd8199e9b2" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_amd64.level.yaml b/scripts/splashtop_streamer_install_debian_amd64.level.yaml new file mode 100644 index 0000000..b80c6ae --- /dev/null +++ b/scripts/splashtop_streamer_install_debian_amd64.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_streamer_install_debian_amd64.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MA +lastPushedChecksum: "sha256:0d1eb15b627f4539" +lastPushedMetaChecksum: "sha256:b2c0a676e13609f0" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_arm64.level.yaml b/scripts/splashtop_streamer_install_debian_arm64.level.yaml new file mode 100644 index 0000000..06ef8c7 --- /dev/null +++ b/scripts/splashtop_streamer_install_debian_arm64.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_streamer_install_debian_arm64.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MQ +lastPushedChecksum: "sha256:4fb1452893ccc28c" +lastPushedMetaChecksum: "sha256:a888773ea8c3cb23" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_macos.level.yaml b/scripts/splashtop_streamer_install_macos.level.yaml new file mode 100644 index 0000000..b8c06e9 --- /dev/null +++ b/scripts/splashtop_streamer_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_streamer_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mg +lastPushedChecksum: "sha256:7962109ca8b9e885" +lastPushedMetaChecksum: "sha256:ebee0a6a268fe55d" \ No newline at end of file diff --git a/scripts/splashtop_uninstall.level.yaml b/scripts/splashtop_uninstall.level.yaml new file mode 100644 index 0000000..668cef3 --- /dev/null +++ b/scripts/splashtop_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mw +lastPushedChecksum: "sha256:0800aca199e5aa18" +lastPushedMetaChecksum: "sha256:26c9052ba7560ecc" \ No newline at end of file diff --git a/scripts/splashtop_uninstall_macos.level.yaml b/scripts/splashtop_uninstall_macos.level.yaml new file mode 100644 index 0000000..557b8d4 --- /dev/null +++ b/scripts/splashtop_uninstall_macos.level.yaml @@ -0,0 +1,8 @@ +name: splashtop_uninstall_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NA +lastPushedChecksum: "sha256:b9213924115309e4" +lastPushedMetaChecksum: "sha256:ffa17928a86e1115" \ No newline at end of file diff --git a/scripts/start_menu_tiles_clear.level.yaml b/scripts/start_menu_tiles_clear.level.yaml new file mode 100644 index 0000000..e3f99d6 --- /dev/null +++ b/scripts/start_menu_tiles_clear.level.yaml @@ -0,0 +1,8 @@ +name: start_menu_tiles_clear.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NQ +lastPushedChecksum: "sha256:e5c2f1f84776bf20" +lastPushedMetaChecksum: "sha256:8a3c42166a3732e1" \ No newline at end of file diff --git a/scripts/stdrename_install_toggle.level.yaml b/scripts/stdrename_install_toggle.level.yaml new file mode 100644 index 0000000..a29e3c4 --- /dev/null +++ b/scripts/stdrename_install_toggle.level.yaml @@ -0,0 +1,8 @@ +name: stdrename_install_toggle.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Ng +lastPushedChecksum: "sha256:6fb3442faa559a1f" +lastPushedMetaChecksum: "sha256:e3177be33f859cf2" \ No newline at end of file diff --git a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml new file mode 100644 index 0000000..2ec6375 --- /dev/null +++ b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_alt_path_uninstall_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Nw +lastPushedChecksum: "sha256:8863ba4e5a0a2968" +lastPushedMetaChecksum: "sha256:696e1fcbff6500f0" \ No newline at end of file diff --git a/scripts/superops_agent_install.level.yaml b/scripts/superops_agent_install.level.yaml new file mode 100644 index 0000000..26aa230 --- /dev/null +++ b/scripts/superops_agent_install.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OA +lastPushedChecksum: "sha256:52ab8410999a4df7" +lastPushedMetaChecksum: "sha256:7ba7eecd3b33f560" \ No newline at end of file diff --git a/scripts/superops_agent_install_macos.level.yaml b/scripts/superops_agent_install_macos.level.yaml new file mode 100644 index 0000000..97376d6 --- /dev/null +++ b/scripts/superops_agent_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OQ +lastPushedChecksum: "sha256:6fc3490acf5c28f8" +lastPushedMetaChecksum: "sha256:918d6fe1dde8ee8c" \ No newline at end of file diff --git a/scripts/superops_agent_legacy_uninstall.level.yaml b/scripts/superops_agent_legacy_uninstall.level.yaml new file mode 100644 index 0000000..c522d8b --- /dev/null +++ b/scripts/superops_agent_legacy_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_legacy_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MA +lastPushedChecksum: "sha256:b7ce686565594ba9" +lastPushedMetaChecksum: "sha256:e3676a66642ef508" \ No newline at end of file diff --git a/scripts/superops_agent_reinstall_macos.level.yaml b/scripts/superops_agent_reinstall_macos.level.yaml new file mode 100644 index 0000000..25d750a --- /dev/null +++ b/scripts/superops_agent_reinstall_macos.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_reinstall_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MQ +lastPushedChecksum: "sha256:174ea4eea6e05f07" +lastPushedMetaChecksum: "sha256:1da9dc67deeb1fb5" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall.level.yaml b/scripts/superops_agent_uninstall.level.yaml new file mode 100644 index 0000000..5bc4626 --- /dev/null +++ b/scripts/superops_agent_uninstall.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_uninstall.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mg +lastPushedChecksum: "sha256:76c7e150cfacff89" +lastPushedMetaChecksum: "sha256:8dd9fbac6276cdde" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_alt.level.yaml b/scripts/superops_agent_uninstall_alt.level.yaml new file mode 100644 index 0000000..a2f0c9b --- /dev/null +++ b/scripts/superops_agent_uninstall_alt.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_uninstall_alt.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mw +lastPushedChecksum: "sha256:d389b242c9fa2afc" +lastPushedMetaChecksum: "sha256:ff331e65813e62a6" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_linux.level.yaml b/scripts/superops_agent_uninstall_linux.level.yaml new file mode 100644 index 0000000..a6a4b35 --- /dev/null +++ b/scripts/superops_agent_uninstall_linux.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_uninstall_linux.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NA +lastPushedChecksum: "sha256:2009c72750ce9121" +lastPushedMetaChecksum: "sha256:658b69ed7c41b5db" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_macos.level.yaml b/scripts/superops_agent_uninstall_macos.level.yaml new file mode 100644 index 0000000..8d8cafe --- /dev/null +++ b/scripts/superops_agent_uninstall_macos.level.yaml @@ -0,0 +1,8 @@ +name: superops_agent_uninstall_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NQ +lastPushedChecksum: "sha256:1f2ddeee28510922" +lastPushedMetaChecksum: "sha256:37d04b9a4944d3f8" \ No newline at end of file diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml new file mode 100644 index 0000000..80832af --- /dev/null +++ b/scripts/superops_service_restart.level.yaml @@ -0,0 +1,8 @@ +name: superops_service_restart.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng +lastPushedChecksum: "sha256:21071e206631d4f0" +lastPushedMetaChecksum: "sha256:ff0d081422ef10ed" \ No newline at end of file diff --git a/scripts/superops_tray_icon_show_always.level.yaml b/scripts/superops_tray_icon_show_always.level.yaml new file mode 100644 index 0000000..ebd2c6d --- /dev/null +++ b/scripts/superops_tray_icon_show_always.level.yaml @@ -0,0 +1,8 @@ +name: superops_tray_icon_show_always.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Nw +lastPushedChecksum: "sha256:60705b6f854e0ad7" +lastPushedMetaChecksum: "sha256:a71ed8eb386efb00" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install.level.yaml b/scripts/synology_backup_agent_install.level.yaml new file mode 100644 index 0000000..10a9430 --- /dev/null +++ b/scripts/synology_backup_agent_install.level.yaml @@ -0,0 +1,8 @@ +name: synology_backup_agent_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OA +lastPushedChecksum: "sha256:71047d6fc64e0624" +lastPushedMetaChecksum: "sha256:4970382ff803b1cb" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install_linux.level.yaml b/scripts/synology_backup_agent_install_linux.level.yaml new file mode 100644 index 0000000..12da4f2 --- /dev/null +++ b/scripts/synology_backup_agent_install_linux.level.yaml @@ -0,0 +1,8 @@ +name: synology_backup_agent_install_linux.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OQ +lastPushedChecksum: "sha256:d25da66ea53f3a05" +lastPushedMetaChecksum: "sha256:0a637e9ffc88b7dd" \ No newline at end of file diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml new file mode 100644 index 0000000..a80e2bb --- /dev/null +++ b/scripts/terminated_user_lockout.level.yaml @@ -0,0 +1,8 @@ +name: terminated_user_lockout.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA +lastPushedChecksum: "sha256:a2fc53f08fbbf738" +lastPushedMetaChecksum: "sha256:51f8598b49425efa" \ No newline at end of file diff --git a/scripts/time_sync_fix.level.yaml b/scripts/time_sync_fix.level.yaml new file mode 100644 index 0000000..f380ccd --- /dev/null +++ b/scripts/time_sync_fix.level.yaml @@ -0,0 +1,8 @@ +name: time_sync_fix.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MQ +lastPushedChecksum: "sha256:2a5b7085817c1386" +lastPushedMetaChecksum: "sha256:c57355ea4541976f" \ No newline at end of file diff --git a/scripts/time_utc_set.level.yaml b/scripts/time_utc_set.level.yaml new file mode 100644 index 0000000..ba2c65a --- /dev/null +++ b/scripts/time_utc_set.level.yaml @@ -0,0 +1,8 @@ +name: time_utc_set.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mg +lastPushedChecksum: "sha256:4a8bd8317bc76df9" +lastPushedMetaChecksum: "sha256:dba9fcdc433cc3c2" \ No newline at end of file diff --git a/scripts/ubuntu_debian_update_verbose.level.yaml b/scripts/ubuntu_debian_update_verbose.level.yaml new file mode 100644 index 0000000..df1b7ce --- /dev/null +++ b/scripts/ubuntu_debian_update_verbose.level.yaml @@ -0,0 +1,8 @@ +name: ubuntu_debian_update_verbose.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mw +lastPushedChecksum: "sha256:cb32e47af9465ca4" +lastPushedMetaChecksum: "sha256:e6eb5911547eaa00" \ No newline at end of file diff --git a/scripts/user_accounts_report.level.yaml b/scripts/user_accounts_report.level.yaml new file mode 100644 index 0000000..81b9437 --- /dev/null +++ b/scripts/user_accounts_report.level.yaml @@ -0,0 +1,8 @@ +name: user_accounts_report.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NA +lastPushedChecksum: "sha256:5aff121cdaf29830" +lastPushedMetaChecksum: "sha256:eb56039b2c2a055c" \ No newline at end of file diff --git a/scripts/usmt_lan_migrate.level.yaml b/scripts/usmt_lan_migrate.level.yaml new file mode 100644 index 0000000..89a46a5 --- /dev/null +++ b/scripts/usmt_lan_migrate.level.yaml @@ -0,0 +1,8 @@ +name: usmt_lan_migrate.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NQ +lastPushedChecksum: "sha256:fc591c1e7cec5da2" +lastPushedMetaChecksum: "sha256:d30705f7f91d628a" \ No newline at end of file diff --git a/scripts/usmt_profile_migrate.level.yaml b/scripts/usmt_profile_migrate.level.yaml new file mode 100644 index 0000000..b8575c7 --- /dev/null +++ b/scripts/usmt_profile_migrate.level.yaml @@ -0,0 +1,8 @@ +name: usmt_profile_migrate.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Ng +lastPushedChecksum: "sha256:d397fd188deca05c" +lastPushedMetaChecksum: "sha256:c77f52ec9315ef91" \ No newline at end of file diff --git a/scripts/webview2_repair_install.level.yaml b/scripts/webview2_repair_install.level.yaml new file mode 100644 index 0000000..d2f18ca --- /dev/null +++ b/scripts/webview2_repair_install.level.yaml @@ -0,0 +1,8 @@ +name: webview2_repair_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Nw +lastPushedChecksum: "sha256:eb622de3ac3b06f0" +lastPushedMetaChecksum: "sha256:f2879d8e7e8e9065" \ No newline at end of file diff --git a/scripts/wifi_adapters_disable.level.yaml b/scripts/wifi_adapters_disable.level.yaml new file mode 100644 index 0000000..b057dff --- /dev/null +++ b/scripts/wifi_adapters_disable.level.yaml @@ -0,0 +1,8 @@ +name: wifi_adapters_disable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OA +lastPushedChecksum: "sha256:16dd67e48b67ceaf" +lastPushedMetaChecksum: "sha256:e235b3de0a3f16ca" \ No newline at end of file diff --git a/scripts/wifi_passwords_show.level.yaml b/scripts/wifi_passwords_show.level.yaml new file mode 100644 index 0000000..5e381e4 --- /dev/null +++ b/scripts/wifi_passwords_show.level.yaml @@ -0,0 +1,8 @@ +name: wifi_passwords_show.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OQ +lastPushedChecksum: "sha256:23635bb4bd6d99f9" +lastPushedMetaChecksum: "sha256:3494f8256d8a829c" \ No newline at end of file diff --git a/scripts/wifiman_install.level.yaml b/scripts/wifiman_install.level.yaml new file mode 100644 index 0000000..c130a12 --- /dev/null +++ b/scripts/wifiman_install.level.yaml @@ -0,0 +1,8 @@ +name: wifiman_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MA +lastPushedChecksum: "sha256:22ab242925134ed1" +lastPushedMetaChecksum: "sha256:4213cc25f3080170" \ No newline at end of file diff --git a/scripts/win11_compatibility_check.level.yaml b/scripts/win11_compatibility_check.level.yaml new file mode 100644 index 0000000..89a393c --- /dev/null +++ b/scripts/win11_compatibility_check.level.yaml @@ -0,0 +1,8 @@ +name: win11_compatibility_check.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MQ +lastPushedChecksum: "sha256:12be2dab9e24d0d4" +lastPushedMetaChecksum: "sha256:cb9759f884e01ef0" \ No newline at end of file diff --git a/scripts/windows11_compatibility_check.level.yaml b/scripts/windows11_compatibility_check.level.yaml new file mode 100644 index 0000000..65b4674 --- /dev/null +++ b/scripts/windows11_compatibility_check.level.yaml @@ -0,0 +1,8 @@ +name: windows11_compatibility_check.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mg +lastPushedChecksum: "sha256:c2db40bcd9a3a6cf" +lastPushedMetaChecksum: "sha256:de95f2fc4499a8ad" \ No newline at end of file diff --git a/scripts/windows_dark_mode_enable.level.yaml b/scripts/windows_dark_mode_enable.level.yaml new file mode 100644 index 0000000..73c7d65 --- /dev/null +++ b/scripts/windows_dark_mode_enable.level.yaml @@ -0,0 +1,8 @@ +name: windows_dark_mode_enable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mw +lastPushedChecksum: "sha256:9d07ef367a12f5b9" +lastPushedMetaChecksum: "sha256:46ab70a35e52ef06" \ No newline at end of file diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml new file mode 100644 index 0000000..5fc2aff --- /dev/null +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -0,0 +1,8 @@ +name: windows_dism_sfc_chkdsk_run.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA +lastPushedChecksum: "sha256:be481319dad82072" +lastPushedMetaChecksum: "sha256:c9425b5dcbbd3ead" \ No newline at end of file diff --git a/scripts/windows_firewall_toggle.level.yaml b/scripts/windows_firewall_toggle.level.yaml new file mode 100644 index 0000000..2987910 --- /dev/null +++ b/scripts/windows_firewall_toggle.level.yaml @@ -0,0 +1,8 @@ +name: windows_firewall_toggle.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NQ +lastPushedChecksum: "sha256:3ababf5f681c4117" +lastPushedMetaChecksum: "sha256:244e9f3a61d8f1db" \ No newline at end of file diff --git a/scripts/windows_product_key_export_superops.level.yaml b/scripts/windows_product_key_export_superops.level.yaml new file mode 100644 index 0000000..7e56685 --- /dev/null +++ b/scripts/windows_product_key_export_superops.level.yaml @@ -0,0 +1,8 @@ +name: windows_product_key_export_superops.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Ng +lastPushedChecksum: "sha256:8c4fd9133fdd413e" +lastPushedMetaChecksum: "sha256:0b1cf48ea7ea8a61" \ No newline at end of file diff --git a/scripts/windows_update_access_restore.level.yaml b/scripts/windows_update_access_restore.level.yaml new file mode 100644 index 0000000..09cb806 --- /dev/null +++ b/scripts/windows_update_access_restore.level.yaml @@ -0,0 +1,8 @@ +name: windows_update_access_restore.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Nw +lastPushedChecksum: "sha256:b8d790b668a1b512" +lastPushedMetaChecksum: "sha256:818449501b5320ac" \ No newline at end of file diff --git a/scripts/windows_update_access_toggle.level.yaml b/scripts/windows_update_access_toggle.level.yaml new file mode 100644 index 0000000..643b829 --- /dev/null +++ b/scripts/windows_update_access_toggle.level.yaml @@ -0,0 +1,8 @@ +name: windows_update_access_toggle.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OA +lastPushedChecksum: "sha256:f3e6ce36a0c0a34e" +lastPushedMetaChecksum: "sha256:ee787b5d2983ec6c" \ No newline at end of file diff --git a/scripts/windows_update_reset.level.yaml b/scripts/windows_update_reset.level.yaml new file mode 100644 index 0000000..9d9c696 --- /dev/null +++ b/scripts/windows_update_reset.level.yaml @@ -0,0 +1,8 @@ +name: windows_update_reset.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OQ +lastPushedChecksum: "sha256:dc0660ba30a52b1f" +lastPushedMetaChecksum: "sha256:7bffae2d85e02bcc" \ No newline at end of file diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml new file mode 100644 index 0000000..1e8f7f7 --- /dev/null +++ b/scripts/winget_package_install.level.yaml @@ -0,0 +1,8 @@ +name: winget_package_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA +lastPushedChecksum: "sha256:81593e032c1092d2" +lastPushedMetaChecksum: "sha256:0123c6e2c2a68bd0" \ No newline at end of file diff --git a/scripts/winget_setup.level.yaml b/scripts/winget_setup.level.yaml new file mode 100644 index 0000000..fecdea7 --- /dev/null +++ b/scripts/winget_setup.level.yaml @@ -0,0 +1,8 @@ +name: winget_setup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MQ +lastPushedChecksum: "sha256:9c39b0b8e934af79" +lastPushedMetaChecksum: "sha256:f64105a38bf30b2c" \ No newline at end of file diff --git a/scripts/winget_upgrade_all.level.yaml b/scripts/winget_upgrade_all.level.yaml new file mode 100644 index 0000000..24ea980 --- /dev/null +++ b/scripts/winget_upgrade_all.level.yaml @@ -0,0 +1,8 @@ +name: winget_upgrade_all.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mg +lastPushedChecksum: "sha256:a012ab90c5f2a0d1" +lastPushedMetaChecksum: "sha256:3ba7c6926c1e1de9" \ No newline at end of file diff --git a/scripts/winre_partition_resize.level.yaml b/scripts/winre_partition_resize.level.yaml new file mode 100644 index 0000000..c903203 --- /dev/null +++ b/scripts/winre_partition_resize.level.yaml @@ -0,0 +1,8 @@ +name: winre_partition_resize.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mw +lastPushedChecksum: "sha256:193e2e8a68f2a4ce" +lastPushedMetaChecksum: "sha256:1355845eb3b6f5ff" \ No newline at end of file diff --git a/scripts/winre_restore.level.yaml b/scripts/winre_restore.level.yaml new file mode 100644 index 0000000..25d53dc --- /dev/null +++ b/scripts/winre_restore.level.yaml @@ -0,0 +1,8 @@ +name: winre_restore.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NA +lastPushedChecksum: "sha256:2ee202fdbbaf51a9" +lastPushedMetaChecksum: "sha256:cc7d3576134909a6" \ No newline at end of file diff --git a/scripts/winreagent_cleanup.level.yaml b/scripts/winreagent_cleanup.level.yaml new file mode 100644 index 0000000..ff9cb4c --- /dev/null +++ b/scripts/winreagent_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: winreagent_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NQ +lastPushedChecksum: "sha256:142834ca4118604e" +lastPushedMetaChecksum: "sha256:d9413c4ac3cde586" \ No newline at end of file diff --git a/scripts/wol_enable.level.yaml b/scripts/wol_enable.level.yaml new file mode 100644 index 0000000..5ad67ab --- /dev/null +++ b/scripts/wol_enable.level.yaml @@ -0,0 +1,8 @@ +name: wol_enable.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Ng +lastPushedChecksum: "sha256:2af7e13609778071" +lastPushedMetaChecksum: "sha256:88cffcd9b1053cd2" \ No newline at end of file diff --git a/scripts/wol_status_check.level.yaml b/scripts/wol_status_check.level.yaml new file mode 100644 index 0000000..c6a37d1 --- /dev/null +++ b/scripts/wol_status_check.level.yaml @@ -0,0 +1,8 @@ +name: wol_status_check.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Nw +lastPushedChecksum: "sha256:fd47c8923957702e" +lastPushedMetaChecksum: "sha256:b66666e156ff500b" \ No newline at end of file diff --git a/scripts/workstation_info_display.level.yaml b/scripts/workstation_info_display.level.yaml new file mode 100644 index 0000000..9021eaa --- /dev/null +++ b/scripts/workstation_info_display.level.yaml @@ -0,0 +1,8 @@ +name: workstation_info_display.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OA +lastPushedChecksum: "sha256:330cc5d8ea5101af" +lastPushedMetaChecksum: "sha256:5e67e31cb9cfabba" \ No newline at end of file diff --git a/scripts/workstation_info_display_macos.level.yaml b/scripts/workstation_info_display_macos.level.yaml new file mode 100644 index 0000000..c23ad08 --- /dev/null +++ b/scripts/workstation_info_display_macos.level.yaml @@ -0,0 +1,8 @@ +name: workstation_info_display_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OQ +lastPushedChecksum: "sha256:1308f5b29f92137a" +lastPushedMetaChecksum: "sha256:b5fe06babde72053" \ No newline at end of file diff --git a/scripts/workstation_oobe_seal.level.yaml b/scripts/workstation_oobe_seal.level.yaml new file mode 100644 index 0000000..c9568fc --- /dev/null +++ b/scripts/workstation_oobe_seal.level.yaml @@ -0,0 +1,8 @@ +name: workstation_oobe_seal.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMA +lastPushedChecksum: "sha256:131faea0ea03ff73" +lastPushedMetaChecksum: "sha256:3218c39216b9cf87" \ No newline at end of file diff --git a/scripts/workstation_reboot_force.level.yaml b/scripts/workstation_reboot_force.level.yaml new file mode 100644 index 0000000..846be28 --- /dev/null +++ b/scripts/workstation_reboot_force.level.yaml @@ -0,0 +1,8 @@ +name: workstation_reboot_force.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMQ +lastPushedChecksum: "sha256:396ded2032104a45" +lastPushedMetaChecksum: "sha256:593dcf9bfb3334f9" \ No newline at end of file diff --git a/scripts/workstation_remote_wipe.level.yaml b/scripts/workstation_remote_wipe.level.yaml new file mode 100644 index 0000000..8196395 --- /dev/null +++ b/scripts/workstation_remote_wipe.level.yaml @@ -0,0 +1,8 @@ +name: workstation_remote_wipe.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMg +lastPushedChecksum: "sha256:ee9261e6127e7c42" +lastPushedMetaChecksum: "sha256:b4f3ccbd95fa3ea6" \ No newline at end of file diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml new file mode 100644 index 0000000..6bb3006 --- /dev/null +++ b/scripts/workstation_rename_auto.level.yaml @@ -0,0 +1,8 @@ +name: workstation_rename_auto.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw +lastPushedChecksum: "sha256:d5996dd1d435f7a6" +lastPushedMetaChecksum: "sha256:2030f4b2237f4528" \ No newline at end of file diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml new file mode 100644 index 0000000..a04d864 --- /dev/null +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -0,0 +1,8 @@ +name: workstation_rename_auto_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNA +lastPushedChecksum: "sha256:e20d54ceb44212c7" +lastPushedMetaChecksum: "sha256:61983d88970fe242" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml new file mode 100644 index 0000000..2499d1d --- /dev/null +++ b/scripts/workstation_rename_manual.level.yaml @@ -0,0 +1,8 @@ +name: workstation_rename_manual.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ +lastPushedChecksum: "sha256:2140a719a807fc81" +lastPushedMetaChecksum: "sha256:3c56d6794802d9b0" \ No newline at end of file diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml new file mode 100644 index 0000000..057303c --- /dev/null +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -0,0 +1,8 @@ +name: workstation_rename_manual_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg +lastPushedChecksum: "sha256:cf6852c71596e859" +lastPushedMetaChecksum: "sha256:4a959f95de3ce49e" \ No newline at end of file diff --git a/scripts/workstation_screenshot_macos.level.yaml b/scripts/workstation_screenshot_macos.level.yaml new file mode 100644 index 0000000..16dee03 --- /dev/null +++ b/scripts/workstation_screenshot_macos.level.yaml @@ -0,0 +1,8 @@ +name: workstation_screenshot_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNw +lastPushedChecksum: "sha256:68e461f9f17d2d4c" +lastPushedMetaChecksum: "sha256:a2bf54db73b133ee" \ No newline at end of file diff --git a/scripts/workstation_uptime_reboot_macos.level.yaml b/scripts/workstation_uptime_reboot_macos.level.yaml new file mode 100644 index 0000000..7a9743f --- /dev/null +++ b/scripts/workstation_uptime_reboot_macos.level.yaml @@ -0,0 +1,8 @@ +name: workstation_uptime_reboot_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwOA +lastPushedChecksum: "sha256:3ba41914e543c9d9" +lastPushedMetaChecksum: "sha256:b5fa780d48e91a3a" \ No newline at end of file From 8c73cf4819913cf0e9b766e6272b7591af194593 Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:50:02 -0400 Subject: [PATCH 02/36] chore: backfill Level sidecars with description, timeout, readme and runtime variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The initial bootstrap generated each .level.yaml from the filename plus config defaults, so description was empty, timeout fell back to 60, and the runtime variables 43 scripts declare were never carried across. One-time migration: seeds each Level sidecar from the platform metadata already in the repo. 179 sidecars gain a description and their real timeout; 43 gain their runtime variables (by name only — this repo is public, so no defaultValue). placeholderVariables are intentionally NOT mapped: they are asset-field bindings (assetId, client.name), not user inputs, and Level has no analogue. The four scripts using them need porting: workstation_rename_{auto,manual}{,_macos}. lastPushedMetaChecksum is left stale on purpose so the next sync detects the metadata change and reconciles Level. --- scripts/1password_install.level.yaml | 30 ++++++++-- scripts/agent_startup_fix.level.yaml | 29 +++++++++- scripts/antivirus_status.level.yaml | 28 ++++++++- scripts/antivirus_uninstall.level.yaml | 33 ++++++++++- scripts/arch_update_verbose.level.yaml | 26 ++++++++- scripts/bitlocker_superops_enable.level.yaml | 34 ++++++++++- .../canon_mf455dw_driver_install.level.yaml | 27 ++++++++- scripts/choco_upgrade_all.level.yaml | 23 +++++++- scripts/cloudflared_install.level.yaml | 41 ++++++++++++- scripts/cloudflared_status.level.yaml | 30 +++++++++- scripts/cloudflared_uninstall.level.yaml | 28 ++++++++- scripts/cloudflared_upgrade.level.yaml | 31 +++++++++- scripts/cups_toggle_macos.level.yaml | 28 ++++++++- scripts/dell_command_update.level.yaml | 26 ++++++++- .../delprof2_old_profiles_delete.level.yaml | 32 ++++++++++- .../delprof2_profiles_delete_all.level.yaml | 28 ++++++++- .../delprof2_selected_profile_keep.level.yaml | 31 +++++++++- ...elprof2_specific_profile_delete.level.yaml | 33 ++++++++++- scripts/deskview_install.level.yaml | 24 +++++++- scripts/dietpi_proxmox_install.level.yaml | 28 ++++++++- scripts/directory_cleanup.level.yaml | 26 ++++++++- scripts/directory_size_analyze.level.yaml | 30 +++++++++- scripts/disk_cleanup.level.yaml | 27 ++++++++- scripts/disk_scan_fix.level.yaml | 24 +++++++- scripts/disk_smart_status.level.yaml | 39 ++++++++++++- scripts/dns_flush.level.yaml | 23 +++++++- scripts/dns_set_provider.level.yaml | 45 ++++++++++++++- scripts/dnsfilter_uninstall.level.yaml | 28 ++++++++- ...okploy_orphaned_volumes_cleanup.level.yaml | 31 +++++++++- .../dokploy_running_apps_deploy.level.yaml | 33 ++++++++++- scripts/ds_store_disable_macos.level.yaml | 22 ++++++- scripts/duplicati_backup_status.level.yaml | 28 ++++++++- .../edge_chrome_default_user_set.level.yaml | 28 ++++++++- .../edge_suppress_policies_system.level.yaml | 28 ++++++++- scripts/emsisoft_url_install.level.yaml | 37 +++++++++++- scripts/eset_cleanup.level.yaml | 33 ++++++++++- scripts/everything_file_search.level.yaml | 25 +++++++- scripts/file_secure_delete.level.yaml | 37 ++++++++++-- .../file_secure_delete_certificate.level.yaml | 37 +++++++++++- scripts/files_rename_snake_case.level.yaml | 29 +++++++++- .../foxit_pdf_editor_plus_install.level.yaml | 26 ++++++++- scripts/gcpw_cleanup.level.yaml | 25 +++++++- scripts/gcpw_install.level.yaml | 36 +++++++++++- scripts/google_update_trigger.level.yaml | 23 +++++++- scripts/hardware_report.level.yaml | 30 +++++++++- scripts/huntress_install_macos.level.yaml | 42 +++++++++++++- scripts/ipconfig_release_renew.level.yaml | 30 +++++++++- ...limehawk_admin_profile_branding.level.yaml | 27 ++++++++- scripts/local_user_admin_create.level.yaml | 33 ++++++++++- scripts/local_user_admin_setup.level.yaml | 37 +++++++++++- scripts/local_user_admin_toggle.level.yaml | 29 +++++++++- scripts/local_user_create.level.yaml | 34 ++++++++++- scripts/local_user_delete.level.yaml | 33 ++++++++++- scripts/local_user_disable.level.yaml | 29 +++++++++- scripts/macos_auto_updates_enable.level.yaml | 23 +++++++- scripts/maintenance_reboot.level.yaml | 34 ++++++++++- scripts/mrt_scan.level.yaml | 28 ++++++++- scripts/msi_url_install.level.yaml | 28 ++++++++- scripts/network_dhcp_set_macos.level.yaml | 26 ++++++++- scripts/network_scan.level.yaml | 26 ++++++++- .../network_service_refresh_macos.level.yaml | 26 ++++++++- scripts/ninjaone_uninstall.level.yaml | 27 ++++++++- scripts/nircmd_resolution_set.level.yaml | 26 ++++++++- scripts/nircmd_screenshot.level.yaml | 27 ++++++++- scripts/nirsoft_uninstall_view.level.yaml | 30 +++++++++- scripts/nvram_reset_reboot_macos.level.yaml | 30 +++++++++- scripts/onedrive_reenable.level.yaml | 28 ++++++++- scripts/onedrive_remove_complete.level.yaml | 29 +++++++++- scripts/onestart_remove_complete.level.yaml | 33 ++++++++++- scripts/onlyoffice_install.level.yaml | 25 +++++++- scripts/openssh_server_remove.level.yaml | 31 +++++++++- scripts/openssh_server_setup.level.yaml | 38 ++++++++++++- scripts/outlook_link_handling_fix.level.yaml | 25 +++++++- scripts/outlook_new_force_migrate.level.yaml | 26 ++++++++- scripts/outlook_new_remove.level.yaml | 25 +++++++- scripts/outlook_new_restore.level.yaml | 26 ++++++++- scripts/password_files_search.level.yaml | 31 +++++++++- .../password_files_tickets_search.level.yaml | 37 +++++++++++- scripts/potplayer_install.level.yaml | 26 ++++++++- scripts/power_plans_default_add.level.yaml | 26 ++++++++- .../power_profile_always_on_set.level.yaml | 29 +++++++++- scripts/power_profile_set_macos.level.yaml | 24 +++++++- scripts/prinstall_add.level.yaml | 36 +++++++++++- scripts/prinstall_driver_add.level.yaml | 30 +++++++++- scripts/prinstall_driver_list.level.yaml | 22 ++++++- scripts/prinstall_driver_remove.level.yaml | 27 ++++++++- scripts/prinstall_drivers.level.yaml | 31 +++++++++- scripts/prinstall_id.level.yaml | 28 ++++++++- scripts/prinstall_list.level.yaml | 22 ++++++- scripts/prinstall_remove.level.yaml | 33 ++++++++++- scripts/prinstall_scan.level.yaml | 31 +++++++++- scripts/prinstall_setup.level.yaml | 27 ++++++++- scripts/prinstall_trust_codesign.level.yaml | 34 ++++++++++- scripts/print_queue_clear.level.yaml | 27 ++++++++- scripts/print_queue_reset.level.yaml | 28 ++++++++- scripts/printer_connection_test.level.yaml | 27 ++++++++- scripts/printer_install_linux.level.yaml | 33 ++++++++++- scripts/printer_install_macos.level.yaml | 32 ++++++++++- scripts/printers_remove_all.level.yaml | 30 +++++++++- scripts/public_ip_export_superops.level.yaml | 28 ++++++++- ...public_ip_export_superops_macos.level.yaml | 25 +++++++- scripts/restic_b2_backup_install.level.yaml | 44 +++++++++++++- scripts/rustic_backup.level.yaml | 31 +++++++++- scripts/rustic_backup_unix.level.yaml | 34 ++++++++++- scripts/rustic_install.level.yaml | 55 +++++++++++++++++- scripts/rustic_install_unix.level.yaml | 57 ++++++++++++++++++- scripts/rustic_restore.level.yaml | 32 ++++++++++- scripts/rustic_restore_unix.level.yaml | 38 ++++++++++++- scripts/rustic_uninstall.level.yaml | 28 ++++++++- scripts/rustic_uninstall_unix.level.yaml | 29 +++++++++- scripts/sentinelone_install.level.yaml | 35 +++++++++++- scripts/sentinelone_services_start.level.yaml | 27 ++++++++- .../sentinelone_uninstall_linux.level.yaml | 25 +++++++- scripts/shutdown_toggle.level.yaml | 26 ++++++++- scripts/speedtest_export_superops.level.yaml | 29 +++++++++- scripts/splashtop_business_install.level.yaml | 25 +++++++- ...plashtop_business_install_macos.level.yaml | 24 +++++++- scripts/splashtop_service_restart.level.yaml | 25 +++++++- ...splashtop_service_restart_macos.level.yaml | 24 +++++++- scripts/splashtop_streamer_install.level.yaml | 25 +++++++- ...p_streamer_install_debian_amd64.level.yaml | 26 ++++++++- ...p_streamer_install_debian_arm64.level.yaml | 26 ++++++++- ...plashtop_streamer_install_macos.level.yaml | 24 +++++++- scripts/splashtop_uninstall.level.yaml | 24 +++++++- scripts/splashtop_uninstall_macos.level.yaml | 24 +++++++- scripts/start_menu_tiles_clear.level.yaml | 25 +++++++- scripts/stdrename_install_toggle.level.yaml | 24 +++++++- ..._agent_alt_path_uninstall_macos.level.yaml | 23 +++++++- scripts/superops_agent_install.level.yaml | 26 ++++++++- .../superops_agent_install_macos.level.yaml | 27 ++++++++- ...superops_agent_legacy_uninstall.level.yaml | 24 +++++++- .../superops_agent_reinstall_macos.level.yaml | 29 +++++++++- scripts/superops_agent_uninstall.level.yaml | 24 +++++++- .../superops_agent_uninstall_alt.level.yaml | 26 ++++++++- .../superops_agent_uninstall_linux.level.yaml | 26 ++++++++- .../superops_agent_uninstall_macos.level.yaml | 26 ++++++++- scripts/superops_service_restart.level.yaml | 30 +++++++++- .../superops_tray_icon_show_always.level.yaml | 29 ++++++++-- .../synology_backup_agent_install.level.yaml | 25 +++++++- ...logy_backup_agent_install_linux.level.yaml | 28 ++++++++- scripts/terminated_user_lockout.level.yaml | 30 +++++++++- scripts/time_sync_fix.level.yaml | 27 ++++++++- scripts/time_utc_set.level.yaml | 23 +++++++- .../ubuntu_debian_update_verbose.level.yaml | 28 ++++++++- scripts/user_accounts_report.level.yaml | 25 +++++++- scripts/usmt_lan_migrate.level.yaml | 33 ++++++++++- scripts/usmt_profile_migrate.level.yaml | 27 ++++++++- scripts/webview2_repair_install.level.yaml | 29 +++++++++- scripts/wifi_adapters_disable.level.yaml | 25 +++++++- scripts/wifi_passwords_show.level.yaml | 29 +++++++++- scripts/wifiman_install.level.yaml | 24 +++++++- scripts/win11_compatibility_check.level.yaml | 23 +++++++- .../windows11_compatibility_check.level.yaml | 31 +++++++++- scripts/windows_dark_mode_enable.level.yaml | 26 ++++++++- .../windows_dism_sfc_chkdsk_run.level.yaml | 33 ++++++++++- scripts/windows_firewall_toggle.level.yaml | 27 ++++++++- ...ows_product_key_export_superops.level.yaml | 29 +++++++++- .../windows_update_access_restore.level.yaml | 22 ++++++- .../windows_update_access_toggle.level.yaml | 23 +++++++- scripts/windows_update_reset.level.yaml | 33 ++++++++++- scripts/winget_package_install.level.yaml | 27 ++++++++- scripts/winget_setup.level.yaml | 28 ++++++++- scripts/winget_upgrade_all.level.yaml | 26 ++++++++- scripts/winre_partition_resize.level.yaml | 33 ++++++++++- scripts/winre_restore.level.yaml | 31 +++++++++- scripts/winreagent_cleanup.level.yaml | 24 +++++++- scripts/wol_enable.level.yaml | 33 ++++++++++- scripts/wol_status_check.level.yaml | 26 ++++++++- scripts/workstation_info_display.level.yaml | 28 ++++++++- .../workstation_info_display_macos.level.yaml | 24 +++++++- scripts/workstation_oobe_seal.level.yaml | 35 +++++++++++- scripts/workstation_reboot_force.level.yaml | 23 +++++++- scripts/workstation_remote_wipe.level.yaml | 30 +++++++++- scripts/workstation_rename_auto.level.yaml | 32 ++++++++++- .../workstation_rename_auto_macos.level.yaml | 26 ++++++++- scripts/workstation_rename_manual.level.yaml | 34 ++++++++++- ...workstation_rename_manual_macos.level.yaml | 29 +++++++++- .../workstation_screenshot_macos.level.yaml | 28 ++++++++- ...workstation_uptime_reboot_macos.level.yaml | 26 ++++++++- 179 files changed, 4657 insertions(+), 537 deletions(-) diff --git a/scripts/1password_install.level.yaml b/scripts/1password_install.level.yaml index 7aa79b6..c015871 100644 --- a/scripts/1password_install.level.yaml +++ b/scripts/1password_install.level.yaml @@ -1,8 +1,30 @@ -name: "1password_install.ps1" +name: 1password_install.ps1 +description: Downloads and silently installs 1Password using official MSI shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and silently installs the latest version of 1Password for Windows using the official MSI installer with configurable deployment options. + + Usage Notes + ----------- + - Validates input parameters before proceeding + - Downloads 1Password MSI installer to temp directory + - Builds MSI arguments based on deployment options and installs silently using msiexec + - Cleans up installer file after completion + - Download URL: https://downloads.1password.com/win/1PasswordSetup-latest.msi + - Prevent Restart: true + - Manage Updates: false + - Remove Other Installs: true + + Requirements + ------------ + - Windows PowerShell 5.1 or later + - Administrator privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMA -lastPushedChecksum: "sha256:4c5b17905ada8b19" -lastPushedMetaChecksum: "sha256:5f52e8af41f844ed" \ No newline at end of file +lastPushedChecksum: sha256:4c5b17905ada8b19 +lastPushedMetaChecksum: sha256:5f52e8af41f844ed diff --git a/scripts/agent_startup_fix.level.yaml b/scripts/agent_startup_fix.level.yaml index 5bb5824..b84c300 100644 --- a/scripts/agent_startup_fix.level.yaml +++ b/scripts/agent_startup_fix.level.yaml @@ -1,8 +1,31 @@ name: agent_startup_fix.ps1 +description: Fixes RMM agent service startup with recovery options and delayed start shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Configures the RMM agent service with proper recovery options and delayed automatic start to prevent startup failures on slow or overloaded machines where services timeout during boot. + + Usage Notes + ----------- + - Locates the RMM agent service by name + - Reports current service status and startup type + - Sets service recovery options (restart on failure) + - Sets service to Automatic (Delayed Start) via registry + - Reports recent crash events from Event Viewer for diagnosis + - Default service name is "limehawk"; change $ServiceName for other RMM agents + - Recovery: restart after 60s, 60s, then 120s; reset failure count every 24 hours + - Uses registry for delayed start (compatible with Server 2019 PowerShell which lacks AutomaticDelayedStart enum) + - Event log lookback defaults to 3 days + + Requirements + ------------ + - Windows OS + - Administrator privileges + - RMM agent installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMQ -lastPushedChecksum: "sha256:5c55fbd2b948f152" -lastPushedMetaChecksum: "sha256:f5d9794ccf6b1f2c" \ No newline at end of file +lastPushedChecksum: sha256:5c55fbd2b948f152 +lastPushedMetaChecksum: sha256:f5d9794ccf6b1f2c diff --git a/scripts/antivirus_status.level.yaml b/scripts/antivirus_status.level.yaml index f738a30..1d417ac 100644 --- a/scripts/antivirus_status.level.yaml +++ b/scripts/antivirus_status.level.yaml @@ -1,8 +1,30 @@ name: antivirus_status.ps1 +description: Reports third-party antivirus status to SuperOps custom fields shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Checks for the presence and active status of third-party antivirus software on the system, excluding Windows/Microsoft Defender. Reports the active product name and boolean state to SuperOps custom fields for monitoring. + + Usage Notes + ----------- + - Validates that SuperOps module is available + - Detects OS type (client vs server) + - Queries installed AV products via SecurityCenter2 or registry fallback + - Checks enabled state via productState bitmask + - Ignores Windows Defender entries; only reports third-party AV + - Outputs AV name and enabled state (TRUE/FALSE) to SuperOps custom fields + - Confirms Windows Defender status in console output + - No configurable settings; all logic is fixed for third-party AV detection + + Requirements + ------------ + - PowerShell 5.1 or later + - Access to root\SecurityCenter2 namespace (requires local admin or equivalent) + - SuperOps module available via $SuperOpsModule variable (provided by RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMg -lastPushedChecksum: "sha256:1a20a2caeb5024b5" -lastPushedMetaChecksum: "sha256:9921764b52986cbc" \ No newline at end of file +lastPushedChecksum: sha256:1a20a2caeb5024b5 +lastPushedMetaChecksum: sha256:9921764b52986cbc diff --git a/scripts/antivirus_uninstall.level.yaml b/scripts/antivirus_uninstall.level.yaml index 329cb6a..8f630ab 100644 --- a/scripts/antivirus_uninstall.level.yaml +++ b/scripts/antivirus_uninstall.level.yaml @@ -1,8 +1,35 @@ name: antivirus_uninstall.ps1 +description: Removes common third-party antivirus software (McAfee, Sophos, AVG, etc.) shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Detects and uninstalls common third-party antivirus software from Windows systems including McAfee, Sophos, AVG, and Microsoft Security Essentials. Designed for scenarios where existing AV must be removed before deploying a new endpoint protection solution. + + Usage Notes + ----------- + - Validates execution environment (must run as Administrator) + - Detects each AV product using registry, services, file paths, packages, and WMI + - Stops services before uninstallation + - Attempts removal via multiple methods (packages, WMI, vendor-specific tools) + - Downloads MCPR (McAfee Consumer Product Removal) tool if needed + - Downloads AVG Clear tool if needed + - Uses silent/quiet uninstall methods where possible + - No reboot is forced, though some AV may require it for complete removal + + Requirements + ------------ + - Windows PowerShell 5.1 or PowerShell 7+ + - Administrator privileges + - Internet access (optional, for downloading MCPR and AVG Clear tools) + + Security + -------- + - Some antivirus may require tamper protection to be disabled first + - A reboot may be required after uninstallation for complete removal groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMw -lastPushedChecksum: "sha256:20975b8efcf885c8" -lastPushedMetaChecksum: "sha256:2c0a2e10efba6916" \ No newline at end of file +lastPushedChecksum: sha256:20975b8efcf885c8 +lastPushedMetaChecksum: sha256:2c0a2e10efba6916 diff --git a/scripts/arch_update_verbose.level.yaml b/scripts/arch_update_verbose.level.yaml index 8061faa..77b9152 100644 --- a/scripts/arch_update_verbose.level.yaml +++ b/scripts/arch_update_verbose.level.yaml @@ -1,8 +1,28 @@ name: arch_update_verbose.sh +description: Updates all packages on Arch Linux/Omarchy with verbose output shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 90 +readme: | + Purpose + ------- + Automates system package updates for Arch Linux and Omarchy systems with verbose output and error handling. Syncs package databases, upgrades all packages, removes orphaned dependencies, and cleans package cache. Provides color-coded status messages. + + Usage Notes + ----------- + - Run with sudo or as root + - Configure options at top of script: + - ENABLE_ORPHAN_REMOVAL: Remove orphaned packages after upgrade + - ENABLE_CACHE_CLEAN: Clean pacman cache to free disk space + - ENABLE_COLOR_OUTPUT: Use colored terminal output + + Requirements + ------------ + - Root/sudo access required + - Arch Linux or Arch-based distribution (Omarchy, EndeavourOS, Manjaro, etc.) + - Network connectivity to package mirrors + - pacman package manager groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNA -lastPushedChecksum: "sha256:132e3b80eb80e9b3" -lastPushedMetaChecksum: "sha256:e86e5fb919dea6e6" \ No newline at end of file +lastPushedChecksum: sha256:132e3b80eb80e9b3 +lastPushedMetaChecksum: sha256:e86e5fb919dea6e6 diff --git a/scripts/bitlocker_superops_enable.level.yaml b/scripts/bitlocker_superops_enable.level.yaml index d5a3f95..9a521a2 100644 --- a/scripts/bitlocker_superops_enable.level.yaml +++ b/scripts/bitlocker_superops_enable.level.yaml @@ -1,8 +1,36 @@ name: bitlocker_superops_enable.ps1 +description: Enables BitLocker with TPM and syncs recovery key to SuperOps shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Enables BitLocker on the OS drive using TPM and Recovery Password protectors. Ensures protectors are not duplicated, prints recovery key to console for RMM log capture, and syncs the recovery key to SuperOps custom fields. + + Usage Notes + ----------- + - Validates administrative privileges and SuperOps module + - Ensures BDESVC (BitLocker Service) is running and set to Automatic + - Checks TPM status and adds TPM protector if available + - Rotates Recovery Password protector when Force is true (default) + - Initiates encryption with XTS-AES 256, used-space-only mode + - No reboot required to start encryption (skip hardware test enabled) + - Retrieves and displays recovery key, then syncs to SuperOps custom fields + - Target drive default: C: + + Requirements + ------------ + - PowerShell 5.1 or later + - Windows 10/11 Pro or Enterprise with BitLocker feature enabled + - Administrator privileges + - SuperOps module available via $SuperOpsModule + + Security + -------- + - Recovery Password is printed to console (captured by RMM logs) + - Recovery Password is synced to SuperOps custom fields groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNQ -lastPushedChecksum: "sha256:5bb054e2cc26dc88" -lastPushedMetaChecksum: "sha256:0ebcd91749abf43d" \ No newline at end of file +lastPushedChecksum: sha256:5bb054e2cc26dc88 +lastPushedMetaChecksum: sha256:0ebcd91749abf43d diff --git a/scripts/canon_mf455dw_driver_install.level.yaml b/scripts/canon_mf455dw_driver_install.level.yaml index d3259cd..a7bf0f1 100644 --- a/scripts/canon_mf455dw_driver_install.level.yaml +++ b/scripts/canon_mf455dw_driver_install.level.yaml @@ -1,8 +1,29 @@ name: canon_mf455dw_driver_install.ps1 +description: Downloads and installs Canon imageCLASS MF455dw printer drivers shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads the Canon imageCLASS MF455dw MF Driver package from Canon's CDN, extracts it, and installs the UFR II LT printer driver to the Windows driver store using pnputil. Optionally creates a TCP/IP printer queue if an IP address is specified. + + Usage Notes + ----------- + - Downloads Canon MF Driver package from official CDN + - Extracts driver files and installs UFR II LT driver via pnputil + - Creates TCP/IP printer port and queue if printer IP is specified + - Leave $printerIp empty to install driver only without creating a queue + - Driver extracts to C:\Temp\CanonMF455dw and is cleaned up after install + - Configurable variables: $driverUrl, $printerIp, $printerName, $installScanner + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges + - Network connectivity to Canon CDN (gdlp01.c-wss.com) + - curl.exe (included in Windows 10 1803+) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNg -lastPushedChecksum: "sha256:9422dc3b1c79a3bf" -lastPushedMetaChecksum: "sha256:1762be2079eff365" \ No newline at end of file +lastPushedChecksum: sha256:9422dc3b1c79a3bf +lastPushedMetaChecksum: sha256:1762be2079eff365 diff --git a/scripts/choco_upgrade_all.level.yaml b/scripts/choco_upgrade_all.level.yaml index 5450625..1253659 100644 --- a/scripts/choco_upgrade_all.level.yaml +++ b/scripts/choco_upgrade_all.level.yaml @@ -1,8 +1,25 @@ name: choco_upgrade_all.ps1 +description: Upgrades all Chocolatey-managed packages to latest versions shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Upgrades all Chocolatey-managed packages to their latest versions using the choco upgrade all command with automatic confirmation. + + Usage Notes + ----------- + - Checks if Chocolatey is installed before proceeding + - Runs choco upgrade all with auto-confirmation flag (-y) for unattended operation + - Operates on all installed Chocolatey packages; no configuration required + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Chocolatey package manager installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNw -lastPushedChecksum: "sha256:bf35638a77698431" -lastPushedMetaChecksum: "sha256:65500a7aac11fe33" \ No newline at end of file +lastPushedChecksum: sha256:bf35638a77698431 +lastPushedMetaChecksum: sha256:65500a7aac11fe33 diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index bd24891..e1b8ce9 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -1,8 +1,43 @@ name: cloudflared_install.ps1 +description: Installs cloudflared via winget and registers the tunnel service shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Onboards a Windows endpoint to a Cloudflare named tunnel by installing the Cloudflare.cloudflared package via winget and registering the Cloudflare Tunnel service with a connector token supplied through SuperOps runtime replacement. The connector token is treated as a secret and is masked on any output path. + + Usage Notes + ----------- + - Validates connector token is present and was replaced by SuperOps + - Resolves winget.exe (SYSTEM-aware path resolution) + - Installs Cloudflare.cloudflared via winget (treats already-installed exit codes as success) + - Resolves the cloudflared.exe binary + - Removes any pre-existing Cloudflare Tunnel service registration + - Registers the service with the connector token + - Polls the service for Running state up to 10 seconds + - Reports success or masked failure (token never echoed) + - Package Id is Cloudflare.cloudflared + - Service name is Cloudflare Tunnel + - Winget flags --exact --silent --accept-package-agreements --accept-source-agreements + + Requirements + ------------ + - CloudflaredTunnelToken runtime variable (required, non-empty) + - Windows 10 1809+ / Windows Server 2019+ + - SYSTEM or Administrator privileges + - Winget installed (run winget_setup.ps1 first if missing) + - Outbound internet connectivity to Cloudflare edge (port 7844) + + Security + -------- + - No secrets in logs + - Connector token is never printed; if it appears in an error message it is masked as **** + - Runtime variable validated against unreplaced placeholder +variables: +- name: CloudflaredTunnelToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA -lastPushedChecksum: "sha256:13f478410f8c5064" -lastPushedMetaChecksum: "sha256:47404ab047e3dae0" \ No newline at end of file +lastPushedChecksum: sha256:13f478410f8c5064 +lastPushedMetaChecksum: sha256:47404ab047e3dae0 diff --git a/scripts/cloudflared_status.level.yaml b/scripts/cloudflared_status.level.yaml index 54f9058..cd6b423 100644 --- a/scripts/cloudflared_status.level.yaml +++ b/scripts/cloudflared_status.level.yaml @@ -1,8 +1,32 @@ name: cloudflared_status.ps1 +description: Reports cloudflared binary, service, and tunnel connectivity state shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Field-triage view of a Windows endpoint's Cloudflare Tunnel connector. Reports the cloudflared binary version and install path, the Cloudflare Tunnel service Status and StartType, and a best-effort tunnel connectivity verdict pulled from the Windows Event Log with an outbound-socket fallback signal. Always exits 0 - absence of target is itself a valid status, not an error. + + Usage Notes + ----------- + - Resolves cloudflared.exe; if absent reports Not installed and exits 0 + - Reports binary version and install path + - Reports service Status and StartType + - Reads recent Application log entries for tunnel connector events + - If no event log signal, falls back to Get-NetTCPConnection / Get-NetUDPEndpoint on port 7844 + - Always prints which signal was used so the field tech knows the basis + - Service name is Cloudflare Tunnel + - Event log window is last 15 minutes + - Event log source is cloudflared (verify on a registered host with Get-WinEvent -ListProvider *cloud*) + - Connector port is 7844 (TCP and UDP) + + Requirements + ------------ + - Windows 10 1809+ / Windows Server 2019+ + - Read access to the Application Event Log + - PowerShell 5.1 or later groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOQ -lastPushedChecksum: "sha256:e7d61d1e9ee15f74" -lastPushedMetaChecksum: "sha256:5c8b6271ad7eea70" \ No newline at end of file +lastPushedChecksum: sha256:e7d61d1e9ee15f74 +lastPushedMetaChecksum: sha256:5c8b6271ad7eea70 diff --git a/scripts/cloudflared_uninstall.level.yaml b/scripts/cloudflared_uninstall.level.yaml index 609b20f..00c5232 100644 --- a/scripts/cloudflared_uninstall.level.yaml +++ b/scripts/cloudflared_uninstall.level.yaml @@ -1,8 +1,30 @@ name: cloudflared_uninstall.ps1 +description: Removes the Cloudflare Tunnel service and uninstalls cloudflared shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Tears down a Cloudflare Tunnel connector on a Windows endpoint by uninstalling the Cloudflare Tunnel service and removing the Cloudflare.cloudflared package via winget. Idempotent: a clean machine results in a no-op success. + + Usage Notes + ----------- + - Detects current state (service present, binary present) + - Removes the Cloudflare Tunnel service via cloudflared service uninstall (graceful) + - Falls back to sc.exe delete if binary is gone but service is orphaned + - Uninstalls Cloudflare.cloudflared via winget + - Verifies service no longer present and binary not resolvable + - Reports a clean-state result (idempotent on already-clean machines) + - Package Id is Cloudflare.cloudflared + - Service name is Cloudflare Tunnel + + Requirements + ------------ + - Windows 10 1809+ / Windows Server 2019+ + - SYSTEM or Administrator privileges + - Winget installed (used only if the package is registered) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MA -lastPushedChecksum: "sha256:f9aa02bdaa9c4cda" -lastPushedMetaChecksum: "sha256:9a784a9efc33d424" \ No newline at end of file +lastPushedChecksum: sha256:f9aa02bdaa9c4cda +lastPushedMetaChecksum: sha256:9a784a9efc33d424 diff --git a/scripts/cloudflared_upgrade.level.yaml b/scripts/cloudflared_upgrade.level.yaml index 83f9210..4165463 100644 --- a/scripts/cloudflared_upgrade.level.yaml +++ b/scripts/cloudflared_upgrade.level.yaml @@ -1,8 +1,33 @@ name: cloudflared_upgrade.ps1 +description: Upgrades cloudflared via winget and verifies tunnel service health shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Patches the Cloudflare.cloudflared package on a Windows endpoint via winget and confirms the Cloudflare Tunnel service remains healthy after the upgrade. Idempotent: machines without cloudflared installed exit 0 with a no-op. + + Usage Notes + ----------- + - Pre-checks for an existing cloudflared install (no-op exit 0 if absent) + - Captures current version before upgrade + - Captures pre-upgrade service state + - Runs winget upgrade with --exact --silent --accept-package-agreements --accept-source-agreements + - Treats 0x8A15002B no-applicable-update as success (already current) + - Captures new version after upgrade + - Verifies service still Running if it was Running before + - Reports old to new version transition + - Package Id is Cloudflare.cloudflared + - Service name is Cloudflare Tunnel + + Requirements + ------------ + - Windows 10 1809+ / Windows Server 2019+ + - SYSTEM or Administrator privileges + - Winget installed + - Outbound internet connectivity to Cloudflare edge (port 7844) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MQ -lastPushedChecksum: "sha256:df3c507b8b3e95a9" -lastPushedMetaChecksum: "sha256:0aa53c9c3e2e7781" \ No newline at end of file +lastPushedChecksum: sha256:df3c507b8b3e95a9 +lastPushedMetaChecksum: sha256:0aa53c9c3e2e7781 diff --git a/scripts/cups_toggle_macos.level.yaml b/scripts/cups_toggle_macos.level.yaml index db2a8d9..6ab9d5c 100644 --- a/scripts/cups_toggle_macos.level.yaml +++ b/scripts/cups_toggle_macos.level.yaml @@ -1,8 +1,30 @@ name: cups_toggle_macos.sh +description: Toggles CUPS web interface on/off for printer administration shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Toggles the CUPS (Common Unix Printing System) web interface on or off. If currently enabled, disables it. If disabled, enables it. Useful for managing printer administration access on macOS and Linux systems. + + Usage Notes + ----------- + - Verifies root/sudo privileges before proceeding + - Auto-detects current CUPS web interface status via cupsctl + - Toggles to opposite state and reports the new status + - Web interface URL when enabled: http://localhost:631 + + Requirements + ------------ + - macOS or Linux with CUPS installed + - cupsctl command available + - Root/sudo privileges + + Security + -------- + - Enabling the web interface exposes printer admin on localhost:631 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mg -lastPushedChecksum: "sha256:798218624bddb90d" -lastPushedMetaChecksum: "sha256:0da26de587a9eca0" \ No newline at end of file +lastPushedChecksum: sha256:798218624bddb90d +lastPushedMetaChecksum: sha256:0da26de587a9eca0 diff --git a/scripts/dell_command_update.level.yaml b/scripts/dell_command_update.level.yaml index 6c9b013..a39af98 100644 --- a/scripts/dell_command_update.level.yaml +++ b/scripts/dell_command_update.level.yaml @@ -1,8 +1,28 @@ name: dell_command_update.ps1 +description: Installs Dell Command Update and applies driver/firmware updates shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs Dell Command Update via winget and runs it to scan and apply driver/firmware updates silently. Designed for automated Dell system maintenance in RMM environments. + + Usage Notes + ----------- + - Verifies winget is available, then installs Dell Command Update if not present + - Configures DCU for silent operation: auto-suspend BitLocker, disable user consent prompts + - Scans for available updates and outputs log to console + - Applies updates without rebooting (reboot=disable) + - Logs scan and apply operations to C:\dell\logs + - Hardcoded variables: DcuCliPath, DcuLogPath, WingetId + + Requirements + ------------ + - Windows 10 1809+ or Windows 11 with winget + - Dell system hardware (script will fail on non-Dell systems) + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mw -lastPushedChecksum: "sha256:a83e3d86b27a7bd3" -lastPushedMetaChecksum: "sha256:3c5296736f6ee2d8" \ No newline at end of file +lastPushedChecksum: sha256:a83e3d86b27a7bd3 +lastPushedMetaChecksum: sha256:3c5296736f6ee2d8 diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index a886de5..cdc8f41 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -1,8 +1,34 @@ name: delprof2_old_profiles_delete.ps1 +description: Deletes Windows user profiles older than specified days shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes Windows user profiles older than a specified number of days. Uses DelProf2 utility downloaded directly from helgeklein.com. + + Usage Notes + ----------- + - Downloads and extracts DelProf2 if not already cached + - Executes delprof2.exe /u /d:X /ed:gaia /ed:administrator + - Always protects gaia and administrator profiles + - Cleans up cached files after execution + - Set $days_old runtime variable to control threshold (default: 30 days) + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet access for DelProf2 download from helgeklein.com + - Runtime variable: $days_old (number of days; default 30) + + Security + -------- + - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered +variables: +- name: days_old groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA -lastPushedChecksum: "sha256:106abf51d75cdcc5" -lastPushedMetaChecksum: "sha256:0d7430406cd3b1ef" \ No newline at end of file +lastPushedChecksum: sha256:106abf51d75cdcc5 +lastPushedMetaChecksum: sha256:0d7430406cd3b1ef diff --git a/scripts/delprof2_profiles_delete_all.level.yaml b/scripts/delprof2_profiles_delete_all.level.yaml index d3a0b6d..b86d21a 100644 --- a/scripts/delprof2_profiles_delete_all.level.yaml +++ b/scripts/delprof2_profiles_delete_all.level.yaml @@ -1,8 +1,30 @@ name: delprof2_profiles_delete_all.ps1 +description: Deletes ALL Windows user profiles except protected ones shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes ALL Windows user profiles except protected ones (gaia, administrator). Uses DelProf2 utility downloaded directly from helgeklein.com. + + Usage Notes + ----------- + - Downloads and extracts DelProf2 if not already cached + - Executes delprof2.exe /u /ed:gaia /ed:administrator + - Always protects gaia and administrator profiles + - Cleans up cached files after execution + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet access for DelProf2 download from helgeklein.com + + Security + -------- + - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NQ -lastPushedChecksum: "sha256:c59f7c3794206023" -lastPushedMetaChecksum: "sha256:658453b1d29e0654" \ No newline at end of file +lastPushedChecksum: sha256:c59f7c3794206023 +lastPushedMetaChecksum: sha256:658453b1d29e0654 diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 2a1d79b..9d4943f 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -1,8 +1,33 @@ name: delprof2_selected_profile_keep.ps1 +description: Deletes all profiles EXCEPT the specified one and protected ones shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes ALL Windows user profiles EXCEPT the specified profile and protected ones (gaia, administrator). Uses DelProf2 utility downloaded directly from helgeklein.com. + + Usage Notes + ----------- + - Downloads and extracts DelProf2 if not already cached + - Executes delprof2.exe /u /ed:PROFILENAME /ed:gaia /ed:administrator + - Always protects gaia and administrator profiles in addition to the specified profile + - Cleans up cached files after execution + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet access for DelProf2 download from helgeklein.com + - Runtime variable: $profile_to_keep (username of profile to preserve) + + Security + -------- + - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered +variables: +- name: profile_to_keep groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng -lastPushedChecksum: "sha256:e42a9370705203ab" -lastPushedMetaChecksum: "sha256:ab62cf018f194a88" \ No newline at end of file +lastPushedChecksum: sha256:e42a9370705203ab +lastPushedMetaChecksum: sha256:ab62cf018f194a88 diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index 52e6357..58adc41 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -1,8 +1,35 @@ name: delprof2_specific_profile_delete.ps1 +description: Deletes only the specified Windows user profile shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes ONLY the specified Windows user profile. All other profiles are left untouched. Uses DelProf2 utility downloaded directly from helgeklein.com. + + Usage Notes + ----------- + - Validates that the target profile is not a protected profile + - Downloads and extracts DelProf2 if not already cached + - Executes delprof2.exe /u /id:PROFILENAME + - Refuses to delete gaia or administrator profiles + - Cleans up cached files after execution + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet access for DelProf2 download from helgeklein.com + - Runtime variable: $profile_to_delete (username of profile to delete) + + Security + -------- + - DESTRUCTIVE OPERATION - deleted profile cannot be recovered + - Refuses to delete protected profiles (gaia, administrator) +variables: +- name: profile_to_delete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw -lastPushedChecksum: "sha256:15ac32c141b8896a" -lastPushedMetaChecksum: "sha256:40e645d4cff3be38" \ No newline at end of file +lastPushedChecksum: sha256:15ac32c141b8896a +lastPushedMetaChecksum: sha256:40e645d4cff3be38 diff --git a/scripts/deskview_install.level.yaml b/scripts/deskview_install.level.yaml index 9e90e65..6f46a95 100644 --- a/scripts/deskview_install.level.yaml +++ b/scripts/deskview_install.level.yaml @@ -1,8 +1,26 @@ name: deskview_install.ps1 +description: Installs DeskView utility to startup folder for desktop icons shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads deskview.exe utility to the Windows Startup folder so it runs automatically at user login. DeskView displays desktop icons in a compact window. + + Usage Notes + ----------- + - Validates input parameters before proceeding + - Downloads deskview.exe to the common Startup folder for all users + - Runs automatically at user login after installation + - Configurable variable: $downloadUrl + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OA -lastPushedChecksum: "sha256:dca5111c6a4c7b0b" -lastPushedMetaChecksum: "sha256:a07891418b832461" \ No newline at end of file +lastPushedChecksum: sha256:dca5111c6a4c7b0b +lastPushedMetaChecksum: sha256:a07891418b832461 diff --git a/scripts/dietpi_proxmox_install.level.yaml b/scripts/dietpi_proxmox_install.level.yaml index 83bba49..04270f5 100644 --- a/scripts/dietpi_proxmox_install.level.yaml +++ b/scripts/dietpi_proxmox_install.level.yaml @@ -1,8 +1,30 @@ name: dietpi_proxmox_install.sh +description: Creates lightweight DietPi Debian 12 VM on Proxmox shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and runs the DietPi Debian 12 Bookworm VM installer for Proxmox. Creates a lightweight Debian-based VM optimized for low resource usage. + + Usage Notes + ----------- + - Downloads the installer script from limehawk/proxmox-scripts repository on GitHub + - Executes the installer via bash and returns its exit code + - No hardcoded inputs required; installer is fetched from remote source + + Requirements + ------------ + - Proxmox VE host + - Run from Proxmox shell (not inside a VM) + - Internet access to GitHub + - curl installed + + Security + -------- + - Executes remote code fetched over HTTPS - review source before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OQ -lastPushedChecksum: "sha256:4267f99c659dd43a" -lastPushedMetaChecksum: "sha256:536ea7fe127cdae8" \ No newline at end of file +lastPushedChecksum: sha256:4267f99c659dd43a +lastPushedMetaChecksum: sha256:536ea7fe127cdae8 diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index cfc5217..56ba5b9 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -1,8 +1,28 @@ name: directory_cleanup.ps1 +description: Deletes files and directories older than specified days shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Cleans up files and directories older than a specified number of days. Logs deleted items to a file in the target folder. + + Usage Notes + ----------- + - Recursively scans subdirectories for files older than the specified threshold + - Deletes matching files and removes empty directories afterward + - Creates deleted_files.log in the target folder with details of each deletion + + Requirements + ------------ + - Windows OS + - Runtime variable: $runtime_folderPath (path to the folder to clean up) + - Runtime variable: $runtime_days (number of days old a file must be to be deleted) +variables: +- name: runtime_folderPath +- name: runtime_days groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA -lastPushedChecksum: "sha256:c4b0a0caf6528904" -lastPushedMetaChecksum: "sha256:6718561e686bac8b" \ No newline at end of file +lastPushedChecksum: sha256:c4b0a0caf6528904 +lastPushedMetaChecksum: sha256:6718561e686bac8b diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index b495ec3..51a7272 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -1,8 +1,32 @@ name: directory_size_analyze.ps1 +description: Analyzes disk usage with gdu utility for directory size reports shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Runs a command-line disk usage analysis on a specified directory using gdu (Go Disk Usage analyzer). Downloads gdu from GitHub releases if not already present, extracts it to a local cache directory, and executes it against the target path in non-interactive mode. + + Usage Notes + ----------- + - Set $YourTargetDirectoryHere runtime variable to the path to scan (e.g., C:\Users) + - Designed for unattended RMM execution + - Downloads and caches gdu utility automatically; no package manager dependencies + - Supports text or JSON output formats (OutputFormat setting) + - Includes timeout protection for long-running scans (ScanTimeout setting) + - Optional cleanup of downloaded files after completion (CleanupAfterRun setting) + - Configurable scan depth controls top N items shown + + Requirements + ------------ + - PowerShell 5.1 or later + - Internet access to reach github.com for initial download + - Write permissions to the cache directory + - Runtime variable: $YourTargetDirectoryHere (target directory to scan) +variables: +- name: YourTargetDirectoryHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ -lastPushedChecksum: "sha256:341a3b130cb083e0" -lastPushedMetaChecksum: "sha256:aa7d02021e1079aa" \ No newline at end of file +lastPushedChecksum: sha256:341a3b130cb083e0 +lastPushedMetaChecksum: sha256:aa7d02021e1079aa diff --git a/scripts/disk_cleanup.level.yaml b/scripts/disk_cleanup.level.yaml index 73685d6..13b7019 100644 --- a/scripts/disk_cleanup.level.yaml +++ b/scripts/disk_cleanup.level.yaml @@ -1,8 +1,29 @@ name: disk_cleanup.ps1 +description: Runs Windows Disk Cleanup plus SoftwareDistribution/WinSxS cleanup shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 180 +readme: | + Purpose + ------- + Runs Windows Disk Cleanup utility on all fixed local drives, plus targeted cleanups for SoftwareDistribution, WinSxS, and Search Index to free up disk space. Shows disk space before and after with progress updates during long-running operations. + + Usage Notes + ----------- + - Queries WMI for all fixed local drives (DriveType 3) + - Runs cleanmgr.exe with /verylowdisk flag on each drive + - Progress updates every 60 seconds while cleanmgr runs (30-minute timeout per drive) + - Performs targeted cleanups on C: drive: SoftwareDistribution, WinSxS via DISM, Search Index + - Shows free space before/after and total freed at completion + - Cleanups run sequentially to avoid conflicts + - CleanupProfile: verylow (hardcoded) + + Requirements + ------------ + - Windows 10/11 with cleanmgr.exe and DISM + - WMI service running + - Administrator privileges for DISM and service operations groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mg -lastPushedChecksum: "sha256:2496e05767011ab7" -lastPushedMetaChecksum: "sha256:c095ce3f634ef78c" \ No newline at end of file +lastPushedChecksum: sha256:2496e05767011ab7 +lastPushedMetaChecksum: sha256:c095ce3f634ef78c diff --git a/scripts/disk_scan_fix.level.yaml b/scripts/disk_scan_fix.level.yaml index 7bf5663..12e6180 100644 --- a/scripts/disk_scan_fix.level.yaml +++ b/scripts/disk_scan_fix.level.yaml @@ -1,8 +1,26 @@ name: disk_scan_fix.sh +description: Comprehensive disk and volume health check for macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs a comprehensive health check on all mounted disks and volumes on macOS. Verifies partition maps, file systems, and SMART status where supported. + + Usage Notes + ----------- + - Auto-detects all mounted disks + - Verifies partition map for each disk + - Checks file system health for HFS and APFS volumes + - Reports SMART status when available + - Read-only operations (verification only, no modifications) + + Requirements + ------------ + - macOS operating system + - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mw -lastPushedChecksum: "sha256:9afd6590971bc04f" -lastPushedMetaChecksum: "sha256:523bcc3dd18ef47d" \ No newline at end of file +lastPushedChecksum: sha256:9afd6590971bc04f +lastPushedMetaChecksum: sha256:523bcc3dd18ef47d diff --git a/scripts/disk_smart_status.level.yaml b/scripts/disk_smart_status.level.yaml index 545ba78..3c1b7c1 100644 --- a/scripts/disk_smart_status.level.yaml +++ b/scripts/disk_smart_status.level.yaml @@ -1,8 +1,41 @@ name: disk_smart_status.ps1 +description: Reports S.M.A.R.T. predictive-failure health of all physical disks shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 30 +readme: | + Purpose + ------- + Reports the S.M.A.R.T. / predictive-failure health of every physical disk on the machine so the RMM dashboard can flag failing drives. Combines PowerShell storage health, WMI predictive-failure status, and SMART reliability counters into a single per-machine verdict. + + Data Sources + ------------ + - Get-PhysicalDisk: primary per-disk health (HealthStatus, OperationalStatus) + - MSStorageDriver_FailurePredictStatus (root\wmi): SMART predictive-failure flag + - Get-StorageReliabilityCounter: best-effort wear / temperature / read-error counters + + Usage Notes + ----------- + - Enumerates physical disks via Get-PhysicalDisk and reports FriendlyName, MediaType, Size (GB), HealthStatus, and OperationalStatus per disk + - Queries WMI predictive-failure status via MSStorageDriver_FailurePredictStatus, reporting "Not available" when the class is missing (VMs, some controllers) instead of failing + - Pulls SMART reliability counters via Get-StorageReliabilityCounter (Wear, Temperature, ReadErrorsTotal) on a best-effort basis + - Aggregates to a final per-machine verdict: Healthy / Warning / Failing + - Exits 0 when all disks are healthy or SMART data is undeterminable (e.g. a VM); exits 1 when a disk reports a predicted failure or unhealthy HealthStatus + - No configurable settings and no inputs; the verdict comes directly from disk-reported HealthStatus and the SMART PredictFailure flag, with no tunable thresholds + - All data is queried locally; no network endpoints are contacted + + Requirements + ------------ + - Windows 10/11 or Windows Server + - PowerShell 5.1 or later + - Administrator privileges + - Storage subsystem that exposes SMART data (physical hardware) + + Security + -------- + - Read-only; makes no changes to disks or configuration + - Requires elevated privileges to query the storage subsystem groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NA -lastPushedChecksum: "sha256:cf1b77bc78f75a11" -lastPushedMetaChecksum: "sha256:6011b3b05389e096" \ No newline at end of file +lastPushedChecksum: sha256:cf1b77bc78f75a11 +lastPushedMetaChecksum: sha256:6011b3b05389e096 diff --git a/scripts/dns_flush.level.yaml b/scripts/dns_flush.level.yaml index dd96602..2f15edf 100644 --- a/scripts/dns_flush.level.yaml +++ b/scripts/dns_flush.level.yaml @@ -1,8 +1,25 @@ name: dns_flush.sh +description: Flushes DNS cache on macOS across all supported versions shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Flushes the DNS cache on macOS to resolve DNS-related connectivity issues. Automatically detects macOS version and uses the appropriate flush method. + + Usage Notes + ----------- + - Detects macOS version automatically + - Selects appropriate DNS flush method for the detected version + - Executes flush command and reports success or failure + - Version-specific flush commands used for compatibility + + Requirements + ------------ + - macOS 10.6 or later + - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NQ -lastPushedChecksum: "sha256:5124eb497016d01a" -lastPushedMetaChecksum: "sha256:e33ad4e260063f77" \ No newline at end of file +lastPushedChecksum: sha256:5124eb497016d01a +lastPushedMetaChecksum: sha256:e33ad4e260063f77 diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index c5d8752..c09f471 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -1,8 +1,47 @@ name: dns_set_provider.ps1 +description: Sets IPv4 DNS servers on active adapters to a chosen provider shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Quickly switches all active physical IPv4 network adapters to a known public DNS provider chosen by number. Designed for SuperOps runtime replacement so a tech can pick the desired DNS from a numbered list without typing IP addresses or worrying about syntax. + + Provider Selection (set DnsProviderSelection to one of these numbers) + -------------------------------------------------------------------- + 1 DHCP / Automatic - clear static DNS, return to DHCP + 2 Cloudflare - 1.1.1.1, 1.0.0.1 + 3 Cloudflare Malware - 1.1.1.2, 1.0.0.2 (block malware) + 4 Cloudflare Families - 1.1.1.3, 1.0.0.3 (block malware + adult) + 5 Google - 8.8.8.8, 8.8.4.4 + 6 OpenDNS - 208.67.222.222, 208.67.220.220 + 7 OpenDNS FamilyShield - 208.67.222.123, 208.67.220.123 + 8 Quad9 - 9.9.9.9, 149.112.112.112 (block malware) + 9 Quad9 Unsecured - 9.9.9.10, 149.112.112.10 (no filtering) + 10 AdGuard - 94.140.14.14, 94.140.15.15 (block ads) + 11 AdGuard Family - 94.140.14.15, 94.140.15.16 (block ads + adult) + 12 CleanBrowsing Security - 185.228.168.9, 185.228.169.9 + 13 CleanBrowsing Family - 185.228.168.168, 185.228.169.168 + 14 Control D Free - 76.76.2.0, 76.76.10.0 + + Usage Notes + ----------- + - Targets active Ethernet (InterfaceType 6) and Wi-Fi (InterfaceType 71) adapters + - Applies to IPv4 DNS only; IPv6 DNS is left untouched + - Selection 1 resets the adapters to DHCP (clears static DNS) + - Flushes the resolver cache after the change + - Reports per-adapter success / failure + + Requirements + ------------ + - DnsProviderSelection runtime variable (required, integer 1..14) + - Windows 10 1809+ / Windows Server 2019+ + - SYSTEM or Administrator privileges + - At least one active Ethernet or Wi-Fi adapter +variables: +- name: DnsProviderSelection groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng -lastPushedChecksum: "sha256:c5ae635e195d07c1" -lastPushedMetaChecksum: "sha256:3253019f100fd555" \ No newline at end of file +lastPushedChecksum: sha256:c5ae635e195d07c1 +lastPushedMetaChecksum: sha256:3253019f100fd555 diff --git a/scripts/dnsfilter_uninstall.level.yaml b/scripts/dnsfilter_uninstall.level.yaml index 7c13a04..29a0beb 100644 --- a/scripts/dnsfilter_uninstall.level.yaml +++ b/scripts/dnsfilter_uninstall.level.yaml @@ -1,8 +1,30 @@ name: dnsfilter_uninstall.ps1 +description: Completely removes DNSFilter agent and resets DNS to DHCP shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Completely removes DNSFilter agent from a Windows system including uninstalling the MSI package, stopping and removing services, deleting installation folders, cleaning up registry keys, and resetting DNS settings to DHCP. + + Usage Notes + ----------- + - Uninstalls DNS Agent via WMI if installed + - Stops and deletes related Windows services + - Removes installation folders and registry keys + - Resets all NICs to use DHCP for DNS + - Flushes DNS cache + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + + Security + -------- + - Resets DNS to DHCP, which may temporarily affect network connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Nw -lastPushedChecksum: "sha256:09f70a00c2649337" -lastPushedMetaChecksum: "sha256:7afc2e123c4be5bf" \ No newline at end of file +lastPushedChecksum: sha256:09f70a00c2649337 +lastPushedMetaChecksum: sha256:7afc2e123c4be5bf diff --git a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml index 3a423d5..31d1dc1 100644 --- a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml +++ b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml @@ -1,8 +1,33 @@ name: dokploy_orphaned_volumes_cleanup.sh +description: Identifies and removes orphaned Docker volumes to free space shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Scans Docker containers and Swarm services to identify volumes that are not currently mounted or in use. Provides detailed information about orphaned volumes including size, creation date, and mount point. Can optionally remove orphaned volumes automatically to free up disk space. + + Usage Notes + ----------- + - Scans all Docker containers (running and stopped) for volume mounts + - Scans all Docker Swarm services for volume usage + - Compares all system volumes against used volumes + - Displays detailed information for each orphaned volume + - Optionally removes orphaned volumes if AUTO_REMOVE is true + - Set AUTO_REMOVE to true to automatically remove orphaned volumes, false for safe mode (list only) + + Requirements + ------------ + - Docker installed and running + - Root/sudo access for volume inspection and removal + - Docker Swarm (optional, script works without it) + + Security + -------- + - Requires privileged access to Docker daemon + - Volume data is permanently deleted when removed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OA -lastPushedChecksum: "sha256:4aa76efabe2abc10" -lastPushedMetaChecksum: "sha256:7f3790c06ea343d1" \ No newline at end of file +lastPushedChecksum: sha256:4aa76efabe2abc10 +lastPushedMetaChecksum: sha256:7f3790c06ea343d1 diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml index 18f5c5a..e853168 100644 --- a/scripts/dokploy_running_apps_deploy.level.yaml +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -1,8 +1,35 @@ name: dokploy_running_apps_deploy.sh +description: Redeploys running Dokploy apps and verifies each outcome + version shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Automates redeployment of all running Dokploy applications with no stored secret, then verifies what actually happened. Reads each app's status and built-in deploy webhook token from the Dokploy database, triggers the webhook on localhost, waits for the deploy to finish, and reports the real outcome plus whether the running image changed. Idle applications are skipped. + + Usage Notes + ----------- + - Queries project, name, status, sourceType, branch, watchPaths, deploy webhook token, appName, and applicationId from the Dokploy database + - Skips applications with "idle" status; deploys all others in parallel + - No API key or stored secret: each app's own webhook token is read from the local database at runtime and used only against localhost + - docker-source apps redeploy on a bare webhook POST; git-source apps get a GitHub-style push payload carrying the branch plus a file path matching any watchPaths filter + - After triggering, waits for the deployment table to report done/error, then compares the running container image id before and after to classify each app as updated / no change / failed + - Reports per-app duration and a summary; exits 1 if any app failed or could not be verified + + Requirements + ------------ + - Must run on the Dokploy host server (Dokploy schedule or cron) + - Dokploy postgres container accessible via docker exec + - docker and curl installed + - Each target app must have "Auto Deploy" enabled — the webhook rejects apps with auto deploy turned off + + Security + -------- + - No API key or stored secret anywhere — the per-app webhook token is read from the local database at runtime + - No secrets are written to logs (only app names, image ids, and outcomes are printed) + - All calls are localhost-only, no external network traffic groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OQ -lastPushedChecksum: "sha256:fe4c759579dc9eeb" -lastPushedMetaChecksum: "sha256:1f2c3f494768a3db" \ No newline at end of file +lastPushedChecksum: sha256:fe4c759579dc9eeb +lastPushedMetaChecksum: sha256:1f2c3f494768a3db diff --git a/scripts/ds_store_disable_macos.level.yaml b/scripts/ds_store_disable_macos.level.yaml index 3cf8219..80f3aa5 100644 --- a/scripts/ds_store_disable_macos.level.yaml +++ b/scripts/ds_store_disable_macos.level.yaml @@ -1,8 +1,24 @@ name: ds_store_disable_macos.sh +description: Prevents macOS from creating .DS_Store files on network shares shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Prevents macOS from creating .DS_Store files on network shares. These files contain folder metadata and can clutter network drives, causing issues for non-Mac users accessing shared folders. + + Usage Notes + ----------- + - Sets DSDontWriteNetworkStores to true via defaults command + - Displays confirmation message + - Logout or reboot is required for changes to take effect + + Requirements + ------------ + - macOS operating system + - No special privileges required (runs as current user) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MA -lastPushedChecksum: "sha256:6a32e8ee9e2fd422" -lastPushedMetaChecksum: "sha256:920cbbac4768c8df" \ No newline at end of file +lastPushedChecksum: sha256:6a32e8ee9e2fd422 +lastPushedMetaChecksum: sha256:920cbbac4768c8df diff --git a/scripts/duplicati_backup_status.level.yaml b/scripts/duplicati_backup_status.level.yaml index 71c3aff..8bd2c8f 100644 --- a/scripts/duplicati_backup_status.level.yaml +++ b/scripts/duplicati_backup_status.level.yaml @@ -1,8 +1,30 @@ name: duplicati_backup_status.ps1 +description: Monitors Duplicati backup jobs via local API and reports status shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Monitors Duplicati backup jobs via the local API. Authenticates to the Duplicati web service, queries configured backups, and reports their status including metrics like backup size, file count, and next scheduled run. + + Usage Notes + ----------- + - Validates input parameters + - Authenticates to Duplicati API + - Queries all configured backup jobs + - Checks status of each job (Success, Warning, Error, etc.) + - Reports metrics: size, file count, progress, next schedule + - Exits with code 1 if any job has failed + - $duplicatiPassword: set to your Duplicati Web UI password (leave empty if no password) + - $duplicatiPort: port where Duplicati runs (default 8200) + + Requirements + ------------ + - Windows OS + - Duplicati 2.0+ installed and running + - Web UI password set (or empty for no password) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MQ -lastPushedChecksum: "sha256:360e0d7aeefcb55f" -lastPushedMetaChecksum: "sha256:bb4d478828725f54" \ No newline at end of file +lastPushedChecksum: sha256:360e0d7aeefcb55f +lastPushedMetaChecksum: sha256:bb4d478828725f54 diff --git a/scripts/edge_chrome_default_user_set.level.yaml b/scripts/edge_chrome_default_user_set.level.yaml index 18af21b..9b0f2ab 100644 --- a/scripts/edge_chrome_default_user_set.level.yaml +++ b/scripts/edge_chrome_default_user_set.level.yaml @@ -1,8 +1,30 @@ name: edge_chrome_default_user_set.ps1 +description: Sets Google Chrome as default browser for current user via SetUserFTA shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Sets Google Chrome as the default browser for the current user. Uses SetUserFTA to properly set file associations with the correct UserChoice hash that Windows 10/11 requires. Must run as the logged-in user (not SYSTEM) because default browser settings are per-user and stored in HKCU with hash validation. + + Usage Notes + ----------- + - Verifies Chrome is installed + - Checks that script is NOT running as SYSTEM + - Downloads SetUserFTA if not present + - Sets Chrome as default for http, https, .htm, .html + - All options default to $true; set individual booleans to $false to skip specific associations + - $cleanUserStartup: remove Edge from user's startup programs + - SetUserFTA is hosted in the limehawk rmm-scripts repo; change URL if hosted elsewhere + + Requirements + ------------ + - PowerShell 5.1 or later + - Must run as logged-in user (NOT as SYSTEM) + - Google Chrome must be installed + - Internet access (to download SetUserFTA if needed) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mg -lastPushedChecksum: "sha256:b213f84130bd8aa5" -lastPushedMetaChecksum: "sha256:fe6a65d630f22435" \ No newline at end of file +lastPushedChecksum: sha256:b213f84130bd8aa5 +lastPushedMetaChecksum: sha256:fe6a65d630f22435 diff --git a/scripts/edge_suppress_policies_system.level.yaml b/scripts/edge_suppress_policies_system.level.yaml index 4645992..f820776 100644 --- a/scripts/edge_suppress_policies_system.level.yaml +++ b/scripts/edge_suppress_policies_system.level.yaml @@ -1,8 +1,30 @@ name: edge_suppress_policies_system.ps1 +description: Applies machine-wide policies to suppress Edge nagging behaviors shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Applies machine-wide policies to suppress Microsoft Edge nagging behaviors. Stops Edge from prompting to become default, auto-importing from other browsers, running in background, and showing promotional UI elements. Run as SYSTEM via RMM as the machine policy script. + + Usage Notes + ----------- + - Verifies admin privileges + - Creates Edge policy registry keys + - Applies 15+ registry policies to suppress Edge behaviors + - Disables EdgeUpdate scheduled tasks + - Removes Edge from startup programs + - All options default to $true (suppress everything) + - Set individual options to $false to keep specific Edge behaviors + - Covers UI prompts, features (Collections, Shopping, Sidebar, Copilot), and background behavior (startup boost, prelaunch, background mode) + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges required (runs as SYSTEM via RMM) + - Windows 10/11 with Microsoft Edge installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mw -lastPushedChecksum: "sha256:1151af7b4680d90b" -lastPushedMetaChecksum: "sha256:0d32dd123269bb61" \ No newline at end of file +lastPushedChecksum: sha256:1151af7b4680d90b +lastPushedMetaChecksum: sha256:0d32dd123269bb61 diff --git a/scripts/emsisoft_url_install.level.yaml b/scripts/emsisoft_url_install.level.yaml index 00df488..9b76c34 100644 --- a/scripts/emsisoft_url_install.level.yaml +++ b/scripts/emsisoft_url_install.level.yaml @@ -1,8 +1,39 @@ name: emsisoft_url_install.ps1 +description: Downloads and installs Emsisoft Anti-Malware from a specified URL shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs Emsisoft Anti-Malware from a specified URL. Designed for deployments where the Emsisoft installer is hosted on a web server or cloud storage and needs to be deployed to endpoints via RMM. + + Usage Notes + ----------- + - Validates inputs (URL format, download path exists) + - Extracts filename from URL + - Downloads installer from specified URL + - Verifies download completed successfully + - Executes the installer immediately after download + - Download location defaults to %TEMP% directory + - Downloaded installer is NOT deleted after execution + - No installation flags are passed (interactive install) + - $installerUrl: full URL to Emsisoft installer executable + - $downloadPath: local directory to download installer to (default: $env:TEMP) + + Requirements + ------------ + - Windows PowerShell 5.1 or PowerShell 7+ + - Internet connectivity to download URL + - Administrator privileges recommended (for installation) + - Sufficient disk space for installer download + + Security + -------- + - Ensure download URL is from a trusted source only + - Downloaded file is executed immediately; validate URL before use + - Use HTTPS URLs for secure downloads groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NA -lastPushedChecksum: "sha256:192d86d6bb9b656b" -lastPushedMetaChecksum: "sha256:7c7087decdec3af1" \ No newline at end of file +lastPushedChecksum: sha256:192d86d6bb9b656b +lastPushedMetaChecksum: sha256:7c7087decdec3af1 diff --git a/scripts/eset_cleanup.level.yaml b/scripts/eset_cleanup.level.yaml index 6b9e995..9b95173 100644 --- a/scripts/eset_cleanup.level.yaml +++ b/scripts/eset_cleanup.level.yaml @@ -1,8 +1,35 @@ name: eset_cleanup.ps1 +description: Completely removes ESET antivirus remnants from Windows systems shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs a complete cleanup of ESET antivirus software from Windows systems. Removes services, processes, files, registry entries, and scheduled tasks left behind after ESET uninstallation. Useful when standard uninstall fails or leaves remnants that interfere with new AV deployment. + + Usage Notes + ----------- + - Validates Administrator privileges + - Stops and removes all ESET services (matching *ESET* pattern) + - Terminates active ESET processes (egui.exe, ekrn.exe) + - Removes ESET installation folders (Program Files, ProgramData, AppData) + - Removes ESET registry keys (HKLM and HKCU) + - Removes ESET scheduled tasks (matching *ESET* pattern) + - No inputs required; all cleanup targets are predefined + + Requirements + ------------ + - Windows PowerShell 5.1 or PowerShell 7+ + - Administrator privileges (required) + - No modules required + + Security + -------- + - Forcefully terminates processes (may lose unsaved ESET settings) + - Registry modifications are permanent + - Backup important data before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NQ -lastPushedChecksum: "sha256:be3fe66de9f75c4b" -lastPushedMetaChecksum: "sha256:af64984081b93bcb" \ No newline at end of file +lastPushedChecksum: sha256:be3fe66de9f75c4b +lastPushedMetaChecksum: sha256:af64984081b93bcb diff --git a/scripts/everything_file_search.level.yaml b/scripts/everything_file_search.level.yaml index 486715d..bd1c40a 100644 --- a/scripts/everything_file_search.level.yaml +++ b/scripts/everything_file_search.level.yaml @@ -1,8 +1,27 @@ name: everything_file_search.ps1 +description: Searches all fixed drives for files matching a pattern via NTFS MFT shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Searches all fixed NTFS drives by reading the Master File Table directly via fsutil. Much faster than Get-ChildItem because it reads the MFT sequentially instead of walking the directory tree. No third-party tools. + + Usage Notes + ----------- + - Reads NTFS MFT via fsutil usn enumdata per drive + - Filters filenames inline using wildcard match + - Resolves full paths only for matches (low memory) + - May show recently deleted files not yet overwritten in MFT + + Requirements + ------------ + - Windows 10/11 with NTFS volumes + - Administrator privileges (required for MFT access) + - PowerShell 5.1 or later + - $searchPattern: wildcard pattern (e.g., *landtrust*, *.pdf) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Ng -lastPushedChecksum: "sha256:0cd3f77917c59864" -lastPushedMetaChecksum: "sha256:17fb9475f301125e" \ No newline at end of file +lastPushedChecksum: sha256:0cd3f77917c59864 +lastPushedMetaChecksum: sha256:17fb9475f301125e diff --git a/scripts/file_secure_delete.level.yaml b/scripts/file_secure_delete.level.yaml index d638b69..5a33e07 100644 --- a/scripts/file_secure_delete.level.yaml +++ b/scripts/file_secure_delete.level.yaml @@ -1,8 +1,37 @@ name: file_secure_delete.ps1 +description: Interactive version of secure delete - prompts user for all inputs shell: POWERSHELL -runAs: SYSTEM -timeout: 60 +runAs: CURRENT_USER +timeout: 30 +readme: | + Purpose + ------- + Interactive wizard for secure file deletion using Microsoft SDelete with DoD 5220.22-M compliant overwriting. Guides users through configuration options step-by-step before performing deletion. Creates comprehensive documentation suitable for legal proceedings. + + Usage Notes + ----------- + - Step-by-step prompts for target path, operator name, case reference, and settings + - Dry run mode available to preview before actual deletion + - Generates SHA-256 and MD5 hashes of all files before deletion + - Produces comprehensive certificate of destruction (text and HTML) + - Captures system information for audit trail + - Auto-installs SDelete via winget if not present + - Shows summary of all selections for confirmation before proceeding + - Supports recursive deletion of directories + - Configurable number of overwrite passes (default: 3) + + Requirements + ------------ + - Interactive terminal (not suitable for RMM/headless execution) + - Microsoft SDelete (auto-installed via winget if enabled) + - PowerShell 5.1 or later + - Administrator rights recommended for complete metadata access + + Security + -------- + - Certificate contains file paths and hashes which may be sensitive + - Store certificates securely according to legal requirements groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Nw -lastPushedChecksum: "sha256:99d45673e39aa403" -lastPushedMetaChecksum: "sha256:0123bccdfee36c60" \ No newline at end of file +lastPushedChecksum: sha256:99d45673e39aa403 +lastPushedMetaChecksum: sha256:0123bccdfee36c60 diff --git a/scripts/file_secure_delete_certificate.level.yaml b/scripts/file_secure_delete_certificate.level.yaml index 14afd93..473d885 100644 --- a/scripts/file_secure_delete_certificate.level.yaml +++ b/scripts/file_secure_delete_certificate.level.yaml @@ -1,8 +1,39 @@ name: file_secure_delete_certificate.ps1 +description: Securely deletes files with DoD-compliant overwriting and audit trail shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Securely deletes files using Microsoft SDelete with DoD 5220.22-M compliant overwriting, generating comprehensive documentation suitable for legal proceedings. Creates a detailed certificate of destruction with file hashes, metadata, system information, and timestamped audit trail. + + Usage Notes + ----------- + - Configure $targetPath, $outputDirectory, and $operatorName before running + - Set $dryRun to $true to test without actual deletion + - Generates unique session ID for audit trail + - Captures complete system information (hardware, OS, user, network) + - Calculates SHA-256 and MD5 hashes for each file (dual hash for verification) + - Records file attributes, timestamps, size, and NTFS alternate data streams + - Verifies each file no longer exists post-deletion + - Supports recursive deletion with the $recursive setting + - Optional HTML certificate generation via $generateHtml + - Configurable overwrite passes via $overwritePasses (default: 3) + - Optional $caseReference, $witnessName, and $notes fields for legal documentation + + Requirements + ------------ + - Windows 10/11 or Windows Server + - PowerShell 5.1 or later + - Administrator privileges recommended for complete metadata access + - Microsoft SDelete (auto-installed via winget if $autoInstallSDelete is enabled) + + Security + -------- + - Certificate contains file paths and hashes which may be sensitive + - Store certificates securely according to legal requirements groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OA -lastPushedChecksum: "sha256:a041287d0a535364" -lastPushedMetaChecksum: "sha256:d41e1e527ada9c40" \ No newline at end of file +lastPushedChecksum: sha256:a041287d0a535364 +lastPushedMetaChecksum: sha256:d41e1e527ada9c40 diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index c6ab64b..b764ce8 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -1,8 +1,31 @@ name: files_rename_snake_case.ps1 +description: Recursively renames files and folders to snake_case format shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Recursively renames all files and folders in a directory to snake_case format. Converts spaces, hyphens, and other non-alphanumeric characters to underscores and lowercases all characters. + + Usage Notes + ----------- + - Set target directory via SuperOps runtime variable $YourTargetPathHere + - Converts to lowercase, replaces non-alphanumeric characters with underscores + - Trims leading/trailing underscores from names + - Processes child items first (bottom-up) to avoid path issues + - Skips items already in snake_case format + - Reports each rename operation and final counts + - WARNING: Cannot be undone -- backup important directories first + + Requirements + ------------ + - Windows 10/11 + - Write permissions to target directory + - PowerShell 5.1+ +variables: +- name: YourTargetPathHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ -lastPushedChecksum: "sha256:1667beeb231b76e8" -lastPushedMetaChecksum: "sha256:a33af910f402d56e" \ No newline at end of file +lastPushedChecksum: sha256:1667beeb231b76e8 +lastPushedMetaChecksum: sha256:a33af910f402d56e diff --git a/scripts/foxit_pdf_editor_plus_install.level.yaml b/scripts/foxit_pdf_editor_plus_install.level.yaml index f640495..f1a55fc 100644 --- a/scripts/foxit_pdf_editor_plus_install.level.yaml +++ b/scripts/foxit_pdf_editor_plus_install.level.yaml @@ -1,8 +1,28 @@ name: foxit_pdf_editor_plus_install.ps1 +description: Installs Foxit PDF Editor from Microsoft Store via winget shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs Foxit PDF Editor from Microsoft Store source via winget. The MS Store version validates licenses server-side, supporting all Foxit subscription types including PDF Editor+, Suite Pro Teams, and other subscription SKUs. + + Usage Notes + ----------- + - Verifies winget is available + - Installs Foxit PDF Editor from Microsoft Store source (package ID: XPDNZD76FP5JR7) + - Silent install with automatic agreement acceptance + - Uses msstore source for proper subscription license validation + - User must sign into Foxit account post-install to activate license + - No inputs required; package ID is hardcoded + + Requirements + ------------ + - Windows 10/11 with winget installed + - Administrator/SYSTEM privileges + - Internet connectivity to Microsoft Store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MA -lastPushedChecksum: "sha256:46dc5587c5f2c2bf" -lastPushedMetaChecksum: "sha256:3efe9782e758d831" \ No newline at end of file +lastPushedChecksum: sha256:46dc5587c5f2c2bf +lastPushedMetaChecksum: sha256:3efe9782e758d831 diff --git a/scripts/gcpw_cleanup.level.yaml b/scripts/gcpw_cleanup.level.yaml index 99e0ead..9957374 100644 --- a/scripts/gcpw_cleanup.level.yaml +++ b/scripts/gcpw_cleanup.level.yaml @@ -1,8 +1,27 @@ name: gcpw_cleanup.ps1 +description: Removes GCPW registry keys and folders for clean reinstallation shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Removes Google Credential Provider for Windows (GCPW) registry keys and folders to allow for a clean reinstallation or complete removal. + + Usage Notes + ----------- + - Deletes GCPW-related registry keys + - Deletes Chrome enrollment registry keys + - Removes GCPW policy and credential folders + - Reports results for each operation + - No inputs required + - Does NOT uninstall GCPW itself (use Programs and Features for that) + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MQ -lastPushedChecksum: "sha256:ac2a1fbb15510a20" -lastPushedMetaChecksum: "sha256:581039248e95e965" \ No newline at end of file +lastPushedChecksum: sha256:ac2a1fbb15510a20 +lastPushedMetaChecksum: sha256:581039248e95e965 diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index 3eca4e3..10f1019 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -1,8 +1,38 @@ name: gcpw_install.ps1 +description: Downloads, installs, and configures Google Credential Provider for Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads, installs, and configures Google Credential Provider for Windows (GCPW). Sets allowed domains and enrollment token in the system registry. + + Usage Notes + ----------- + - Validates administrative privileges + - Downloads GCPW installer (32-bit or 64-bit based on OS) + - Installs GCPW silently + - Configures allowed domains in registry + - Configures enrollment token in registry + - $YourDomainsHere: comma-separated list of allowed Google Workspace domains (SuperOps runtime variable) + - $YourEnrollmentTokenHere: GCPW enrollment token from Google Admin Console (SuperOps runtime variable) + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - Internet access + - Valid Google Workspace enrollment token + + Security + -------- + - Enrollment token should be kept confidential + - Only listed domains will be allowed to login +variables: +- name: YourDomainsHere +- name: YourEnrollmentTokenHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg -lastPushedChecksum: "sha256:6a01156dccfaf3c8" -lastPushedMetaChecksum: "sha256:ca88ab36d1e69165" \ No newline at end of file +lastPushedChecksum: sha256:6a01156dccfaf3c8 +lastPushedMetaChecksum: sha256:ca88ab36d1e69165 diff --git a/scripts/google_update_trigger.level.yaml b/scripts/google_update_trigger.level.yaml index 76e9084..d628073 100644 --- a/scripts/google_update_trigger.level.yaml +++ b/scripts/google_update_trigger.level.yaml @@ -1,8 +1,25 @@ name: google_update_trigger.ps1 +description: Triggers Google Update scheduled task to check for Chrome updates shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Triggers the Google Update scheduled task to force an immediate check for Chrome and other Google product updates. + + Usage Notes + ----------- + - Searches for scheduled tasks matching "GoogleUpdateTaskMachineUA" + - Starts matching tasks and reports status + - No inputs required; task name pattern is hardcoded + + Requirements + ------------ + - Windows 10/11 + - Google Chrome or other Google products installed + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mw -lastPushedChecksum: "sha256:4646ca9e91cf3598" -lastPushedMetaChecksum: "sha256:5ed2105bea021ba7" \ No newline at end of file +lastPushedChecksum: sha256:4646ca9e91cf3598 +lastPushedMetaChecksum: sha256:5ed2105bea021ba7 diff --git a/scripts/hardware_report.level.yaml b/scripts/hardware_report.level.yaml index c21d705..6f3209c 100644 --- a/scripts/hardware_report.level.yaml +++ b/scripts/hardware_report.level.yaml @@ -1,8 +1,32 @@ name: hardware_report.ps1 +description: Generates comprehensive hardware inventory report via CIM queries shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Generates a comprehensive hardware inventory report for the local machine. Collects system information, CPU, memory, storage, GPU, network adapters, and BIOS details. Designed for unattended execution in RMM environments to gather standardized hardware data for asset management and documentation. + + Usage Notes + ----------- + - Collects hardware information from local system via CIM queries + - All sections are optional and can be disabled via hardcoded inputs + - Missing or unavailable hardware components are reported as "N/A" + - Output formatted as Key : Value pairs for RMM parsing + - Sizes reported in GB with 2 decimal precision + - $IncludeStorage: include storage device information (default $true) + - $IncludeGpu: include GPU information (default $true) + - $IncludeNetwork: include network adapter information (default $true) + - $IncludeBios: include BIOS information (default $true) + - $IncludeMemoryModules: include individual RAM module details (default $true) + + Requirements + ------------ + - PowerShell 5.1 or later + - Windows operating system with CIM/WMI support + - No special permissions required (runs in user context) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NA -lastPushedChecksum: "sha256:de8ba9756cb4a9ce" -lastPushedMetaChecksum: "sha256:8957a65b1dbb70ed" \ No newline at end of file +lastPushedChecksum: sha256:de8ba9756cb4a9ce +lastPushedMetaChecksum: sha256:8957a65b1dbb70ed diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index 37ae3af..d0f36ff 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -1,8 +1,44 @@ name: huntress_install_macos.sh +description: Installs Huntress Agent on macOS endpoints shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the Huntress Agent on macOS systems. Huntress provides managed detection and response (MDR) services. This script handles the download, validation, and installation of the agent with proper logging. + + Usage Notes + ----------- + - Validates root privileges + - Validates account key format (32-character hex) + - Downloads Huntress installer from API + - Validates downloaded script before execution + - Executes installer with provided keys + - RMM name reported as "Superops.ai" for deployment tracking + - Log file written to /tmp/HuntressInstaller.log + - System extension defaults to false (requires MDM pre-configuration) + - ACCOUNT_KEY: your Huntress account secret key (32-char hex, SuperOps runtime variable) + - ORG_KEY: organization key for agent affiliation (SuperOps runtime variable) + - INSTALL_SYSTEM_EXTENSION: set to true if MDM is pre-configured (SuperOps runtime variable) + + Requirements + ------------ + - macOS operating system + - Root/sudo privileges + - Network connectivity to huntress.io + - Valid Huntress account key and organization key + - For system extension: MDM pre-configuration required + + Security + -------- + - Account key is masked in logs (shows first/last 4 chars only) + - Installer downloaded over HTTPS +variables: +- name: ACCOUNT_KEY +- name: ORG_KEY +- name: INSTALL_SYSTEM_EXTENSION groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ -lastPushedChecksum: "sha256:910ea6231cde662c" -lastPushedMetaChecksum: "sha256:340818797dfe9216" \ No newline at end of file +lastPushedChecksum: sha256:910ea6231cde662c +lastPushedMetaChecksum: sha256:340818797dfe9216 diff --git a/scripts/ipconfig_release_renew.level.yaml b/scripts/ipconfig_release_renew.level.yaml index 3dcf689..8f8d25d 100644 --- a/scripts/ipconfig_release_renew.level.yaml +++ b/scripts/ipconfig_release_renew.level.yaml @@ -1,8 +1,32 @@ name: ipconfig_release_renew.ps1 +description: Releases and renews IP addresses on DHCP-enabled adapters shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Releases and renews IP addresses on all DHCP-enabled network adapters, and flushes the DNS cache. Useful for resolving network connectivity issues caused by stale DHCP leases or DNS cache problems. + + Usage Notes + ----------- + - Queries all network adapters for DHCP-enabled interfaces + - For each DHCP adapter: releases IP, then renews IP + - Flushes DNS cache if enabled + - Reports results for each adapter + - Targets only DHCP-enabled adapters; static IP adapters are skipped + - $FlushDns: whether to flush DNS cache after renewal (default $true) + + Requirements + ------------ + - Windows OS with network adapters + - DHCP-enabled network adapters + - Admin privileges recommended for DNS flush + + Security + -------- + - Temporarily disconnects network during release/renew groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Ng -lastPushedChecksum: "sha256:aee4d4bf40d78b00" -lastPushedMetaChecksum: "sha256:debc28ca152ba18e" \ No newline at end of file +lastPushedChecksum: sha256:aee4d4bf40d78b00 +lastPushedMetaChecksum: sha256:debc28ca152ba18e diff --git a/scripts/limehawk_admin_profile_branding.level.yaml b/scripts/limehawk_admin_profile_branding.level.yaml index fc42b84..283edd6 100644 --- a/scripts/limehawk_admin_profile_branding.level.yaml +++ b/scripts/limehawk_admin_profile_branding.level.yaml @@ -1,8 +1,29 @@ name: limehawk_admin_profile_branding.ps1 +description: Creates and manages MSP admin accounts with SuperOps password sync shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Standardized Limehawk MSP automation that renames the built-in Administrator (SID *-500) to "hawkadmin" and disables it, creates or updates the "limehawk" MSP admin account for daily use, generates strong passwords for both accounts and pushes them to SuperOps custom fields, cleans up old MSP accounts (m5sadmin, tlitlocal, clientadmin), and applies account pictures and wallpaper branding. + + Usage Notes + ----------- + - Built-in admin identified by SID *-500, not by name + - If limehawk account exists, password is reset (safe for existing clients) + - Account picture and wallpaper operations are best-effort (no-throw) + - Requires SuperOps module with Send-CustomField cmdlet + - Configure account names, custom field mappings, branding asset paths, and password length via hardcoded settings + - Password length defaults to 16 characters + + Requirements + ------------ + - PowerShell 5.1+ + - Run as local Administrator (elevated) + - SuperOps module available ($SuperOpsModule) + - SuperOps custom fields: "Built-in Admin Password", "MSP Admin Password" groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Nw -lastPushedChecksum: "sha256:cc11c5cfa54f13ae" -lastPushedMetaChecksum: "sha256:2fb7aa965824a1d7" \ No newline at end of file +lastPushedChecksum: sha256:cc11c5cfa54f13ae +lastPushedMetaChecksum: sha256:2fb7aa965824a1d7 diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 0dab105..3738ab8 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -1,8 +1,35 @@ name: local_user_admin_create.ps1 +description: Creates local administrator account with secure random password shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Creates or updates a local administrator account with a cryptographically secure random password. If the account exists, resets the password. If not, creates the account and adds it to the Administrators group. + + Usage Notes + ----------- + - Generates cryptographically secure random password (16 characters) + - Checks if user account exists + - If exists: resets password; if not: creates account and adds to Administrators group + - Password output to console for RMM custom field capture + - Password includes uppercase, lowercase, numbers, and special characters + - $NewAdminUsername: username for the local admin account (SuperOps runtime variable) + + Requirements + ------------ + - Windows 10/11 + - Admin privileges required + - PowerShell 5.1+ + + Security + -------- + - Password generated using RNGCryptoServiceProvider + - Consider storing password securely in RMM custom fields +variables: +- name: NewAdminUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA -lastPushedChecksum: "sha256:b00a562a4847602e" -lastPushedMetaChecksum: "sha256:c26853472629463a" \ No newline at end of file +lastPushedChecksum: sha256:b00a562a4847602e +lastPushedMetaChecksum: sha256:c26853472629463a diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index 3e7a5d9..c829056 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -1,8 +1,39 @@ name: local_user_admin_setup.ps1 +description: Creates a new local administrator account for employee onboarding shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Creates a new local administrator account intended for employee onboarding. The account is created with a blank password and configured to force a password change at first interactive logon. The account is visible on the Windows login screen so the new employee can select it and set their own password immediately. + + Usage Notes + ----------- + - Account is created with a blank password by design + - Password change is forced at first logon via net user /logonpasswordchg:yes + - Fails if the account already exists (setup only, not reset) + - Account is added to the local Administrators group + - $NewAdminUsername: account username (SuperOps runtime variable) + - $NewAdminFullName: display name shown on login screen (SuperOps runtime variable) + + Requirements + ------------ + - Windows 10/11 + - Admin privileges required (runs as SYSTEM via RMM) + - PowerShell 5.1+ + - LocalAccounts module (built-in on Windows 10/11) + + Security + -------- + - Blank password is intentional for onboarding workflow + - Windows policy restricts blank password logon to the physical console only + - Network logon with blank password is blocked by default + - Employee must set a password at first interactive logon +variables: +- name: NewAdminUsername +- name: NewAdminFullName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ -lastPushedChecksum: "sha256:5b01541855959832" -lastPushedMetaChecksum: "sha256:710d963e302a88e4" \ No newline at end of file +lastPushedChecksum: sha256:5b01541855959832 +lastPushedMetaChecksum: sha256:710d963e302a88e4 diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 149902c..58e4f19 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -1,8 +1,31 @@ name: local_user_admin_toggle.ps1 +description: Adds or removes a local user from the Administrators group shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Adds or removes a local user from the Administrators group. Idempotent operation that ensures the user's group membership aligns with the requested action. + + Usage Notes + ----------- + - Validates user exists before operation + - Checks current membership status + - Adds or removes from Administrators group + - Reports final status + - Operates on the built-in Administrators group + - $TargetUsername: the local user account to manage (SuperOps runtime variable) + - $Action: set to "add" or "remove" (hardcoded setting) + + Requirements + ------------ + - Windows 10/11 + - Admin privileges required + - Target user must exist locally +variables: +- name: TargetUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA -lastPushedChecksum: "sha256:d8f47d2d007aaf4c" -lastPushedMetaChecksum: "sha256:994e1fa3fdc37dbb" \ No newline at end of file +lastPushedChecksum: sha256:d8f47d2d007aaf4c +lastPushedMetaChecksum: sha256:994e1fa3fdc37dbb diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index 1ca23fb..00640e1 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -1,8 +1,36 @@ name: local_user_create.ps1 +description: Creates local user account with optional administrator privileges shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Creates a new local user account with specified username and password. Optionally adds the user to the Administrators group. + + Usage Notes + ----------- + - Validates inputs before creating the account + - Creates a standard local user account + - Optionally adds the user to the Administrators group + - Reports final status with user details + + Requirements + ------------ + - Windows 10/11 + - Admin privileges required + - PowerShell 5.1+ + - Username provided via SuperOps $NewUsername variable + - Password provided via SuperOps $NewPassword variable + - AddToAdmin set to "Yes" or "No" (default: "No") + + Security + -------- + - Password visible in script -- use RMM variables for production +variables: +- name: NewUsername +- name: NewPassword groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ -lastPushedChecksum: "sha256:67aa5c484662ae59" -lastPushedMetaChecksum: "sha256:4b3b9d350d20211a" \ No newline at end of file +lastPushedChecksum: sha256:67aa5c484662ae59 +lastPushedMetaChecksum: sha256:4b3b9d350d20211a diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index 1668263..5a44326 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -1,8 +1,35 @@ name: local_user_delete.ps1 +description: Deletes local user account and associated profile directory shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes a local user account and its associated profile directory. Completely removes the user from the system including their files. + + Usage Notes + ----------- + - Set to "listusers" mode to list all local users without deleting + - Validates that the target user exists before proceeding + - Removes user profile via CIM, falls back to direct filesystem removal + - Removes the local user account after profile cleanup + - Reports final status + + Requirements + ------------ + - Windows 10/11 + - Admin privileges required + - PowerShell 5.1+ + - Username provided via SuperOps $UsernameToDelete variable + + Security + -------- + - Destructive operation -- data cannot be recovered + - Backup important data before running +variables: +- name: UsernameToDelete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg -lastPushedChecksum: "sha256:16d8ccc7f3be11d4" -lastPushedMetaChecksum: "sha256:9fa507b2e4462cfb" \ No newline at end of file +lastPushedChecksum: sha256:16d8ccc7f3be11d4 +lastPushedMetaChecksum: sha256:9fa507b2e4462cfb diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index aad437d..c8e1619 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -1,8 +1,31 @@ name: local_user_disable.ps1 +description: Disables a local user account without deleting profile data shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Disables a local user account so it cannot be used to log in. The user profile and all data are preserved on disk. Use this for offboarding when data retention is required. + + Usage Notes + ----------- + - Validates username input + - Checks user exists and current enabled status + - Disables the local user account + - Logs off any active sessions for that user + - Preserves user profile and all files + - Account can be re-enabled with Enable-LocalUser + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - PowerShell 5.1+ + - $UsernameToDisable: local username to disable (SuperOps runtime variable) +variables: +- name: UsernameToDisable groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw -lastPushedChecksum: "sha256:0f2f743bc9b235f6" -lastPushedMetaChecksum: "sha256:6490af4ace127f5d" \ No newline at end of file +lastPushedChecksum: sha256:0f2f743bc9b235f6 +lastPushedMetaChecksum: sha256:6490af4ace127f5d diff --git a/scripts/macos_auto_updates_enable.level.yaml b/scripts/macos_auto_updates_enable.level.yaml index 5753ff0..35f1f17 100644 --- a/scripts/macos_auto_updates_enable.level.yaml +++ b/scripts/macos_auto_updates_enable.level.yaml @@ -1,8 +1,25 @@ name: macos_auto_updates_enable.sh +description: Enables all automatic update settings on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Enables all automatic update settings on macOS including automatic checking, downloading, and installation of macOS updates, App Store updates, and security/critical updates. Ensures systems stay patched and secure. + + Usage Notes + ----------- + - Verifies root/sudo privileges before making changes + - Enables AutomaticCheckEnabled, AutomaticDownload, AutoUpdate + - Enables ConfigDataInstall, CriticalUpdateInstall, AutomaticallyInstallMacOSUpdates + - Verifies all settings were applied after enabling + + Requirements + ------------ + - macOS 10.14 or later + - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NA -lastPushedChecksum: "sha256:25ead792bd41f224" -lastPushedMetaChecksum: "sha256:035e124b9744fe83" \ No newline at end of file +lastPushedChecksum: sha256:25ead792bd41f224 +lastPushedMetaChecksum: sha256:035e124b9744fe83 diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index 07c1127..654b4f1 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -1,8 +1,36 @@ name: maintenance_reboot.ps1 +description: System reboot with graceful or force mode for maintenance shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs system reboot when uptime exceeds threshold or reboot flags are detected. Supports graceful mode (default) for servers/workstations with active users, which warns users and skips reboot if critical apps are running, and force mode for after-hours maintenance windows with immediate reboot. + + Usage Notes + ----------- + - Calculates current uptime from last boot time + - Checks Windows registry for reboot-pending flags (CBS, WU, PendingFileRename) + - Graceful mode: configurable warning delay ($WarningMinutes, default 5) + - Graceful mode: skips reboot if critical apps running (QuickBooks, SQL, etc.) + - Force mode: immediate forced reboot, no user warning + - If neither uptime nor flags trigger, no action taken + - $GracefulReboot default: true + - $DefaultMaxUptimeDays default: 7 + + Requirements + ------------ + - PowerShell 5.1+ + - Local Administrator rights + + Security + -------- + - Force mode will not prompt users -- use for empty machines only +variables: +- name: graceful_true_or_false +- name: maxuptimedays groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ -lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" -lastPushedMetaChecksum: "sha256:214fb32bb86f3bcc" \ No newline at end of file +lastPushedChecksum: sha256:7f7bd5e13d21a1a0 +lastPushedMetaChecksum: sha256:214fb32bb86f3bcc diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index cd9c17c..9d8420e 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -1,8 +1,32 @@ name: mrt_scan.ps1 +description: Executes Windows Malicious Software Removal Tool with configurable scan mode shell: POWERSHELL runAs: SYSTEM timeout: 60 +readme: | + Purpose + ------- + Executes the built-in Windows Malicious Software Removal Tool (MRT.exe) with configurable scan mode. Designed for RMM deployment via SuperOps, allowing administrators to trigger Quick or Full silent scans on target endpoints. Displays scan status and log preview upon completion. + + Usage Notes + ----------- + - Validates administrative privileges before scanning + - Validates scan mode is Quick or Full + - Executes MRT with /Q for Quick or /F /Q for Full + - Waits for scan completion (minutes to hours depending on mode) + - Displays last 50 lines of MRT log file for review + - RMM variable injection configures $ScanMode at runtime + + Requirements + ------------ + - Windows OS with MRT.exe (included by default) + - Administrator privileges + - PowerShell 5.1+ + - SuperOps module available via $SuperOpsModule variable + - $ScanMode set to Quick or Full (case-insensitive) +variables: +- name: QuickOrFull groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng -lastPushedChecksum: "sha256:869633f2768cf87a" -lastPushedMetaChecksum: "sha256:f63fe826aa0235d2" \ No newline at end of file +lastPushedChecksum: sha256:869633f2768cf87a +lastPushedMetaChecksum: sha256:f63fe826aa0235d2 diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index a63e0ba..7e59cb6 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -1,8 +1,30 @@ name: msi_url_install.ps1 +description: Downloads and silently installs an MSI package from a specified URL shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and silently installs an MSI package from the URL specified in the MSIURL runtime variable. The file is saved to the temporary directory and cleaned up after installation completes. + + Usage Notes + ----------- + - Uses curl for fast, reliable downloads with redirect support + - Extracts filename from URL, falls back to downloaded_package.msi + - Runs msiexec with /qn (quiet, no UI) and /norestart flags + - Cleans up the temporary MSI file after installation + - Exit code 3010 indicates success but reboot required + + Requirements + ------------ + - PowerShell 5.1+ + - Admin rights + - Network connectivity + - $MsiScriptUrl set to the full URL of the MSI file (via SuperOps $MSIURL) +variables: +- name: MSIURL groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw -lastPushedChecksum: "sha256:11645faa554f4b42" -lastPushedMetaChecksum: "sha256:197a024abb12f1c5" \ No newline at end of file +lastPushedChecksum: sha256:11645faa554f4b42 +lastPushedMetaChecksum: sha256:197a024abb12f1c5 diff --git a/scripts/network_dhcp_set_macos.level.yaml b/scripts/network_dhcp_set_macos.level.yaml index 7940fb9..ca828f7 100644 --- a/scripts/network_dhcp_set_macos.level.yaml +++ b/scripts/network_dhcp_set_macos.level.yaml @@ -1,8 +1,28 @@ name: network_dhcp_set_macos.sh +description: Configures macOS network interface to use DHCP for automatic IP shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Configures a macOS network interface to use DHCP for automatic IP addressing. Toggles the network service off and on to ensure the new DHCP settings take effect immediately. + + Usage Notes + ----------- + - Detects primary network interface automatically, falls back to en0 + - Edit INTERFACE variable to target a specific interface (en0, en1, etc.) + - Disables the network service, sets DHCP, then re-enables the service + - Verifies DHCP configuration after applying + - TOGGLE_DELAY controls wait time between off/on (default: 2 seconds) + - Temporarily disrupts network connectivity during toggle + + Requirements + ------------ + - Root/sudo access required + - macOS 10.14 or later + - networksetup command available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OA -lastPushedChecksum: "sha256:0aedf22695283c5f" -lastPushedMetaChecksum: "sha256:0d4f2a9d71945341" \ No newline at end of file +lastPushedChecksum: sha256:0aedf22695283c5f +lastPushedMetaChecksum: sha256:0d4f2a9d71945341 diff --git a/scripts/network_scan.level.yaml b/scripts/network_scan.level.yaml index 3f95b30..3106502 100644 --- a/scripts/network_scan.level.yaml +++ b/scripts/network_scan.level.yaml @@ -1,8 +1,28 @@ name: network_scan.ps1 +description: Scans IP address range using multi-threaded ping to discover active hosts shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Scans a range of IP addresses using multi-threaded ping requests to discover active hosts on the network. Optionally resolves hostnames via DNS. + + Usage Notes + ----------- + - Edit $startIP and $endIP variables to set scan range + - Validates IP address range before scanning + - Creates runspace pool for parallel execution + - Set $disableDNS to true to skip hostname resolution (faster) + - Adjust $threads variable to control concurrency (default: 32) + - $pingAttempts controls number of ping attempts per IP (default: 1) + - Results sorted by IP address with hostname if DNS enabled + + Requirements + ------------ + - Windows PowerShell 5.1 or later + - Network access to target IP range groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OQ -lastPushedChecksum: "sha256:a9fb4a959015c576" -lastPushedMetaChecksum: "sha256:9627aa094342241a" \ No newline at end of file +lastPushedChecksum: sha256:a9fb4a959015c576 +lastPushedMetaChecksum: sha256:9627aa094342241a diff --git a/scripts/network_service_refresh_macos.level.yaml b/scripts/network_service_refresh_macos.level.yaml index f2871e8..c85a079 100644 --- a/scripts/network_service_refresh_macos.level.yaml +++ b/scripts/network_service_refresh_macos.level.yaml @@ -1,8 +1,28 @@ name: network_service_refresh_macos.sh +description: Refreshes all macOS network services by toggling them off and on shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Refreshes all network services on macOS by toggling them off and on. Preserves the original enabled/disabled state of each service. Useful for resolving DHCP lease issues, DNS problems, or general network connectivity problems without requiring a full system restart. + + Usage Notes + ----------- + - Lists all network services and processes each one + - Records initial enabled/disabled state before toggling + - Disables each service, waits briefly, then re-enables + - Restores original state if a service was previously disabled + - TOGGLE_DELAY controls wait time between off/on (default: 2 seconds) + - Temporarily disrupts network connectivity during refresh + + Requirements + ------------ + - Root/sudo access required + - macOS 10.14 or later + - networksetup command available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MA -lastPushedChecksum: "sha256:5c518394b55357ae" -lastPushedMetaChecksum: "sha256:7c95b07322a8922c" \ No newline at end of file +lastPushedChecksum: sha256:5c518394b55357ae +lastPushedMetaChecksum: sha256:7c95b07322a8922c diff --git a/scripts/ninjaone_uninstall.level.yaml b/scripts/ninjaone_uninstall.level.yaml index 776aa1a..8fc18c3 100644 --- a/scripts/ninjaone_uninstall.level.yaml +++ b/scripts/ninjaone_uninstall.level.yaml @@ -1,8 +1,29 @@ name: ninjaone_uninstall.ps1 +description: Completely removes NinjaOne RMM agent and Ninja Remote from Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Completely removes NinjaOne RMM agent and Ninja Remote from a Windows system. Includes disabling uninstall prevention, removing services, cleaning up registry entries, and removing the virtual display driver. + + Usage Notes + ----------- + - Auto-detects NinjaOne installation path from registry + - Disables uninstall prevention before running MSI uninstaller + - Stops and removes NinjaRMMAgent, nmsmanager, and lockhart services + - Kills running processes after service removal + - Removes installation directories and data directories + - Cleans up registry entries in HKLM + - Removes Ninja Remote components and virtual display driver + - Creates transcript log in Windows\temp for review + + Requirements + ------------ + - Windows OS + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MQ -lastPushedChecksum: "sha256:c5cf794d589cf8bc" -lastPushedMetaChecksum: "sha256:a35cc2f208441104" \ No newline at end of file +lastPushedChecksum: sha256:c5cf794d589cf8bc +lastPushedMetaChecksum: sha256:a35cc2f208441104 diff --git a/scripts/nircmd_resolution_set.level.yaml b/scripts/nircmd_resolution_set.level.yaml index debf452..6cfee3f 100644 --- a/scripts/nircmd_resolution_set.level.yaml +++ b/scripts/nircmd_resolution_set.level.yaml @@ -1,8 +1,28 @@ name: nircmd_resolution_set.ps1 +description: Changes display resolution using NirSoft NirCmd utility shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Changes the display resolution using NirSoft's NirCmd utility. Downloads NirCmd if not already present, then sets the specified resolution. + + Usage Notes + ----------- + - Creates destination directory if it does not exist + - Downloads NirCmd (x86 version for compatibility) from official NirSoft website + - Extracts NirCmd from zip archive + - Sets display resolution to specified values and cleans up zip file + - Edit $resolutionWidth, $resolutionHeight, and $colorDepth variables + - $destinationFolder default: C:\limehawk\nircmd + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Internet access for NirCmd download + - Display must support the requested resolution groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mg -lastPushedChecksum: "sha256:144f3fde5574868a" -lastPushedMetaChecksum: "sha256:afa4779d28f44bd5" \ No newline at end of file +lastPushedChecksum: sha256:144f3fde5574868a +lastPushedMetaChecksum: sha256:afa4779d28f44bd5 diff --git a/scripts/nircmd_screenshot.level.yaml b/scripts/nircmd_screenshot.level.yaml index 57467f8..4721772 100644 --- a/scripts/nircmd_screenshot.level.yaml +++ b/scripts/nircmd_screenshot.level.yaml @@ -1,8 +1,29 @@ name: nircmd_screenshot.ps1 +description: Captures screenshot using NirSoft NirCmd utility shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Captures a screenshot of the current display using NirSoft's NirCmd utility. Downloads NirCmd if not already present, then saves a timestamped screenshot. + + Usage Notes + ----------- + - Creates destination directories if they do not exist + - Downloads correct NirCmd version (x64 or x86) based on OS architecture + - Extracts NirCmd from zip archive + - Captures screenshot with timestamped filename + - Cleans up temporary zip file after extraction + - $destinationFolder default: C:\limehawk\nirsoft + - $screenshotFolder default: C:\limehawk\nirsoft\screenshots + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Internet access for NirCmd download (official NirSoft website) + - Write permissions to destination folder groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mw -lastPushedChecksum: "sha256:1796923bd56b59bc" -lastPushedMetaChecksum: "sha256:9fb9093589e0bdda" \ No newline at end of file +lastPushedChecksum: sha256:1796923bd56b59bc +lastPushedMetaChecksum: sha256:9fb9093589e0bdda diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index ffdfbd0..ef91133 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -1,8 +1,32 @@ name: nirsoft_uninstall_view.ps1 +description: Uses NirSoft UninstallView to uninstall software matching patterns shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads NirSoft UninstallView utility and uses it to uninstall software matching a specified pattern using wildcard matching. + + Usage Notes + ----------- + - Set the SuperOps runtime variable $YourAppPatternHere to the application name or pattern to uninstall + - Supports wildcards (e.g., Adobe*, *Chrome*, etc.) + - Determines system architecture and downloads appropriate 32/64-bit version + - Extracts to limehawk\nirsoft directory + - Runs uninstall command with wildcard matching + - Cleans up downloaded zip file after extraction + - Check manually after execution to confirm uninstallation + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Internet connectivity (downloads from official NirSoft website) + - $YourAppPatternHere: application name or pattern to uninstall (SuperOps runtime variable) +variables: +- name: YourAppPatternHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA -lastPushedChecksum: "sha256:87cabcfd5f2ac46f" -lastPushedMetaChecksum: "sha256:0afc0a4c2d40fd91" \ No newline at end of file +lastPushedChecksum: sha256:87cabcfd5f2ac46f +lastPushedMetaChecksum: sha256:0afc0a4c2d40fd91 diff --git a/scripts/nvram_reset_reboot_macos.level.yaml b/scripts/nvram_reset_reboot_macos.level.yaml index 202505f..1cf7ab4 100644 --- a/scripts/nvram_reset_reboot_macos.level.yaml +++ b/scripts/nvram_reset_reboot_macos.level.yaml @@ -1,8 +1,32 @@ name: nvram_reset_reboot_macos.sh +description: Resets NVRAM and schedules immediate macOS reboot shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Schedules an NVRAM reset on the next reboot and immediately reboots the Mac. NVRAM (Non-Volatile Random-Access Memory) stores system settings that macOS accesses quickly, including startup disk selection, display resolution, speaker volume, time zone information, and recent kernel panic information. Useful for troubleshooting boot issues, display problems, audio issues, startup disk not found errors, and time/date problems. + + Usage Notes + ----------- + - Detects Mac architecture (Intel vs Apple Silicon) + - Displays current NVRAM values before reset + - Sets NVRAM variable to trigger reset on next boot + - Immediately reboots the system after setting reset flag + - User data is not affected (only system settings reset) + + Requirements + ------------ + - Root/sudo access required + - macOS 10.14 or later + - Intel-based Mac (Apple Silicon uses different reset method) + + Security + -------- + - Runs with elevated privileges (sudo required) + - Will immediately reboot the system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NQ -lastPushedChecksum: "sha256:706557f66e04e540" -lastPushedMetaChecksum: "sha256:735f6934a01f0c1e" \ No newline at end of file +lastPushedChecksum: sha256:706557f66e04e540 +lastPushedMetaChecksum: sha256:735f6934a01f0c1e diff --git a/scripts/onedrive_reenable.level.yaml b/scripts/onedrive_reenable.level.yaml index f209a07..13cfc49 100644 --- a/scripts/onedrive_reenable.level.yaml +++ b/scripts/onedrive_reenable.level.yaml @@ -1,8 +1,30 @@ name: onedrive_reenable.ps1 +description: Removes OneDrive blocking policies and reinstalls OneDrive shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Reverses the registry policies set by onedrive_remove_complete.ps1 and reinstalls OneDrive. Use this when a machine needs to switch back to Microsoft services. + + Usage Notes + ----------- + - Validates administrative privileges + - Removes HKLM GPO DisableFileSyncNGSC policy + - Removes Explorer DisableOneDriveFileSync policy + - Optionally cleans Default User profile policies + - Downloads and installs OneDrive from Microsoft CDN + - $installOneDrive: download and install OneDrive (default: true) + - $cleanDefaultProfile: also clean Default User profile (default: true) + - OneDrive download URL: https://go.microsoft.com/fwlink/?linkid=844652 + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges + - Network connectivity to Microsoft CDN (for installation) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Ng -lastPushedChecksum: "sha256:640ca7ab752253cc" -lastPushedMetaChecksum: "sha256:3ac0b751a37c0e4a" \ No newline at end of file +lastPushedChecksum: sha256:640ca7ab752253cc +lastPushedMetaChecksum: sha256:3ac0b751a37c0e4a diff --git a/scripts/onedrive_remove_complete.level.yaml b/scripts/onedrive_remove_complete.level.yaml index 8963bc0..26efb25 100644 --- a/scripts/onedrive_remove_complete.level.yaml +++ b/scripts/onedrive_remove_complete.level.yaml @@ -1,8 +1,31 @@ name: onedrive_remove_complete.ps1 +description: Completely removes Microsoft OneDrive with startup suppression shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs a complete, multi-path uninstallation of Microsoft OneDrive with permanent startup suppression. Stops running processes, executes the official Microsoft uninstall utility against all known install paths (system and Office), removes scheduled tasks, and applies registry policies to prevent reinstallation. + + Usage Notes + ----------- + - Stops all running OneDrive processes + - Executes OneDriveSetup.exe /uninstall for each found path (System32, SysWOW64, Office x86, Office x64) + - Removes all OneDrive scheduled tasks + - Sets HKLM GPO DisableFileSyncNGSC=1 to prevent startup for all users + - Removes HKCU Run key OneDrive entry + - Sets Explorer policy to hide OneDrive from navigation pane + - Cleans Default User profile to prevent OneDrive on new accounts + - $cleanDefaultProfile controls Default User cleanup (default: true) + - Reboot recommended for full cleanup + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges + - No network requirements (local operations only) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Nw -lastPushedChecksum: "sha256:e1f4ee52cb2ad974" -lastPushedMetaChecksum: "sha256:58a800e021ecdbb5" \ No newline at end of file +lastPushedChecksum: sha256:e1f4ee52cb2ad974 +lastPushedMetaChecksum: sha256:58a800e021ecdbb5 diff --git a/scripts/onestart_remove_complete.level.yaml b/scripts/onestart_remove_complete.level.yaml index 443275e..3a5492a 100644 --- a/scripts/onestart_remove_complete.level.yaml +++ b/scripts/onestart_remove_complete.level.yaml @@ -1,8 +1,35 @@ name: onestart_remove_complete.ps1 +description: Completely removes OneStart.ai PUP from Windows systems shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Completely removes OneStart.ai browser/PUP from Windows systems. First attempts a clean uninstall via NirSoft UninstallView, then performs manual cleanup of any remaining processes, files, registry keys, and scheduled tasks. + + Usage Notes + ----------- + - Downloads NirSoft UninstallView (architecture-appropriate) + - Attempts silent uninstall of OneStart via UninstallView + - Terminates any running OneStart/DBar processes + - Removes scheduled tasks matching OneStart patterns + - Removes leftover files and folders from AppData, ProgramData, Program Files + - Backs up registry keys to SystemDrive\limehawk\registry_backup before removal + - Cleans up registry keys in HKCU and HKLM + - $appName default: OneStart + + Requirements + ------------ + - Windows PowerShell 5.1+ + - Administrative privileges required + - Internet access for UninstallView download + + Security + -------- + - Only removes OneStart-related items using known paths and patterns + - Registry keys are backed up before removal for recovery if needed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OA -lastPushedChecksum: "sha256:a672ec29a7dc6a4b" -lastPushedMetaChecksum: "sha256:c837a107f39ba3f8" \ No newline at end of file +lastPushedChecksum: sha256:a672ec29a7dc6a4b +lastPushedMetaChecksum: sha256:c837a107f39ba3f8 diff --git a/scripts/onlyoffice_install.level.yaml b/scripts/onlyoffice_install.level.yaml index b7bc2c4..8ae46a4 100644 --- a/scripts/onlyoffice_install.level.yaml +++ b/scripts/onlyoffice_install.level.yaml @@ -1,8 +1,27 @@ name: onlyoffice_install.ps1 +description: Downloads and silently installs OnlyOffice Desktop Editors shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and silently installs OnlyOffice Desktop Editors, a free office suite compatible with Microsoft Office formats. + + Usage Notes + ----------- + - Validates input parameters before proceeding + - Downloads OnlyOffice MSI installer to temp directory + - Installs silently using msiexec + - Cleans up installer file after completion + - $downloadUrl points to official OnlyOffice website + + Requirements + ------------ + - Windows OS (64-bit) + - Administrator privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OQ -lastPushedChecksum: "sha256:85daf10183a79aef" -lastPushedMetaChecksum: "sha256:5e0bdd51b39500d8" \ No newline at end of file +lastPushedChecksum: sha256:85daf10183a79aef +lastPushedMetaChecksum: sha256:5e0bdd51b39500d8 diff --git a/scripts/openssh_server_remove.level.yaml b/scripts/openssh_server_remove.level.yaml index 5408bbd..f8c5900 100644 --- a/scripts/openssh_server_remove.level.yaml +++ b/scripts/openssh_server_remove.level.yaml @@ -1,8 +1,33 @@ name: openssh_server_remove.ps1 +description: Removes OpenSSH Server, firewall rule, and cleans up config shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Stops and removes the OpenSSH Server from Windows. Removes the firewall rule, uninstalls the Windows capability, and optionally cleans up the sshd configuration directory. + + Usage Notes + ----------- + - Stops the sshd and ssh-agent services + - Removes the Windows Firewall rule OpenSSH-Server-In-TCP + - Removes the default shell registry key + - Uninstalls the OpenSSH.Server Windows capability + - Removes sshd config directory if configured (default: true) + - $RemoveConfig controls whether to delete C:\ProgramData\ssh (default: true) + - $RemoveHostKeys controls whether to delete host keys with config (default: true) + + Requirements + ------------ + - Windows Server 2019+ or Windows 10 1809+ + - Administrator privileges + + Security + -------- + - Host keys are deleted by default to prevent reuse + - Config removal ensures no stale authorized_keys remain groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMA -lastPushedChecksum: "sha256:71f9a649c4db3f9b" -lastPushedMetaChecksum: "sha256:900e1ba807cbcc8c" \ No newline at end of file +lastPushedChecksum: sha256:71f9a649c4db3f9b +lastPushedMetaChecksum: sha256:900e1ba807cbcc8c diff --git a/scripts/openssh_server_setup.level.yaml b/scripts/openssh_server_setup.level.yaml index e97bea7..2ff752f 100644 --- a/scripts/openssh_server_setup.level.yaml +++ b/scripts/openssh_server_setup.level.yaml @@ -1,8 +1,40 @@ name: openssh_server_setup.ps1 +description: Installs and configures OpenSSH Server on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Installs the OpenSSH Server Windows capability, configures the sshd service for automatic startup, enables public key authentication, and opens the Windows Firewall for SSH traffic on port 22. + + Usage Notes + ----------- + - Checks if OpenSSH Server is already installed before proceeding + - Configures sshd_config for key auth and restricted access + - Default shell set to PowerShell for SSH sessions + - Access restricted to Administrators group via AllowGroups in sshd_config + - Configures sshd service for Automatic (Delayed Start) + - Opens Windows Firewall for SSH traffic on configured port + - Verifies SSH is listening on the configured port after start + - $SshPort default: 22 + - $DefaultShell default: PowerShell + - $AllowedUsersGroup default: Administrators + - Password authentication: enabled + - Public key authentication: enabled + + Requirements + ------------ + - Windows Server 2019+ or Windows 10 1809+ + - Administrator privileges + - Internet access if OpenSSH capability not already present + + Security + -------- + - Access restricted to Administrators group by default + - Public key authentication enabled for passwordless access + - Password authentication left enabled for initial setup convenience groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMQ -lastPushedChecksum: "sha256:c182f7aae76eb7a9" -lastPushedMetaChecksum: "sha256:17819875107cbdfb" \ No newline at end of file +lastPushedChecksum: sha256:c182f7aae76eb7a9 +lastPushedMetaChecksum: sha256:17819875107cbdfb diff --git a/scripts/outlook_link_handling_fix.level.yaml b/scripts/outlook_link_handling_fix.level.yaml index fe9a240..c428e5e 100644 --- a/scripts/outlook_link_handling_fix.level.yaml +++ b/scripts/outlook_link_handling_fix.level.yaml @@ -1,8 +1,27 @@ name: outlook_link_handling_fix.ps1 +description: Configures Outlook to open hyperlinks in the default browser shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Fixes an issue where clicking shared file links (OneDrive, SharePoint) in Outlook incorrectly launches Outlook Classic instead of opening in the default web browser. Sets the documented Office link handling registry values to use the system default browser. + + Usage Notes + ----------- + - Checks if the Office Links registry path exists and creates it if missing + - Sets BrowserChoice to 1 (Default Browser) + - Sets DecisionComplete to 1 (locks in the preference) + - Restart Outlook after running for changes to take effect + - $registryPath: HKCU:\Software\Microsoft\Office\16.0\Common\Links + + Requirements + ------------ + - PowerShell 5.1 or later + - No administrator privileges required (HKCU is user-writable) + - Microsoft Office 2016 or later (Office 16.0) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMg -lastPushedChecksum: "sha256:bfcb50c6b844cef4" -lastPushedMetaChecksum: "sha256:79061dc158cf2c00" \ No newline at end of file +lastPushedChecksum: sha256:bfcb50c6b844cef4 +lastPushedMetaChecksum: sha256:79061dc158cf2c00 diff --git a/scripts/outlook_new_force_migrate.level.yaml b/scripts/outlook_new_force_migrate.level.yaml index 71f0c2b..f6e24d9 100644 --- a/scripts/outlook_new_force_migrate.level.yaml +++ b/scripts/outlook_new_force_migrate.level.yaml @@ -1,8 +1,30 @@ name: outlook_new_force_migrate.ps1 +description: Forces migration to New Outlook and hides toggle to prevent revert to Classic shell: POWERSHELL runAs: SYSTEM timeout: 60 +readme: | + Purpose + ------- + Forces all user profiles on a machine to migrate to New Outlook and prevents them from switching back to Classic Outlook. Applies per-user registry keys across all loaded and unloaded user hives (runs as SYSTEM via RMM), and sets machine-wide HKLM policies to enforce New Outlook as the default mail client. + + Usage Notes + ----------- + - Enumerates all user profiles from the registry ProfileList + - Temporarily loads unloaded ntuser.dat hives to apply per-user keys + - Sets DoNewOutlookAutoMigration, UseNewOutlook, and HideNewOutlookToggle per user + - Applies machine-wide HKLM policies (NewOutlookMigrationComplete, UseNewOutlook, OneWinNativeOutlookEnabled) + - Unloads any hives that were temporarily loaded + - All four options default to $true (full lockdown to New Outlook) + - Set individual options to $false to keep specific behaviors + - Users will not be able to revert to Classic Outlook without admin intervention + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges required (runs as SYSTEM via RMM) + - Windows 10/11 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMw -lastPushedChecksum: "sha256:e983e27a747703ea" -lastPushedMetaChecksum: "sha256:91cb9d28d4f70525" \ No newline at end of file +lastPushedChecksum: sha256:e983e27a747703ea +lastPushedMetaChecksum: sha256:91cb9d28d4f70525 diff --git a/scripts/outlook_new_remove.level.yaml b/scripts/outlook_new_remove.level.yaml index e34e21c..45ff540 100644 --- a/scripts/outlook_new_remove.level.yaml +++ b/scripts/outlook_new_remove.level.yaml @@ -1,8 +1,27 @@ name: outlook_new_remove.ps1 +description: Removes the New Outlook (Microsoft.OutlookForWindows) app from all user profiles and prevents reinstallation shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Removes the "New Outlook" (Microsoft.OutlookForWindows) Appx package from all user profiles on a Windows machine and prevents it from being reprovisioned. Used when organizations want to keep users on Classic Outlook and prevent the new Outlook from appearing via Windows Update or new user provisioning. + + Usage Notes + ----------- + - Checks if Microsoft.OutlookForWindows is installed via Get-AppxPackage + - Removes the package from all user profiles with Remove-AppxPackage -AllUsers + - Removes the provisioned package so new user profiles do not get it + - Deletes the OutlookUpdate registry key under UScheduler to prevent re-provisioning via Windows Update + - No configurable inputs required - targets Microsoft.OutlookForWindows specifically + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges + - No network requirements (local operations only) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNA -lastPushedChecksum: "sha256:b2ff05e51e2d5e97" -lastPushedMetaChecksum: "sha256:27df834824275479" \ No newline at end of file +lastPushedChecksum: sha256:b2ff05e51e2d5e97 +lastPushedMetaChecksum: sha256:27df834824275479 diff --git a/scripts/outlook_new_restore.level.yaml b/scripts/outlook_new_restore.level.yaml index 01e5db8..c30fe0a 100644 --- a/scripts/outlook_new_restore.level.yaml +++ b/scripts/outlook_new_restore.level.yaml @@ -1,8 +1,28 @@ name: outlook_new_restore.ps1 +description: Reinstalls the New Outlook app and re-enables the Try the new Outlook toggle shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Reverses the remove_new_outlook.ps1 script by reinstalling the New Outlook (Microsoft.OutlookForWindows) app and re-enabling the "Try the new Outlook" toggle in Classic Outlook. Used when an organization wants to roll back the removal and allow users to access New Outlook again. + + Usage Notes + ----------- + - Resolves winget path with SYSTEM context awareness for RMM compatibility + - Installs Microsoft.OutlookForWindows via winget with silent and accept flags + - Falls back to Add-AppxPackage with Microsoft Store URI if winget is unavailable + - Recreates the OutlookUpdate registry key under UScheduler so Windows Update can provision the app again + - Removes the HideNewOutlookToggle registry value from loaded user hives to re-enable the toggle in Classic Outlook + - No configurable inputs required - targets Microsoft.OutlookForWindows specifically + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges + - winget recommended (falls back to Store URI if unavailable) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNQ -lastPushedChecksum: "sha256:45a3649ff7a97649" -lastPushedMetaChecksum: "sha256:e070c53a7ac78405" \ No newline at end of file +lastPushedChecksum: sha256:45a3649ff7a97649 +lastPushedMetaChecksum: sha256:e070c53a7ac78405 diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index fe350cb..51e68b2 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -1,8 +1,33 @@ name: password_files_search.ps1 +description: Searches user profiles for password and credential files shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Scans all user profiles on a Windows machine for files that may contain passwords or credentials. Useful for security audits to identify exposed sensitive data in common user directories. + + Usage Notes + ----------- + - Enumerates all user profiles in C:\Users (excludes Public, Default) + - Searches Desktop, Documents, Downloads, Pictures, and cloud folders (OneDrive, Dropbox, Google Drive, Box) + - Patterns include: *password*, *credential*, *creds*, *logins*, etc. + - Critical patterns flagged separately: 1Password Emergency Kit, KeePass, BitWarden backup, seed phrase, private keys + - Uses Windows Search Index if available, falls back to filesystem search + - Max search depth: 10 levels + - Optional Google Chat webhook alert via $GoogleChatWebhook variable (sent only when files found) + - Read-only operation -- does not modify or delete files + - File contents are NOT read, only metadata reported (path, size, modified date) + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges (to access other user profiles) + - SuperOps runtime variable: GoogleChatWebhook (optional) +variables: +- name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg -lastPushedChecksum: "sha256:74b41d5efc2d9aad" -lastPushedMetaChecksum: "sha256:188d802d9b0cc223" \ No newline at end of file +lastPushedChecksum: sha256:74b41d5efc2d9aad +lastPushedMetaChecksum: sha256:188d802d9b0cc223 diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index 3a8cdc8..85c08c4 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -1,8 +1,39 @@ name: password_files_tickets_search.ps1 +description: Searches for password files and creates SuperOps tickets shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Scans all user profiles on a Windows machine for files that may contain passwords or credentials. Creates a SuperOps ticket assigned to the requester associated with the asset when findings are detected. + + Usage Notes + ----------- + - Enumerates all user profiles in C:\Users (excludes Public, Default) + - Searches Desktop, Documents, Downloads, Pictures, and cloud folders + - Patterns include: *password*, *credential*, *creds*, *logins*, etc. + - Separates critical findings from regular findings + - Critical findings trigger HIGH priority tickets; regular findings get Medium priority + - Looks up asset in SuperOps by hostname and assigns ticket to asset's requester + - Optional Google Chat webhook alert in addition to ticket creation + - Read-only file operation -- does not modify or delete files + - File contents are NOT read, only metadata reported + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges (to access other user profiles) + - SuperOps API key with ticket creation permissions ($SuperOpsApiKey runtime variable) + - Optional: GoogleChatWebhook runtime variable for webhook alerts + + Security + -------- + - API key should be stored securely in SuperOps variables +variables: +- name: SuperOpsApiKey +- name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw -lastPushedChecksum: "sha256:e3aaedff2a6342a9" -lastPushedMetaChecksum: "sha256:728175b6f9dbb426" \ No newline at end of file +lastPushedChecksum: sha256:e3aaedff2a6342a9 +lastPushedMetaChecksum: sha256:728175b6f9dbb426 diff --git a/scripts/potplayer_install.level.yaml b/scripts/potplayer_install.level.yaml index f5eed44..4668029 100644 --- a/scripts/potplayer_install.level.yaml +++ b/scripts/potplayer_install.level.yaml @@ -1,8 +1,28 @@ name: potplayer_install.ps1 +description: Downloads and silently installs PotPlayer media player shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and silently installs PotPlayer media player. Automatically selects the correct version (32-bit or 64-bit) based on system architecture. + + Usage Notes + ----------- + - Fetches PotPlayer website to find download links + - Selects appropriate version based on OS architecture + - Downloads installer to temp directory + - Installs silently using /S switch + - Cleans up installer file after completion + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Internet connectivity + - $baseUrl: Base URL for PotPlayer website to scrape download links groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOA -lastPushedChecksum: "sha256:7533ac610d424652" -lastPushedMetaChecksum: "sha256:07aba7081c21593d" \ No newline at end of file +lastPushedChecksum: sha256:7533ac610d424652 +lastPushedMetaChecksum: sha256:07aba7081c21593d diff --git a/scripts/power_plans_default_add.level.yaml b/scripts/power_plans_default_add.level.yaml index 9b61c6e..337da0f 100644 --- a/scripts/power_plans_default_add.level.yaml +++ b/scripts/power_plans_default_add.level.yaml @@ -1,8 +1,28 @@ name: power_plans_default_add.ps1 +description: Restores missing default Windows power plans shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Adds the four standard Windows power plans (High Performance, Ultimate Performance, Power Saver, and Balanced) by duplicating them from their default GUIDs. Useful for restoring missing power plans on systems where they have been removed or are unavailable. + + Usage Notes + ----------- + - Duplicates High Performance power plan + - Duplicates Ultimate Performance power plan (Win10 1803+) + - Duplicates Power Saver power plan + - Duplicates Balanced power plan + - Reports success/failure for each plan + - Skips plans that already exist + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges + - powercfg.exe available (standard Windows component) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOQ -lastPushedChecksum: "sha256:3bb8c3a5422e2db1" -lastPushedMetaChecksum: "sha256:e1ae7ff1a07d1198" \ No newline at end of file +lastPushedChecksum: sha256:3bb8c3a5422e2db1 +lastPushedMetaChecksum: sha256:e1ae7ff1a07d1198 diff --git a/scripts/power_profile_always_on_set.level.yaml b/scripts/power_profile_always_on_set.level.yaml index 8726e83..d9759c5 100644 --- a/scripts/power_profile_always_on_set.level.yaml +++ b/scripts/power_profile_always_on_set.level.yaml @@ -1,8 +1,31 @@ name: power_profile_always_on_set.ps1 +description: Creates custom always-on power plan for workstations shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Creates a custom "Always On - Limehawk" power plan optimized for workstations that should never sleep while on AC power. If the plan already exists, it will be reused and reconfigured. The plan is based on High Performance settings. + + Usage Notes + ----------- + - Creates or reuses custom power plan based on High Performance + - Sets the custom plan as the active power plan + - Configures display, disk, standby, and hibernate timeouts for AC and DC power + - Disables hibernation on desktops (no battery) + - Default settings: Display 30min AC, Sleep never AC, Hibernate never AC + - Windows 11: Custom plans work but are hidden in Settings app + - To verify: Run control powercfg.cpl or powercfg /getactivescheme + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges + - High Performance power plan must exist + - $customPlanName: Name of the custom power plan + - Timeout variables: $displayTimeoutAC/DC, $diskTimeoutAC/DC, $standbyTimeoutAC/DC, $hibernateTimeoutAC/DC groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMA -lastPushedChecksum: "sha256:27bd0adef334e036" -lastPushedMetaChecksum: "sha256:fde306b7b6c6b0be" \ No newline at end of file +lastPushedChecksum: sha256:27bd0adef334e036 +lastPushedMetaChecksum: sha256:fde306b7b6c6b0be diff --git a/scripts/power_profile_set_macos.level.yaml b/scripts/power_profile_set_macos.level.yaml index 2bf8d86..18c10bd 100644 --- a/scripts/power_profile_set_macos.level.yaml +++ b/scripts/power_profile_set_macos.level.yaml @@ -1,8 +1,26 @@ name: power_profile_set_macos.sh +description: Configures always-on power settings for macOS systems shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Configures an "always-on" power profile for macOS laptops and desktops. Sets display sleep, disk sleep, system sleep, and hibernation settings based on whether the device has a battery (laptop vs desktop). + + Usage Notes + ----------- + - Auto-detects battery presence to identify laptop vs desktop + - Desktop (no battery): Display 30min, Disk 60min, System Sleep never, Hibernation disabled + - Laptop (with battery): Display 30min AC / 10min DC, Disk 60min AC / 30min DC, System Sleep 20min DC, Hibernation enabled + - Configures all settings via pmset + + Requirements + ------------ + - macOS 10.12 or later + - Root/sudo privileges + - pmset utility (standard macOS component) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMQ -lastPushedChecksum: "sha256:6f8c56d312326c36" -lastPushedMetaChecksum: "sha256:e49365d74164d55b" \ No newline at end of file +lastPushedChecksum: sha256:6f8c56d312326c36 +lastPushedMetaChecksum: sha256:e49365d74164d55b diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 64490a7..5390175 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -1,8 +1,38 @@ name: prinstall_add.ps1 +description: Installs a network or USB printer using prinstall 0.3.0+ shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Installs a printer on Windows using prinstall 0.3.0+. Network mode walks the full four-tier driver resolution pipeline (local store -> manufacturer download -> Microsoft Update Catalog HWID match -> IPP Class Driver fallback) automatically. USB mode swaps the driver on an existing PnP-created queue via Set-Printer. + + Usage Notes + ----------- + - Set $usbMode to $true for USB printers (driver swap on existing queue) + - Network mode: set $YourPrinterIpHere + - USB mode: set $YourUsbQueueNameHere to the existing queue name (e.g. "Brother MFC-L2750DW") + - Driver name optional via $YourDriverNameHere (auto-detects if not set) + - Display name optional via $YourPrinterNameHere (uses model name if not set) + - Requires prinstall.exe installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - Administrator privileges + - prinstall.exe 0.3.0 or newer installed + - Network access to printer IP (network mode only) + - $YourPrinterIpHere: Printer IP address (network mode) + - $YourUsbQueueNameHere: Existing USB queue name (USB mode) + - $YourDriverNameHere: (optional) Specific driver name + - $YourPrinterNameHere: (optional) Display name for the printer +variables: +- name: YourPrinterIpHere +- name: YourUsbQueueNameHere +- name: YourDriverNameHere +- name: YourPrinterNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg -lastPushedChecksum: "sha256:14ba5595155d0539" -lastPushedMetaChecksum: "sha256:162472ae27f79c20" \ No newline at end of file +lastPushedChecksum: sha256:14ba5595155d0539 +lastPushedMetaChecksum: sha256:162472ae27f79c20 diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index ce28e3f..9b5e3f8 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -1,8 +1,32 @@ name: prinstall_driver_add.ps1 +description: Stages a driver into the Windows driver store using prinstall 0.4.12+ shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Stages a print driver on Windows using prinstall 0.4.12+ without creating a printer queue. Target auto-detects as either a filesystem path (INF or folder) or a model string ("HP LaserJet 1320"). Model-string targets download the manufacturer pack from prinstall's embedded manifest and stage it. + + Usage Notes + ----------- + - Set $YourDriverTargetHere to a path OR a model string + - For model strings with multiple matches, set $YourDriverNameHere to pick one explicitly (ignored for path targets) + - Leave $noVerify $false unless a vendor pack ships without .cat signatures + - Requires prinstall.exe 0.4.12+ installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - Administrator privileges + - prinstall.exe 0.4.12 or newer installed + - Internet connectivity (model-string targets only) + - $YourDriverTargetHere: Path or model string + - $YourDriverNameHere: (optional) Explicit driver pick for model targets +variables: +- name: YourDriverTargetHere +- name: YourDriverNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw -lastPushedChecksum: "sha256:a65408cecc70eaf4" -lastPushedMetaChecksum: "sha256:11ee28649ed652fe" \ No newline at end of file +lastPushedChecksum: sha256:a65408cecc70eaf4 +lastPushedMetaChecksum: sha256:11ee28649ed652fe diff --git a/scripts/prinstall_driver_list.level.yaml b/scripts/prinstall_driver_list.level.yaml index c89e7fb..85eb5e3 100644 --- a/scripts/prinstall_driver_list.level.yaml +++ b/scripts/prinstall_driver_list.level.yaml @@ -1,8 +1,24 @@ name: prinstall_driver_list.ps1 +description: Lists drivers in the Windows driver store using prinstall 0.4.13+ shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Enumerates every driver in the Windows driver store via prinstall 0.4.13+. Useful for RMM audits and for discovering the exact driver name to feed into `prinstall_driver_remove.ps1`. Date column populates from Get-PrinterDriver's DriverDate field, with an INF DriverVer fallback for drivers Windows doesn't report a date for directly. + + Usage Notes + ----------- + - Default output is a pretty table; set $asJson $true for a parseable JSON payload + - Read-only — no admin privileges required + - Requires prinstall.exe 0.4.13+ installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - prinstall.exe 0.4.13 or newer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNA -lastPushedChecksum: "sha256:feaf37e6d0aa7773" -lastPushedMetaChecksum: "sha256:b24b8e54eda74952" \ No newline at end of file +lastPushedChecksum: sha256:feaf37e6d0aa7773 +lastPushedMetaChecksum: sha256:b24b8e54eda74952 diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index e7a1e7d..1a2dd38 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -1,8 +1,29 @@ name: prinstall_driver_remove.ps1 +description: Removes a driver from the Windows driver store using prinstall 0.4.13+ shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Removes a print driver from the Windows driver store using prinstall 0.4.13+. Target is either an exact driver name or a fuzzy/model string that resolves to one staged driver. If the driver is in use by any printer queue, refuses unless $force = $true (cascade — removes dependent queues first). + + Usage Notes + ----------- + - Set $YourDriverTargetHere to the driver name from `prinstall driver list` or a fuzzy string + - Leave $force $false by default — only set to $true when you explicitly want to destroy dependent queues + - Windows system drivers (Microsoft IPP Class Driver, etc.) cannot be removed + - Requires prinstall.exe 0.4.13+ installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - Administrator privileges + - prinstall.exe 0.4.13 or newer installed + - $YourDriverTargetHere: Exact driver name OR fuzzy/model string +variables: +- name: YourDriverTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ -lastPushedChecksum: "sha256:2807dd15e3ce2e70" -lastPushedMetaChecksum: "sha256:b8d947dc1db38418" \ No newline at end of file +lastPushedChecksum: sha256:2807dd15e3ce2e70 +lastPushedMetaChecksum: sha256:b8d947dc1db38418 diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index ee26019..9e9ef02 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -1,8 +1,33 @@ name: prinstall_drivers.ps1 +description: Previews matched and universal drivers for a network printer shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 2 +readme: | + Purpose + ------- + Wraps `prinstall drivers ` to identify a printer by IP and show the matched + universal driver candidates the installer would pick from. Lets a technician preview driver selection before committing to a `prinstall add` install. Supports SNMP-based model discovery and an optional manual model override for printers that don't respond to SNMP. + + Usage Notes + ----------- + - Invokes `prinstall drivers ` and streams output to the RMM console + - Leave $YourModelHere blank to let prinstall auto-detect the model via SNMP + - Set $YourModelHere to a known model string to bypass SNMP for silent printers + - Read-only: this command previews drivers only, it does NOT install anything + - Requires prinstall.exe installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - prinstall.exe installed (run prinstall_setup.ps1 first) + - Network access to the printer's IP + - UDP 161 (SNMP) reachable OR a known model string passed via $YourModelHere + - $YourIpHere: IPv4 address of the target printer (required) + - $YourModelHere: Optional model override — leave blank for SNMP auto-detect +variables: +- name: YourIpHere +- name: YourModelHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg -lastPushedChecksum: "sha256:460ee74ac32197ed" -lastPushedMetaChecksum: "sha256:dcd670c6969ab58c" \ No newline at end of file +lastPushedChecksum: sha256:460ee74ac32197ed +lastPushedMetaChecksum: sha256:dcd670c6969ab58c diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index f10a523..43c6932 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -1,8 +1,30 @@ name: prinstall_id.ps1 +description: Identifies a single printer by IP via SNMP using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 2 +readme: | + Purpose + ------- + Wraps the `prinstall id ` subcommand to query a single printer via SNMP and return model, serial number, and device status. Used by techs to verify a printer's identity and reachability before running an add, or to confirm SNMP is answering on an expected IP. + + Usage Notes + ----------- + - Runs `prinstall id ` and streams output to the console + - $YourIpHere is required — an unreplaced placeholder is treated as an input error + - Unlike prinstall_scan, this script does not auto-detect anything; the target IP must be supplied + - Requires prinstall.exe installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - prinstall.exe installed (run prinstall_setup.ps1 first) + - Network access to the target printer + - UDP 161 (SNMP) open to the printer + - $YourIpHere: Target printer IP address (e.g. 192.168.1.10) +variables: +- name: YourIpHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw -lastPushedChecksum: "sha256:6b982f78a98d4882" -lastPushedMetaChecksum: "sha256:29e2e50289ee129a" \ No newline at end of file +lastPushedChecksum: sha256:6b982f78a98d4882 +lastPushedMetaChecksum: sha256:29e2e50289ee129a diff --git a/scripts/prinstall_list.level.yaml b/scripts/prinstall_list.level.yaml index 94e5032..96a15d5 100644 --- a/scripts/prinstall_list.level.yaml +++ b/scripts/prinstall_list.level.yaml @@ -1,8 +1,24 @@ name: prinstall_list.ps1 +description: Lists installed printers on the system using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Lists all locally installed printers (USB, network, virtual) using prinstall's list command. Useful for auditing printer installations via RMM or verifying a printer was added successfully. + + Usage Notes + ----------- + - Enumerates all printers Windows knows about via Get-Printer + - No runtime variables required + - Requires prinstall.exe installed (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - prinstall.exe installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOA -lastPushedChecksum: "sha256:d8c62d94975b0077" -lastPushedMetaChecksum: "sha256:d4e45f28a7e235d4" \ No newline at end of file +lastPushedChecksum: sha256:d8c62d94975b0077 +lastPushedMetaChecksum: sha256:d4e45f28a7e235d4 diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index 545de24..fbd4509 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -1,8 +1,35 @@ name: prinstall_remove.ps1 +description: Removes a printer and its orphaned driver/port using prinstall 0.3.0+ shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Removes a printer on Windows using prinstall 0.3.0+. Three-step cleanup with + orphan detection: queue -> driver (with -RemoveFromDriverStore to take the + underlying oem.inf package with it) -> port. System drivers and non-IP + ports are automatically skipped. Idempotent — removing a non-existent + printer returns success. + + Usage Notes + ----------- + - Target can be an IP address or the exact printer queue name + - IP targets are resolved to queue names via the IP_ port convention + - Set $keepDriver to $true to skip driver cleanup (leave driver staged) + - Set $keepPort to $true to skip port cleanup (leave port registered) + - Settle sleep + retry loop smooths over Windows spooler reference lag + - Requires prinstall.exe 0.3.0 or newer (run prinstall_setup.ps1 first) + + Requirements + ------------ + - Windows OS + - Administrator privileges + - prinstall.exe 0.3.0 or newer installed + - $YourPrinterTargetHere: Printer IP (e.g. "192.168.1.50") or exact queue name +variables: +- name: YourPrinterTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ -lastPushedChecksum: "sha256:d68a04864344e349" -lastPushedMetaChecksum: "sha256:a65531c4c9a5913d" \ No newline at end of file +lastPushedChecksum: sha256:d68a04864344e349 +lastPushedMetaChecksum: sha256:a65531c4c9a5913d diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index e5e6bab..287b33c 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -1,8 +1,33 @@ name: prinstall_scan.ps1 +description: Scans a subnet for network printers using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Scans a subnet for network printers using prinstall 0.3.1's full multi-method discovery pipeline: TCP port probe (9100/631/515), IPP Get-Printer-Attributes, SNMPv2c, and mDNS/Bonjour multicast browse. Catches even silent AirPrint printers that ignore SNMP. Returns printer IPs, models, discovery method(s), and status. + + Usage Notes + ----------- + - Uses `prinstall scan [subnet] --verbose` with the default `all` method (port + IPP + SNMP + mDNS merged) + - Leave $YourSubnetHere blank to auto-detect the local subnet from the primary NIC + - Requires prinstall.exe installed (run prinstall_setup.ps1 first) + - prinstall_setup.ps1 pre-creates a firewall rule so the mDNS pass works under SYSTEM execution + + Requirements + ------------ + - Windows OS + - prinstall.exe installed (run prinstall_setup.ps1 first) + - Network access to target subnet + - UDP 161 (SNMP), TCP 9100 (raw), TCP 631 (IPP) open to target + - UDP 5353 (mDNS) allowed on the NIC — created by prinstall_setup.ps1 + - $YourSubnetHere: Subnet in CIDR notation (e.g. 192.168.1.0/24) or blank for auto-detect + - $ScanModeAllNetworkUsb: 'all' / 'network' / 'usb' — blank defaults to 'all' (full network + USB scan). 'usb' ignores $YourSubnetHere. +variables: +- name: YourSubnetHere +- name: ScanModeAllNetworkUsb groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA -lastPushedChecksum: "sha256:97d57bd6f9b1475b" -lastPushedMetaChecksum: "sha256:b3716797c9a57993" \ No newline at end of file +lastPushedChecksum: sha256:97d57bd6f9b1475b +lastPushedMetaChecksum: sha256:b3716797c9a57993 diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 9c00db7..9529e23 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -1,8 +1,29 @@ name: prinstall_setup.ps1 +description: Installs or uninstalls prinstall from GitHub releases shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 10 +readme: | + Purpose + ------- + Installs or uninstalls prinstall. Install mode downloads the latest release from GitHub, extracts the binary to C:\ProgramData\prinstall\, pre-creates a Windows Firewall rule for mDNS discovery (UDP 5353), and adds the install directory to the machine PATH so techs can run `prinstall scan` (etc.) without the full path. Uninstall mode reverses all three — removes the directory, the firewall rule, and the PATH entry. Prinstall is a CLI/TUI tool for discovering network printers, matching drivers, and installing them on Windows. + + Usage Notes + ----------- + - Set InstallOrUninstall to 'install' or 'uninstall' + - Install: queries GitHub Releases API for latest version, downloads and extracts, adds firewall rule + PATH entry + - Uninstall: removes install directory, firewall rule, and PATH entry + - Verifies binary by running prinstall --version after install + - PATH changes apply immediately to new shells; the current session is patched in-memory too so follow-up commands in the same RMM run work without a reboot + + Requirements + ------------ + - Windows OS + - Administrator privileges (required to modify machine PATH and firewall rules) + - Internet connectivity to github.com (install only) +variables: +- name: InstallOrUninstall groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ -lastPushedChecksum: "sha256:91001c70808f9cc5" -lastPushedMetaChecksum: "sha256:3cfeae82845db7f4" \ No newline at end of file +lastPushedChecksum: sha256:91001c70808f9cc5 +lastPushedMetaChecksum: sha256:3cfeae82845db7f4 diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index b7d4956..1d72480 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -1,8 +1,36 @@ name: prinstall_trust_codesign.ps1 +description: Imports the Prinstall self-signed code signing cert into LocalMachine trust stores shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Pushes the Prinstall self-signed code signing public cert (prinstall-codesign.cer, + bundled alongside this script) into Cert:\LocalMachine\Root and + Cert:\LocalMachine\TrustedPublisher on managed endpoints. After this runs, + signed prinstall.exe release binaries (v0.4.10+) pass Smart App Control + without requiring a publicly-trusted commercial code signing cert. + Idempotent — checks thumbprint before importing, safe to re-run. + + Usage Notes + ----------- + - Deploy once per endpoint, typically as part of agent provisioning + - Re-run is a no-op if the cert is already trusted (thumbprint match) + - CertPath runtime variable is optional — leave empty to use the .cer + bundled alongside this script + - Pair with docs/selfsign-setup.md in the prinstall repo for the full + signing flow (cert generation + GitHub Actions secret upload) + - Cert is valid 10 years; renew by regenerating and re-running this script + + Requirements + ------------ + - Windows OS + - Administrator / SYSTEM privileges (LocalMachine stores require elevation) + - prinstall-codesign.cer accessible (co-located with script, or via CertPath) +variables: +- name: CertPath groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg -lastPushedChecksum: "sha256:cb3d19fc839edbb8" -lastPushedMetaChecksum: "sha256:a5a5411f237f401c" \ No newline at end of file +lastPushedChecksum: sha256:cb3d19fc839edbb8 +lastPushedMetaChecksum: sha256:a5a5411f237f401c diff --git a/scripts/print_queue_clear.level.yaml b/scripts/print_queue_clear.level.yaml index e7e51e8..ae6233c 100644 --- a/scripts/print_queue_clear.level.yaml +++ b/scripts/print_queue_clear.level.yaml @@ -1,8 +1,29 @@ name: print_queue_clear.ps1 +description: Clears stuck print jobs by resetting Print Spooler service shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Resets and clears the Windows print queue by stopping the Print Spooler service, removing all queued print jobs from the spooler directory, and restarting the service. Resolves common printing issues caused by stuck or corrupted print jobs. + + Usage Notes + ----------- + - Checks current status of Print Spooler service + - Stops the Print Spooler service and waits for handles to release + - Removes print job files with retry logic (3 attempts per file) + - Reports successfully removed and locked files separately + - Restarts the Print Spooler service and verifies it is running + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - Print Spooler service must exist + - $serviceName: Print Spooler service name (default: "Spooler") + - $stopTimeout / $startTimeout: Service timeout in seconds (default: 30) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMw -lastPushedChecksum: "sha256:a2439d52ec6601ab" -lastPushedMetaChecksum: "sha256:9dc71ff892be23cc" \ No newline at end of file +lastPushedChecksum: sha256:a2439d52ec6601ab +lastPushedMetaChecksum: sha256:9dc71ff892be23cc diff --git a/scripts/print_queue_reset.level.yaml b/scripts/print_queue_reset.level.yaml index 6594089..0c53bf5 100644 --- a/scripts/print_queue_reset.level.yaml +++ b/scripts/print_queue_reset.level.yaml @@ -1,8 +1,30 @@ name: print_queue_reset.ps1 +description: Resets Windows print queue by clearing spooler directory shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Resets and clears the Windows print queue by stopping the Print Spooler service, removing all queued print jobs from the spooler directory, and restarting the service. Resolves common printing issues caused by stuck or corrupted print jobs that prevent new documents from printing. + + Usage Notes + ----------- + - Stops the Print Spooler service if running and waits for handles to release + - Attempts to remove print job files with retry logic (3 attempts per file) + - Reports successfully removed and locked files separately + - Locked files are removed when service restarts + - Spooler directory: %SystemRoot%\System32\spool\PRINTERS + - Service stop/start timeout: 30 seconds each + + Requirements + ------------ + - Windows operating system + - Administrator privileges + - Print Spooler service must exist + - $serviceName: Service name (default: "Spooler") + - $stopTimeout / $startTimeout: Timeout in seconds (default: 30) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNA -lastPushedChecksum: "sha256:96b72c3fc16240ef" -lastPushedMetaChecksum: "sha256:602b6d64d7c335eb" \ No newline at end of file +lastPushedChecksum: sha256:96b72c3fc16240ef +lastPushedMetaChecksum: sha256:602b6d64d7c335eb diff --git a/scripts/printer_connection_test.level.yaml b/scripts/printer_connection_test.level.yaml index 1af14ee..498f6f7 100644 --- a/scripts/printer_connection_test.level.yaml +++ b/scripts/printer_connection_test.level.yaml @@ -1,8 +1,29 @@ name: printer_connection_test.sh +description: Tests network printer connectivity via ping and IPP port check shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Tests network connectivity to configured printers by pinging their hostnames/IPs. Reports success/failure for each printer and optionally sends an email alert if any tests fail. + + Usage Notes + ----------- + - Pings each configured printer and records pass/fail status + - Performs DNS lookup for failed printers as diagnostics + - Optional email alerts via sendmail when failures occur + - Ping count: 2 packets, timeout: 5 seconds + - Email alerts disabled by default + + Requirements + ------------ + - macOS or Linux + - Network access to printer hosts + - PRINTERS: Array of printer hostnames or IP addresses + - SEND_EMAIL / MAIL_TO / MAIL_FROM: Email notification settings + - (Optional) sendmail for email alerts groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNQ -lastPushedChecksum: "sha256:80e00c348b5ea77c" -lastPushedMetaChecksum: "sha256:7b965730669e73ed" \ No newline at end of file +lastPushedChecksum: sha256:80e00c348b5ea77c +lastPushedMetaChecksum: sha256:7b965730669e73ed diff --git a/scripts/printer_install_linux.level.yaml b/scripts/printer_install_linux.level.yaml index 8e0ea9b..460e7b1 100644 --- a/scripts/printer_install_linux.level.yaml +++ b/scripts/printer_install_linux.level.yaml @@ -1,8 +1,35 @@ name: printer_install_linux.sh +description: Installs network printer via IPP using lpadmin on Linux shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs network printers on Linux using CUPS/lpadmin. Supports PPD files for driver functionality. Automatically installs CUPS and required packages if not present. + + Usage Notes + ----------- + - Detects OS and verifies Linux + - Installs CUPS if needed and enabled + - Verifies or finds PPD file in standard search paths + - Removes existing printers with same name before installing + - Installs each configured printer via lpadmin + - Enables and accepts jobs for each printer + - Default protocol: lpd + - PPD search paths: /usr/share/cups/model/, /usr/share/ppd/, /etc/cups/ppd/ + + Requirements + ------------ + - Debian/Ubuntu or compatible Linux (apt, yum, or dnf) + - Root/sudo privileges + - Internet access for package installation + - PPD file for the printer model + - PRINTERS: Array of "hostname|location|display_name" entries + - PROTOCOL: lpd, ipp, or socket + - PPD_PATH: Path to the PPD driver file + - AUTO_INSTALL_CUPS: Whether to install CUPS if missing groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNg -lastPushedChecksum: "sha256:d721fe27c531e96a" -lastPushedMetaChecksum: "sha256:19e0fa6d30856a15" \ No newline at end of file +lastPushedChecksum: sha256:d721fe27c531e96a +lastPushedMetaChecksum: sha256:19e0fa6d30856a15 diff --git a/scripts/printer_install_macos.level.yaml b/scripts/printer_install_macos.level.yaml index 8b5c161..5ceb25e 100644 --- a/scripts/printer_install_macos.level.yaml +++ b/scripts/printer_install_macos.level.yaml @@ -1,8 +1,34 @@ name: printer_install_macos.sh +description: Installs network printer via IPP using lpadmin on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs network printers on macOS using CUPS/lpadmin. Supports PPD files for full driver functionality. Can install from local PPD or download from a URL. + + Usage Notes + ----------- + - Downloads driver package if URL provided + - Sets up PPD file (local or downloaded) + - Removes existing printers with same name before installing + - Installs each configured printer via lpadmin + - Supports lpd, ipp, and ipps protocols + - Default: lpd protocol, local PPD source, sharing disabled, abort-job error policy + + Requirements + ------------ + - macOS 10.12 or later + - Root/sudo privileges + - PPD file for the printer model + - Network access to printers and PPD URL (if using URL) + - PRINTERS: Array of "hostname|location|display_name" entries + - PROTOCOL: lpd, ipp, or ipps + - PPD_SOURCE: "local" or "url" + - PPD_PATH / PPD_URL: PPD file path or download URL + - DRIVER_URL: Optional driver package URL groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNw -lastPushedChecksum: "sha256:629c0f1457ee7d88" -lastPushedMetaChecksum: "sha256:19c8ff6bb775e782" \ No newline at end of file +lastPushedChecksum: sha256:629c0f1457ee7d88 +lastPushedMetaChecksum: sha256:19c8ff6bb775e782 diff --git a/scripts/printers_remove_all.level.yaml b/scripts/printers_remove_all.level.yaml index 80737bc..882b865 100644 --- a/scripts/printers_remove_all.level.yaml +++ b/scripts/printers_remove_all.level.yaml @@ -1,8 +1,32 @@ name: printers_remove_all.ps1 +description: Removes all printers, drivers, and ports from Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Removes ALL installed printers, their associated ports, and unused printer drivers from Windows. Use with caution -- this is a destructive operation that cannot be undone. + + Usage Notes + ----------- + - Enumerates and removes all installed printers + - Removes orphaned TCP/IP printer ports (optional) + - Removes unused printer drivers (optional) + - $removeDrivers: Control driver removal (default: true) + - $removePorts: Control orphaned port removal (default: true) + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - Print Spooler service running + + Security + -------- + - Destructive operation -- removes ALL printers + - Cannot be undone without reinstalling printers groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOA -lastPushedChecksum: "sha256:f5ff959c9835072b" -lastPushedMetaChecksum: "sha256:ffc18af523c904cd" \ No newline at end of file +lastPushedChecksum: sha256:f5ff959c9835072b +lastPushedMetaChecksum: sha256:ffc18af523c904cd diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml index 578de70..f08802a 100644 --- a/scripts/public_ip_export_superops.level.yaml +++ b/scripts/public_ip_export_superops.level.yaml @@ -1,8 +1,30 @@ name: public_ip_export_superops.ps1 +description: Fetches public IP info from wtfismyip.com and syncs to SuperOps shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Queries wtfismyip.com/json to retrieve public IP address, ISP, geolocation, and hostname information. Formats the results into a readable multiline string and sends it to a SuperOps custom field for network visibility and auditing. + + Usage Notes + ----------- + - Queries wtfismyip.com/json for public IP details + - Parses JSON response and formats into readable multiline text + - Formats IP, Location, Hostname, ISP, Country, and Tor Exit status + - Sends formatted text to SuperOps "Public IP" custom field + - Uses Invoke-RestMethod (no external binaries required) + + Requirements + ------------ + - SuperOps PowerShell module must be available and authenticated + - Internet connectivity to reach wtfismyip.com + - Windows with PowerShell 5.1+ or PowerShell 7+ + - SuperOps custom field "Public IP" (Multiline Text) must exist in tenant + - $apiUrl: wtfismyip.com JSON endpoint + - $customFieldName: SuperOps custom field name groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOQ -lastPushedChecksum: "sha256:e613d96669eff586" -lastPushedMetaChecksum: "sha256:8c33af23a6d2d9fa" \ No newline at end of file +lastPushedChecksum: sha256:e613d96669eff586 +lastPushedMetaChecksum: sha256:8c33af23a6d2d9fa diff --git a/scripts/public_ip_export_superops_macos.level.yaml b/scripts/public_ip_export_superops_macos.level.yaml index 6971297..c091915 100644 --- a/scripts/public_ip_export_superops_macos.level.yaml +++ b/scripts/public_ip_export_superops_macos.level.yaml @@ -1,8 +1,27 @@ name: public_ip_export_superops_macos.sh +description: Fetches public IP info from wtfismyip.com and outputs formatted results shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Queries wtfismyip.com/json to retrieve public IP address, ISP, geolocation, and hostname information. Formats the results into readable stdout output. Note: macOS/Linux SuperOps agents do not support Send-CustomField, so results are output only. + + Usage Notes + ----------- + - Queries wtfismyip.com/json for public IP details + - Parses JSON response using python3 + - Formats IP, Location, Hostname, ISP, Country, and Tor Exit status + - Outputs to stdout (no custom field sync on macOS/Linux) + - Curl timeout: 30 seconds + + Requirements + ------------ + - curl and python3 installed (both pre-installed on macOS) + - Internet connectivity to reach wtfismyip.com + - API_URL: wtfismyip.com JSON endpoint (hardcoded) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMA -lastPushedChecksum: "sha256:c115a7ff0b97c23b" -lastPushedMetaChecksum: "sha256:ab7c3493ceb64f95" \ No newline at end of file +lastPushedChecksum: sha256:c115a7ff0b97c23b +lastPushedMetaChecksum: sha256:ab7c3493ceb64f95 diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index de7fe08..6e252c5 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -1,8 +1,46 @@ name: restic_b2_backup_install.ps1 +description: Installs Restic, configures B2 repository, schedules daily backups shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 30 +readme: | + Purpose + ------- + All-in-one installer for Restic backup to Backblaze B2 with immutable storage. Downloads Restic via winget, initializes an encrypted B2 repository scoped to the machine hostname, generates a daily backup script with embedded credentials, and creates a Windows Scheduled Task. Designed for deployment via SuperOps RMM to client workstations and servers. + + Usage Notes + ----------- + - Validates all hardcoded inputs are non-empty before proceeding + - Installs Restic via winget, copies binary to managed install directory + - ACL-locks install directory to SYSTEM + Administrators only + - Initializes B2 repository (skips if already exists) + - Generates daily backup script with embedded credentials and retention policy + - Creates Windows Scheduled Task for daily execution at 02:00 as SYSTEM + - Runs dry-run backup to verify B2 connectivity and path access + - Default backup paths: Documents, Desktop, Downloads, Pictures, Videos + - Default excludes: temp files, cache directories, OneDrive, Recycle Bin + - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges (runs as SYSTEM via RMM) + - winget (App Installer) available on the system + - Network access to Backblaze B2 + - SuperOps runtime variables: B2KeyId, B2AppKey, B2BucketName, RepoPassword, ClientName + + Security + -------- + - B2 credentials are embedded in the generated backup script + - Install directory is ACL-locked to SYSTEM + Administrators + - Repo password encrypts all backup data at rest +variables: +- name: B2KeyId +- name: B2AppKey +- name: B2BucketName +- name: RepoPassword +- name: ClientName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ -lastPushedChecksum: "sha256:c09fd6b042b511b6" -lastPushedMetaChecksum: "sha256:e0c9372e694ca5da" \ No newline at end of file +lastPushedChecksum: sha256:c09fd6b042b511b6 +lastPushedMetaChecksum: sha256:e0c9372e694ca5da diff --git a/scripts/rustic_backup.level.yaml b/scripts/rustic_backup.level.yaml index d2aeef7..d556626 100644 --- a/scripts/rustic_backup.level.yaml +++ b/scripts/rustic_backup.level.yaml @@ -1,8 +1,33 @@ name: rustic_backup.ps1 +description: Runs rustic backup, prune, and integrity check using existing profile shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 120 +readme: | + Purpose + ------- + Scheduled backup runner for Rustic. Reads configuration from the TOML profile written by rustic_install.ps1 and executes a full backup cycle: backup snapshot, retention prune, and a lightweight integrity check on a random 1% data subset. Intended to be invoked by the Windows Scheduled Task created during installation, or manually via SuperOps RMM. + + Usage Notes + ----------- + - No runtime variables required — all configuration is read from the TOML profile + - Validates rustic.exe and rustic.toml exist (exits 1 if missing) + - Ensures log directory exists before running + - Sets RUSTIC_CONFIG_FILE environment variable, clears it in a finally block + - Backup step is fatal: exits 1 if rustic backup fails (no snapshot was created) + - Prune step is non-fatal: warns and continues if rustic forget --prune fails + - Integrity check is non-fatal: warns and continues if rustic check fails + - Integrity check scope: --read-data-subset=1/100 (1% of data per run) + - Reports duration and per-step status in the final summary + + Requirements + ------------ + - rustic_install.ps1 must have been run successfully on this machine + - rustic.exe at C:\ProgramData\Limehawk\Rustic\bin\rustic.exe + - rustic.toml at C:\ProgramData\Limehawk\Rustic\rustic.toml + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges (runs as SYSTEM via RMM or Scheduled Task) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMg -lastPushedChecksum: "sha256:37d4d46a94882a30" -lastPushedMetaChecksum: "sha256:023021562849fcae" \ No newline at end of file +lastPushedChecksum: sha256:37d4d46a94882a30 +lastPushedMetaChecksum: sha256:023021562849fcae diff --git a/scripts/rustic_backup_unix.level.yaml b/scripts/rustic_backup_unix.level.yaml index 7fa814c..3fc058e 100644 --- a/scripts/rustic_backup_unix.level.yaml +++ b/scripts/rustic_backup_unix.level.yaml @@ -1,8 +1,36 @@ name: rustic_backup_unix.sh +description: Runs rustic backup, prune, and integrity check (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 120 +readme: | + Purpose + ------- + Executes a full Rustic backup cycle on Linux and macOS: runs a backup against the configured repository, applies retention policy with prune, and performs a partial integrity check on the repository. Reads all configuration from /etc/rustic/rustic.toml. Intended to be run on a schedule (systemd timer or launchd plist) or invoked directly via SuperOps RMM. + + Usage Notes + ----------- + - Verifies rustic binary (/usr/local/bin/rustic) and config (/etc/rustic/rustic.toml) exist before running + - Exports RUSTIC_CONFIG_FILE to direct rustic to the TOML configuration + - Backup step is fatal: script exits 1 if rustic backup fails + - Retention (forget --prune) and integrity check (check --read-data-subset=1/100) are non-fatal: failures emit a warning but do not abort + - Integrity check scope: --read-data-subset=1/100 (1% of data per run) + - Reports total duration in the final status block + - No runtime variables required; all settings come from the TOML config + + Requirements + ------------ + - Linux or macOS + - Root privileges (runs as root via RMM) + - rustic installed at /usr/local/bin/rustic + - /etc/rustic/rustic.toml configured by rustic_install_unix.sh + - Network access to the configured backup backend + + Security + -------- + - No credentials are printed to console output + - All secrets remain in /etc/rustic/rustic.toml (chmod 600) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMw -lastPushedChecksum: "sha256:a10b4b3cc851a31b" -lastPushedMetaChecksum: "sha256:288fc641246de33b" \ No newline at end of file +lastPushedChecksum: sha256:a10b4b3cc851a31b +lastPushedMetaChecksum: sha256:288fc641246de33b diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index 28b4852..1f13c30 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -1,8 +1,57 @@ name: rustic_install.ps1 +description: Installs Rustic, configures backend repository, schedules daily backups shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 30 +readme: | + Purpose + ------- + All-in-one installer for Rustic backup with multi-backend support (B2, S3, local, SFTP, REST). Downloads the Rustic binary from GitHub releases (SHA256-verified), generates a TOML configuration profile with backend-specific settings, initializes an encrypted repository scoped to the machine hostname, deploys a daily backup runner script, and creates a Windows Scheduled Task. Designed for deployment via SuperOps RMM to client workstations and servers. + + Usage Notes + ----------- + - Validates all hardcoded inputs including backend-specific conditional requirements + - Downloads Rustic v0.11.1 from GitHub releases with SHA256 verification + - Skips download if correct version is already installed + - ACL-locks install directory to SYSTEM + Administrators only + - Generates TOML config profile tailored to the selected backend type + - Initializes encrypted repository (skips if already exists) + - Generates daily backup script with log rotation (keeps 30 days) + - Backup script runs: backup, forget --prune, check --read-data-subset + - Creates Windows Scheduled Task for daily execution as SYSTEM + - Runs dry-run backup to verify connectivity and path access + - Default backup paths: Documents, Desktop, Downloads, Pictures, Videos + - Default excludes: temp files, cache directories, OneDrive, Recycle Bin, large binaries, dev artifacts + - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges (runs as SYSTEM via RMM) + - tar.exe available (built into Windows 10 1803+) + - Network access to GitHub releases and the configured backend + - SuperOps runtime variables: YourBackendType, YourBackendPath, YourRepoPassword, YourClientName + - Conditional: YourBackendKeyId, YourBackendAppKey (B2/S3), YourBackendRegion (S3) + - Optional: YourBackupPaths, YourExcludePatterns, YourBackupHour + + Security + -------- + - Backend credentials are embedded in the TOML config file + - Install directory is ACL-locked to SYSTEM + Administrators + - Repo password encrypts all backup data at rest + - No secrets printed to console output +variables: +- name: YourBackendType +- name: YourBackendPath +- name: YourRepoPassword +- name: YourClientName +- name: YourBackendKeyId +- name: YourBackendAppKey +- name: YourBackendRegion +- name: YourBackupPaths +- name: YourExcludePatterns +- name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA -lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" -lastPushedMetaChecksum: "sha256:3a7bd21faf090df8" \ No newline at end of file +lastPushedChecksum: sha256:c11a00e8cfcc8fb6 +lastPushedMetaChecksum: sha256:3a7bd21faf090df8 diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index 75a6cfd..40a44d9 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -1,8 +1,59 @@ name: rustic_install_unix.sh +description: Installs Rustic, configures backend repository, schedules daily backups shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 30 +readme: | + Purpose + ------- + All-in-one installer for Rustic backup on Linux and macOS with multi-backend support (B2, S3, local, SFTP, REST). Detects OS and architecture, downloads the Rustic binary from GitHub releases (SHA256-verified), generates a TOML configuration profile with backend-specific settings, initializes an encrypted repository scoped to the machine hostname, deploys a daily backup runner script, and creates a systemd timer (Linux) or launchd plist (macOS). Designed for deployment via SuperOps RMM. + + Usage Notes + ----------- + - Detects OS (Linux/macOS) and architecture (x86_64/aarch64/arm64/armv7l) + - Downloads Rustic v0.11.1 from GitHub releases with SHA256 verification + - Skips download if correct version is already installed + - Config directory chmod 700, config file chmod 600 + - Generates TOML config profile tailored to the selected backend type + - Initializes encrypted repository (skips if already exists) + - Generates daily backup script with log rotation (deletes logs older than 30 days) + - Backup script runs: backup, forget --prune, check --read-data-subset + - Linux: creates systemd timer and service for daily execution + - macOS: creates launchd plist in /Library/LaunchDaemons for daily execution + - Runs dry-run backup to verify connectivity and path access + - Default backup paths (Linux): /home, /etc, /var/lib + - Default backup paths (macOS): /Users, /etc + - Default excludes: temp files, caches, .DS_Store, dev artifacts, large binaries + - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots + + Requirements + ------------ + - Linux (glibc or musl) or macOS 11+ + - Root privileges (runs as root via RMM) + - curl and tar installed + - Network access to GitHub releases and the configured backend + - SuperOps runtime variables: YourBackendType, YourBackendPath, YourRepoPassword, YourClientName + - Conditional: YourBackendKeyId, YourBackendAppKey (B2/S3), YourBackendRegion (S3) + - Optional: YourBackupPaths, YourExcludePatterns, YourBackupHour + + Security + -------- + - Backend credentials are embedded in the TOML config file + - Config directory is chmod 700, config file is chmod 600 + - Repo password encrypts all backup data at rest + - No secrets printed to console output +variables: +- name: YourBackendType +- name: YourBackendPath +- name: YourRepoPassword +- name: YourClientName +- name: YourBackendKeyId +- name: YourBackendAppKey +- name: YourBackendRegion +- name: YourBackupPaths +- name: YourExcludePatterns +- name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ -lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" -lastPushedMetaChecksum: "sha256:c8454700b37e1a2f" \ No newline at end of file +lastPushedChecksum: sha256:6f06c1d9e9f5d54b +lastPushedMetaChecksum: sha256:c8454700b37e1a2f diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index a69a92a..cfec98c 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -1,8 +1,34 @@ name: rustic_restore.ps1 +description: Restores files from a rustic backup snapshot to a local destination shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 120 +readme: | + Purpose + ------- + Targeted file restore from a rustic backup snapshot. Operator provides a snapshot ID (or "latest"), a source path within the snapshot, and a local destination path via SuperOps runtime variables. Uses the existing rustic binary and TOML configuration deployed by rustic_install.ps1. + + Usage Notes + ----------- + - Snapshot ID defaults to "latest" if left empty or unreplaced + - All settings are in the TOML profile deployed by rustic_install.ps1 + - Lists available snapshots before restoring so the operator can confirm the correct snapshot + - Creates the destination directory if it does not exist + - Runs: rustic restore ":" + - Sets RUSTIC_CONFIG_FILE environment variable and clears it after execution + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges (runs as SYSTEM via RMM) + - rustic_install.ps1 previously deployed (binary and config must exist) + - SuperOps runtime variables: YourRestorePath, YourDestination + - Optional: YourSnapshotId (defaults to "latest") +variables: +- name: YourSnapshotId +- name: YourRestorePath +- name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg -lastPushedChecksum: "sha256:59f81da920ec0a94" -lastPushedMetaChecksum: "sha256:da46f375d20bd6f7" \ No newline at end of file +lastPushedChecksum: sha256:59f81da920ec0a94 +lastPushedMetaChecksum: sha256:da46f375d20bd6f7 diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index 7a8b36d..41c93d3 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -1,8 +1,40 @@ name: rustic_restore_unix.sh +description: Restores files from a rustic backup snapshot (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 120 +readme: | + Purpose + ------- + Targeted file and directory restore from a rustic backup snapshot on Linux and macOS. Reads the existing rustic TOML configuration to connect to the configured backend, lists available snapshots for reference, then restores the specified path from a chosen snapshot (or "latest") to a given destination directory. Designed for deployment via SuperOps RMM. + + Usage Notes + ----------- + - Defaults SNAPSHOT_ID to "latest" if left empty or unreplaced + - Hardcoded paths: rustic binary at /usr/local/bin/rustic, config at /etc/rustic/rustic.toml + - Lists available snapshots before restoring (informational; non-fatal if it fails) + - Creates the destination directory automatically if it does not exist + - Runs: rustic restore ":" "" + - Restored files inherit the permissions stored in the snapshot + + Requirements + ------------ + - rustic installed at /usr/local/bin/rustic (deploy rustic_install_unix.sh first) + - /etc/rustic/rustic.toml configured with valid backend credentials + - Linux or macOS with root privileges + - Network access to the configured backend + - SuperOps runtime variables: YourRestorePath, YourDestination + - Optional: YourSnapshotId (defaults to "latest") + + Security + -------- + - No credentials are passed on the command line + - rustic reads backend credentials exclusively from the TOML config file +variables: +- name: YourSnapshotId +- name: YourRestorePath +- name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw -lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" -lastPushedMetaChecksum: "sha256:bbf34301de281b52" \ No newline at end of file +lastPushedChecksum: sha256:83c3c35a5f0ba9bc +lastPushedMetaChecksum: sha256:bbf34301de281b52 diff --git a/scripts/rustic_uninstall.level.yaml b/scripts/rustic_uninstall.level.yaml index 8e654f4..d8494a5 100644 --- a/scripts/rustic_uninstall.level.yaml +++ b/scripts/rustic_uninstall.level.yaml @@ -1,8 +1,30 @@ name: rustic_uninstall.ps1 +description: Removes rustic binary, config, scheduled task, and logs shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Removes all local Rustic components from the machine: the Windows Scheduled Task and the entire install directory (binary, config, backup script, and logs). Does NOT delete the remote backup repository. Safe to run even if components are already absent — partial removal is acceptable. + + Usage Notes + ----------- + - No runtime variables required + - Install directory: C:\ProgramData\Limehawk\Rustic + - Scheduled task name: Limehawk Rustic Backup + - Removes the scheduled task if it exists + - Removes the install directory and all contents recursively + - Reports found/not-found for each component before acting + - Always exits 0 — cleanup is idempotent + - Remote backup repository and its data are not affected + - Config files (which contain backend credentials) are deleted locally + + Requirements + ------------ + - Windows 10/11 or Windows Server 2016+ + - Administrator privileges (runs as SYSTEM via RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOA -lastPushedChecksum: "sha256:3e899b4f1ae514a7" -lastPushedMetaChecksum: "sha256:582ed418050fee55" \ No newline at end of file +lastPushedChecksum: sha256:3e899b4f1ae514a7 +lastPushedMetaChecksum: sha256:582ed418050fee55 diff --git a/scripts/rustic_uninstall_unix.level.yaml b/scripts/rustic_uninstall_unix.level.yaml index 2dd91aa..05fd926 100644 --- a/scripts/rustic_uninstall_unix.level.yaml +++ b/scripts/rustic_uninstall_unix.level.yaml @@ -1,8 +1,31 @@ name: rustic_uninstall_unix.sh +description: Removes rustic binary, config, schedule, and logs (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 5 +readme: | + Purpose + ------- + Removes all components installed by rustic_install_unix.sh. Detects OS (Linux/macOS), stops and disables the backup schedule (systemd timer on Linux, launchd plist on macOS), removes the Rustic binary and backup runner script, and deletes the configuration directory and log directory. The remote backup repository is NOT touched. + + Usage Notes + ----------- + - No runtime variables required + - Hardcoded paths: /usr/local/bin/rustic, /usr/local/bin/rustic-backup.sh, /etc/rustic, /var/log/rustic + - Detects OS (Linux/macOS) automatically + - Linux: stops and disables rustic-backup.timer and rustic-backup.service, then reloads systemd daemon + - macOS: unloads and removes /Library/LaunchDaemons/io.limehawk.rustic-backup.plist + - Removes binary, runner script, config directory, and log directory + - Each path is reported as found/removed or not found + - Partial removal is acceptable; script always exits 0 + - Remote backup repository and its data are NOT deleted + - Config files (which contain backend credentials) are deleted + + Requirements + ------------ + - Linux or macOS + - Root privileges (runs as root via RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOQ -lastPushedChecksum: "sha256:6361db8bf61c78a0" -lastPushedMetaChecksum: "sha256:dfca3f5572afe860" \ No newline at end of file +lastPushedChecksum: sha256:6361db8bf61c78a0 +lastPushedMetaChecksum: sha256:dfca3f5572afe860 diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index cb3c690..7d3dad0 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -1,8 +1,37 @@ name: sentinelone_install.ps1 +description: Silently installs SentinelOne endpoint agent with site token shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs SentinelOne endpoint agent silently using a site token. Downloads the installer from ConnectWise CDN (or custom URL) and performs installation with verification. Skips if already installed. The installed version will auto-update based on your S1 console Auto-Upgrade Policy settings, so the initial installer version does not matter. + + Usage Notes + ----------- + - Checks if SentinelOne is already installed (optional skip) + - Auto-detects 32-bit vs 64-bit OS + - Supports EXE or MSI installer ($UseExe toggle, MSI recommended) + - Downloads installer from ConnectWise CDN or custom URL + - Verifies installation success with multiple retry attempts + - Cleans up temporary files after completion + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - PowerShell 5.1 or later + - Network access to download URL (ConnectWise CDN or custom) + - $SiteToken: SentinelOne site token (get from S1 Console > Sentinels > Site Info) + + Security + -------- + - Site token is embedded in script -- protect accordingly + - Default CDN URL uses HTTPS +variables: +- name: SiteToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA -lastPushedChecksum: "sha256:aab2ea4bf232ddc9" -lastPushedMetaChecksum: "sha256:33134c89efab5bf4" \ No newline at end of file +lastPushedChecksum: sha256:aab2ea4bf232ddc9 +lastPushedMetaChecksum: sha256:33134c89efab5bf4 diff --git a/scripts/sentinelone_services_start.level.yaml b/scripts/sentinelone_services_start.level.yaml index 735e40a..99449a3 100644 --- a/scripts/sentinelone_services_start.level.yaml +++ b/scripts/sentinelone_services_start.level.yaml @@ -1,8 +1,29 @@ name: sentinelone_services_start.ps1 +description: Ensures all SentinelOne services are running on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Checks the status of all SentinelOne services on Windows systems and ensures they are running. Enables disabled services and starts stopped services. Useful for troubleshooting SentinelOne agent issues where services may have been stopped or disabled. + + Usage Notes + ----------- + - No inputs required -- automatically checks all SentinelOne services + - Services checked: LogProcessorService, SentinelAgent, SentinelHelperService, SentinelStaticEngine + - Sets disabled services to Automatic startup type + - Starts stopped services + - No action taken if service is already running + - Reports final status for all services + - Service changes are permanent until manually reversed + + Requirements + ------------ + - Windows PowerShell 5.1 or PowerShell 7+ + - Administrator privileges (required for service management) + - SentinelOne agent must be installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MQ -lastPushedChecksum: "sha256:4f61d11ab3baffb7" -lastPushedMetaChecksum: "sha256:69957f670b941093" \ No newline at end of file +lastPushedChecksum: sha256:4f61d11ab3baffb7 +lastPushedMetaChecksum: sha256:69957f670b941093 diff --git a/scripts/sentinelone_uninstall_linux.level.yaml b/scripts/sentinelone_uninstall_linux.level.yaml index 01962b0..d03014b 100644 --- a/scripts/sentinelone_uninstall_linux.level.yaml +++ b/scripts/sentinelone_uninstall_linux.level.yaml @@ -1,8 +1,27 @@ name: sentinelone_uninstall_linux.sh +description: Uninstalls SentinelOne agent from Linux using passphrase shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the SentinelOne agent from Linux systems using the sentinelctl command. Verifies the agent is installed and sentinelctl is available before attempting removal. + + Usage Notes + ----------- + - No hardcoded inputs required + - Verifies root privileges before proceeding + - Checks if sentinelctl command is available in PATH + - Runs sentinelctl uninstall to remove the agent + - Agent may have tamper protection enabled which could block removal + + Requirements + ------------ + - Linux system with SentinelOne agent installed + - Root/sudo privileges + - sentinelctl must be in PATH (/usr/local/bin or /opt/sentinelone/bin) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mg -lastPushedChecksum: "sha256:14d539a27befd82d" -lastPushedMetaChecksum: "sha256:9b737727ffa2bc88" \ No newline at end of file +lastPushedChecksum: sha256:14d539a27befd82d +lastPushedMetaChecksum: sha256:9b737727ffa2bc88 diff --git a/scripts/shutdown_toggle.level.yaml b/scripts/shutdown_toggle.level.yaml index d6851b1..b704f0b 100644 --- a/scripts/shutdown_toggle.level.yaml +++ b/scripts/shutdown_toggle.level.yaml @@ -1,8 +1,28 @@ name: shutdown_toggle.ps1 +description: Toggles scheduled shutdown with warning message shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Schedules a system shutdown with a warning message, or cancels an existing scheduled shutdown if one is already pending. Acts as a toggle -- run once to schedule, run again to cancel. + + Usage Notes + ----------- + - Default shutdown delay: 60 seconds (configurable via $shutdownTime variable) + - Checks if a shutdown is already scheduled before acting + - If scheduled: cancels the pending shutdown + - If not scheduled: schedules a new shutdown with on-screen warning countdown + - Shutdown can always be canceled by running the script again + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - shutdown.exe (standard Windows component) + - $shutdownTime: time in seconds before shutdown (default: 60) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mw -lastPushedChecksum: "sha256:469ca706feb53740" -lastPushedMetaChecksum: "sha256:8e7bce880a8dabfd" \ No newline at end of file +lastPushedChecksum: sha256:469ca706feb53740 +lastPushedMetaChecksum: sha256:8e7bce880a8dabfd diff --git a/scripts/speedtest_export_superops.level.yaml b/scripts/speedtest_export_superops.level.yaml index 1afd461..5a2e530 100644 --- a/scripts/speedtest_export_superops.level.yaml +++ b/scripts/speedtest_export_superops.level.yaml @@ -1,8 +1,31 @@ name: speedtest_export_superops.ps1 +description: Runs Ookla Speedtest and syncs results to SuperOps custom fields shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and runs Ookla Speedtest CLI, captures network performance metrics, and synchronizes the results to SuperOps custom fields for monitoring and reporting. Designed for RMM automation to track internet connectivity quality. + + Usage Notes + ----------- + - Automatically downloads and extracts Speedtest CLI ZIP if not already present + - Executes speedtest with JSON output (auto-accepts license and GDPR terms) + - Calculates speeds in Mbps with full decimal precision + - Sends four custom fields to SuperOps: Download Speed, Upload Speed, ISP, Speedtest URL + - Reports detailed metrics to console including ping, jitter, packet loss, and server info + - Downloads from https://install.speedtest.net/app/cli/ + - Extraction path: $env:TEMP\SpeedtestCLI + + Requirements + ------------ + - SuperOps PowerShell module must be available and authenticated + - Internet connectivity for downloading CLI and running speedtest + - Write permissions to $env:TEMP directory + - Windows with PowerShell 5.1+ or PowerShell 7+ + - SuperOps custom fields must exist: Download Speed (Decimal), Upload Speed (Decimal), ISP (Short Text), Speedtest URL (Short Text) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NA -lastPushedChecksum: "sha256:f0b07e25413d5fec" -lastPushedMetaChecksum: "sha256:fc860d2d07b27672" \ No newline at end of file +lastPushedChecksum: sha256:f0b07e25413d5fec +lastPushedMetaChecksum: sha256:fc860d2d07b27672 diff --git a/scripts/splashtop_business_install.level.yaml b/scripts/splashtop_business_install.level.yaml index 30d3a22..7b9a386 100644 --- a/scripts/splashtop_business_install.level.yaml +++ b/scripts/splashtop_business_install.level.yaml @@ -1,8 +1,27 @@ name: splashtop_business_install.ps1 +description: Installs Splashtop Business client via winget shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs the Splashtop Business client application using winget (Windows Package Manager). This is the end-user remote access client, not the streamer agent. + + Usage Notes + ----------- + - Uses winget to install Splashtop.SplashtopBusiness package + - Detects SYSTEM vs user context for winget path resolution + - Handles already-installed case gracefully + - Silent installation with automatic agreement acceptance + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Winget installed (run winget_setup.ps1 if needed) + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NQ -lastPushedChecksum: "sha256:de86051d4da42af9" -lastPushedMetaChecksum: "sha256:3015f61c063eff5d" \ No newline at end of file +lastPushedChecksum: sha256:de86051d4da42af9 +lastPushedMetaChecksum: sha256:3015f61c063eff5d diff --git a/scripts/splashtop_business_install_macos.level.yaml b/scripts/splashtop_business_install_macos.level.yaml index 4ec1f40..d43e96d 100644 --- a/scripts/splashtop_business_install_macos.level.yaml +++ b/scripts/splashtop_business_install_macos.level.yaml @@ -1,8 +1,26 @@ name: splashtop_business_install_macos.sh +description: Downloads and installs Splashtop Business client on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the Splashtop Business client application on macOS. The Business client allows users to connect to remote computers with Splashtop Streamer installed. + + Usage Notes + ----------- + - Downloads installer DMG from official Splashtop servers (v3.7.2.0) + - Mounts the DMG, installs the package, then unmounts + - Installer DMG is removed after installation + - Mount directory: /Volumes/Splashtop Business + + Requirements + ------------ + - macOS + - Root/sudo privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Ng -lastPushedChecksum: "sha256:687707d59ce4a3d6" -lastPushedMetaChecksum: "sha256:53912782089f5e00" \ No newline at end of file +lastPushedChecksum: sha256:687707d59ce4a3d6 +lastPushedMetaChecksum: sha256:53912782089f5e00 diff --git a/scripts/splashtop_service_restart.level.yaml b/scripts/splashtop_service_restart.level.yaml index a230dd7..598d665 100644 --- a/scripts/splashtop_service_restart.level.yaml +++ b/scripts/splashtop_service_restart.level.yaml @@ -1,8 +1,27 @@ name: splashtop_service_restart.ps1 +description: Restarts Splashtop Remote Service to resolve connectivity issues shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Restarts the Splashtop Remote Service to resolve connectivity or performance issues with Splashtop remote access. + + Usage Notes + ----------- + - Validates service name input and checks service exists + - Default service: SplashtopRemoteService + - Restarts the service and waits 3 seconds + - Reports final service status (Running or warning) + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Splashtop Streamer installed + - $serviceName: name of the Splashtop service to restart groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Nw -lastPushedChecksum: "sha256:af58133e2ca89fc7" -lastPushedMetaChecksum: "sha256:b53bacdec4b0fead" \ No newline at end of file +lastPushedChecksum: sha256:af58133e2ca89fc7 +lastPushedMetaChecksum: sha256:b53bacdec4b0fead diff --git a/scripts/splashtop_service_restart_macos.level.yaml b/scripts/splashtop_service_restart_macos.level.yaml index add09c5..50749ef 100644 --- a/scripts/splashtop_service_restart_macos.level.yaml +++ b/scripts/splashtop_service_restart_macos.level.yaml @@ -1,8 +1,26 @@ name: splashtop_service_restart_macos.sh +description: Restarts Splashtop Streamer service on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Restarts the Splashtop Streamer service on macOS when remote access becomes unresponsive or connections fail. Useful for resolving connectivity issues without requiring a full system reboot. + + Usage Notes + ----------- + - Validates that the plist path is configured and exists + - Uses launchctl to manage the service lifecycle + - Unloads the Splashtop launch daemon (stops it), then reloads it (starts it) + - Plist path: /Library/LaunchDaemons/com.splashtop.streamer-for-admin.plist + + Requirements + ------------ + - macOS operating system + - Root/sudo privileges + - Splashtop Streamer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OA -lastPushedChecksum: "sha256:e0bc68bd45e5ac0e" -lastPushedMetaChecksum: "sha256:1e0119a698767716" \ No newline at end of file +lastPushedChecksum: sha256:e0bc68bd45e5ac0e +lastPushedMetaChecksum: sha256:1e0119a698767716 diff --git a/scripts/splashtop_streamer_install.level.yaml b/scripts/splashtop_streamer_install.level.yaml index c46c371..6b430a6 100644 --- a/scripts/splashtop_streamer_install.level.yaml +++ b/scripts/splashtop_streamer_install.level.yaml @@ -1,8 +1,27 @@ name: splashtop_streamer_install.ps1 +description: Silently installs Splashtop Streamer agent for remote access shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Silently installs or upgrades the Splashtop Streamer agent for remote access. Configured to hide the system tray icon by default. + + Usage Notes + ----------- + - Validates installer path is provided and file exists + - Runs silent installation with parameters: prevercheck, no confirmation, hidden window, hidden tray icon + - Installer must be pre-staged at the specified path before running + - Default path: C:\temp\Splashtop_Streamer_Windows_DEPLOY_INSTALLER.exe + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Splashtop deploy installer downloaded to specified path + - $installerPath: full path to the Splashtop Streamer deploy installer EXE groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OQ -lastPushedChecksum: "sha256:ba206f1ad3a5419d" -lastPushedMetaChecksum: "sha256:65dcfecd8199e9b2" \ No newline at end of file +lastPushedChecksum: sha256:ba206f1ad3a5419d +lastPushedMetaChecksum: sha256:65dcfecd8199e9b2 diff --git a/scripts/splashtop_streamer_install_debian_amd64.level.yaml b/scripts/splashtop_streamer_install_debian_amd64.level.yaml index b80c6ae..58c5013 100644 --- a/scripts/splashtop_streamer_install_debian_amd64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_amd64.level.yaml @@ -1,8 +1,28 @@ name: splashtop_streamer_install_debian_amd64.sh +description: Installs Splashtop Streamer on Debian/Ubuntu AMD64 systems shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the Splashtop Streamer agent on Debian/Ubuntu systems running AMD64 architecture. + + Usage Notes + ----------- + - Updates package lists before installation + - Downloads tarball from official Splashtop servers (v3.7.2.0) + - Extracts to /opt/splashtop install directory + - Installs deb package with automatic dependency resolution + - Cleans up downloaded tarball after installation + + Requirements + ------------ + - Debian/Ubuntu Linux (AMD64 architecture) + - Root/sudo privileges + - Internet connectivity + - wget and tar packages groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MA -lastPushedChecksum: "sha256:0d1eb15b627f4539" -lastPushedMetaChecksum: "sha256:b2c0a676e13609f0" \ No newline at end of file +lastPushedChecksum: sha256:0d1eb15b627f4539 +lastPushedMetaChecksum: sha256:b2c0a676e13609f0 diff --git a/scripts/splashtop_streamer_install_debian_arm64.level.yaml b/scripts/splashtop_streamer_install_debian_arm64.level.yaml index 06ef8c7..d5f119d 100644 --- a/scripts/splashtop_streamer_install_debian_arm64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_arm64.level.yaml @@ -1,8 +1,28 @@ name: splashtop_streamer_install_debian_arm64.sh +description: Installs Splashtop Streamer on Debian/Ubuntu ARM64 systems shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the Splashtop Streamer agent on Debian systems running ARM64 architecture (e.g., Raspberry Pi, ARM servers). + + Usage Notes + ----------- + - Updates package lists and installs prerequisites (wget, tar) + - Downloads tarball from official Splashtop servers (v3.7.2.0) + - Extracts to /opt/splashtop install directory + - Installs deb package with automatic dependency resolution + - Enables and starts systemd service (splashtop-streamer.service) + - Cleans up downloaded tarball after installation + + Requirements + ------------ + - Debian Linux (ARM64 architecture) + - Root/sudo privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MQ -lastPushedChecksum: "sha256:4fb1452893ccc28c" -lastPushedMetaChecksum: "sha256:a888773ea8c3cb23" \ No newline at end of file +lastPushedChecksum: sha256:4fb1452893ccc28c +lastPushedMetaChecksum: sha256:a888773ea8c3cb23 diff --git a/scripts/splashtop_streamer_install_macos.level.yaml b/scripts/splashtop_streamer_install_macos.level.yaml index b8c06e9..51e6801 100644 --- a/scripts/splashtop_streamer_install_macos.level.yaml +++ b/scripts/splashtop_streamer_install_macos.level.yaml @@ -1,8 +1,26 @@ name: splashtop_streamer_install_macos.sh +description: Downloads and installs Splashtop Streamer agent on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the Splashtop Streamer agent on macOS for remote access capabilities. The Streamer runs on computers to allow remote connections from Splashtop Business clients. + + Usage Notes + ----------- + - Downloads installer DMG to /tmp/splashtop_streamer.dmg + - Installer URL points to v3.7.0.0 + - Mounts DMG, installs package, then unmounts and cleans up + - Installer is removed after installation + + Requirements + ------------ + - macOS + - Root/sudo privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mg -lastPushedChecksum: "sha256:7962109ca8b9e885" -lastPushedMetaChecksum: "sha256:ebee0a6a268fe55d" \ No newline at end of file +lastPushedChecksum: sha256:7962109ca8b9e885 +lastPushedMetaChecksum: sha256:ebee0a6a268fe55d diff --git a/scripts/splashtop_uninstall.level.yaml b/scripts/splashtop_uninstall.level.yaml index 668cef3..868adca 100644 --- a/scripts/splashtop_uninstall.level.yaml +++ b/scripts/splashtop_uninstall.level.yaml @@ -1,8 +1,26 @@ name: splashtop_uninstall.ps1 +description: Uninstalls Splashtop Streamer using Windows MSI service shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls Splashtop Streamer from a Windows system using the Windows Installer service (MSI uninstall). + + Usage Notes + ----------- + - Searches for Splashtop Streamer in installed products + - Retrieves the product GUID automatically + - Executes silent uninstall via CIM method + - Product name can be customized via $productName variable + + Requirements + ------------ + - Windows OS + - Administrator privileges + - Splashtop Streamer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mw -lastPushedChecksum: "sha256:0800aca199e5aa18" -lastPushedMetaChecksum: "sha256:26c9052ba7560ecc" \ No newline at end of file +lastPushedChecksum: sha256:0800aca199e5aa18 +lastPushedMetaChecksum: sha256:26c9052ba7560ecc diff --git a/scripts/splashtop_uninstall_macos.level.yaml b/scripts/splashtop_uninstall_macos.level.yaml index 557b8d4..0ffb4a6 100644 --- a/scripts/splashtop_uninstall_macos.level.yaml +++ b/scripts/splashtop_uninstall_macos.level.yaml @@ -1,8 +1,26 @@ name: splashtop_uninstall_macos.sh +description: Completely removes Splashtop Streamer and all components from macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Completely removes Splashtop Streamer from macOS including all related files, launch daemons, kernel extensions, and preferences. Performs a thorough cleanup of all Splashtop components. + + Usage Notes + ----------- + - Kills all running Splashtop processes + - Unloads launch daemons and agents + - Removes Splashtop Streamer, Splashtop Streamer for Business, and SplashtopRemote applications + - Removes kernel extensions, audio plugins, preferences, caches, and package receipts + - Data removal is permanent + + Requirements + ------------ + - macOS + - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NA -lastPushedChecksum: "sha256:b9213924115309e4" -lastPushedMetaChecksum: "sha256:ffa17928a86e1115" \ No newline at end of file +lastPushedChecksum: sha256:b9213924115309e4 +lastPushedMetaChecksum: sha256:ffa17928a86e1115 diff --git a/scripts/start_menu_tiles_clear.level.yaml b/scripts/start_menu_tiles_clear.level.yaml index e3f99d6..bc41423 100644 --- a/scripts/start_menu_tiles_clear.level.yaml +++ b/scripts/start_menu_tiles_clear.level.yaml @@ -1,8 +1,27 @@ name: start_menu_tiles_clear.ps1 +description: Removes all pinned app tiles from Windows 10 Start menu shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Removes all default pinned app tiles from the Windows 10 Start menu by modifying the registry. Restarts Explorer to apply changes immediately. Creates a clean Start menu without pre-configured tiles. + + Usage Notes + ----------- + - Must run in user context (not SYSTEM) to affect user's Start menu + - Modifies tile collection registry data then restarts Explorer + - Waits briefly for system to stabilize before restarting Explorer + - Opens Start menu after restart to initialize new layout + - Only affects current user's Start menu + - Registry modification is reversible + + Requirements + ------------ + - Windows 10 (does not apply to Windows 11) + - Registry access to HKCU groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NQ -lastPushedChecksum: "sha256:e5c2f1f84776bf20" -lastPushedMetaChecksum: "sha256:8a3c42166a3732e1" \ No newline at end of file +lastPushedChecksum: sha256:e5c2f1f84776bf20 +lastPushedMetaChecksum: sha256:8a3c42166a3732e1 diff --git a/scripts/stdrename_install_toggle.level.yaml b/scripts/stdrename_install_toggle.level.yaml index a29e3c4..4e46c72 100644 --- a/scripts/stdrename_install_toggle.level.yaml +++ b/scripts/stdrename_install_toggle.level.yaml @@ -1,8 +1,26 @@ name: stdrename_install_toggle.ps1 +description: Toggles installation of stdrename file renaming utility shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Toggles installation of stdrename, a command-line file and folder renaming utility. If installed, uninstalls it. If not installed, downloads and installs it. Installs to System32 for system-wide availability. + + Usage Notes + ----------- + - Toggle behavior: if installed it uninstalls, if not installed it installs + - Downloads from GitHub releases (latest version) + - Installs to C:\Windows\System32 for PATH accessibility + + Requirements + ------------ + - Windows 10/11 + - Admin privileges (writing to System32) + - Internet connectivity for download + - $DownloadUrl and $InstallPath variables defined in script groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Ng -lastPushedChecksum: "sha256:6fb3442faa559a1f" -lastPushedMetaChecksum: "sha256:e3177be33f859cf2" \ No newline at end of file +lastPushedChecksum: sha256:6fb3442faa559a1f +lastPushedMetaChecksum: sha256:e3177be33f859cf2 diff --git a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml index 2ec6375..b076fd0 100644 --- a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml +++ b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml @@ -1,8 +1,25 @@ name: superops_agent_alt_path_uninstall_macos.sh +description: Uninstalls SuperOps agent from alternate /Library/limehawk path shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the SuperOps agent from macOS systems by executing the agent's built-in uninstall script from an alternate path (/Library/limehawk). Use this for agents installed to the alternate limehawk path instead of the default SuperOps path. + + Usage Notes + ----------- + - Uses uninstall script at /Library/limehawk/uninstall.sh + - Executes with sudo privileges + - Reports completion status after uninstall + + Requirements + ------------ + - macOS operating system + - Sudo privileges + - Uninstall script must exist at /Library/limehawk/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Nw -lastPushedChecksum: "sha256:8863ba4e5a0a2968" -lastPushedMetaChecksum: "sha256:696e1fcbff6500f0" \ No newline at end of file +lastPushedChecksum: sha256:8863ba4e5a0a2968 +lastPushedMetaChecksum: sha256:696e1fcbff6500f0 diff --git a/scripts/superops_agent_install.level.yaml b/scripts/superops_agent_install.level.yaml index 26aa230..2bfe781 100644 --- a/scripts/superops_agent_install.level.yaml +++ b/scripts/superops_agent_install.level.yaml @@ -1,8 +1,28 @@ name: superops_agent_install.ps1 +description: Downloads and installs SuperOps RMM agent on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the SuperOps RMM agent on Windows using the MSI installer. Designed for automated deployment where the agent download URL is provided as an environment variable. + + Usage Notes + ----------- + - AGENT_URL environment variable must be set by RMM platform + - Uses silent installation mode (/qn) for unattended deployment + - Automatically accepts license agreement + - Downloads installer to current working directory + - Cleans up installer file after successful installation + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges + - Internet access + - AGENT_URL environment variable set by RMM platform groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OA -lastPushedChecksum: "sha256:52ab8410999a4df7" -lastPushedMetaChecksum: "sha256:7ba7eecd3b33f560" \ No newline at end of file +lastPushedChecksum: sha256:52ab8410999a4df7 +lastPushedMetaChecksum: sha256:7ba7eecd3b33f560 diff --git a/scripts/superops_agent_install_macos.level.yaml b/scripts/superops_agent_install_macos.level.yaml index 97376d6..7febeee 100644 --- a/scripts/superops_agent_install_macos.level.yaml +++ b/scripts/superops_agent_install_macos.level.yaml @@ -1,8 +1,29 @@ name: superops_agent_install_macos.sh +description: Downloads and installs SuperOps RMM agent on macOS via PKG shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Downloads and installs the SuperOps RMM agent on macOS systems using the PKG installer format. Designed for automated deployment where the package download URL is provided as an environment variable. + + Usage Notes + ----------- + - PKGURL environment variable must be set by RMM platform + - Downloads PKG to /Users/Shared directory + - Uses macOS installer command with -dumplog for detailed logging + - Installs silently to root (/) target + - Installer handles cleanup after installation + + Requirements + ------------ + - macOS + - Sudo privileges + - Internet access + - PKGURL environment variable set by RMM platform + - curl command (standard on macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OQ -lastPushedChecksum: "sha256:6fc3490acf5c28f8" -lastPushedMetaChecksum: "sha256:918d6fe1dde8ee8c" \ No newline at end of file +lastPushedChecksum: sha256:6fc3490acf5c28f8 +lastPushedMetaChecksum: sha256:918d6fe1dde8ee8c diff --git a/scripts/superops_agent_legacy_uninstall.level.yaml b/scripts/superops_agent_legacy_uninstall.level.yaml index c522d8b..2536907 100644 --- a/scripts/superops_agent_legacy_uninstall.level.yaml +++ b/scripts/superops_agent_legacy_uninstall.level.yaml @@ -1,8 +1,26 @@ name: superops_agent_legacy_uninstall.ps1 +description: Uninstalls legacy SuperOps agent via WMI IdentifyingNumber shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the legacy SuperOps agent on Windows systems using the product's IdentifyingNumber. Intended for environments where the agent cannot be uninstalled via standard methods or newer uninstallers. + + Usage Notes + ----------- + - No inputs required - IdentifyingNumber is hardcoded + - Queries WMI Win32_Product class to locate and uninstall + - Designed for silent, unattended execution + - Use this for older SuperOps agent installations + + Requirements + ------------ + - PowerShell 2.0 or later + - Administrative privileges + - WMI service must be running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MA -lastPushedChecksum: "sha256:b7ce686565594ba9" -lastPushedMetaChecksum: "sha256:e3676a66642ef508" \ No newline at end of file +lastPushedChecksum: sha256:b7ce686565594ba9 +lastPushedMetaChecksum: sha256:e3676a66642ef508 diff --git a/scripts/superops_agent_reinstall_macos.level.yaml b/scripts/superops_agent_reinstall_macos.level.yaml index 25d750a..208db9a 100644 --- a/scripts/superops_agent_reinstall_macos.level.yaml +++ b/scripts/superops_agent_reinstall_macos.level.yaml @@ -1,8 +1,31 @@ name: superops_agent_reinstall_macos.sh +description: Uninstalls and reinstalls SuperOps RMM agent on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs a complete reinstallation of the SuperOps RMM agent on macOS by uninstalling the current agent and installing a new version from a provided URL. Useful for agent upgrades or fixing corrupted installations. + + Usage Notes + ----------- + - PKGURL environment variable must be set by RMM platform + - Uses background process to handle reinstall after uninstall + - Downloads new agent to /tmp directory + - 5-second polling interval for uninstall completion + - Uses official SuperOps uninstall script at /Library/superops/uninstall.sh + - Monitors agent processes to ensure clean uninstall before installing + + Requirements + ------------ + - macOS + - Sudo privileges + - Internet access + - SuperOps RMM agent currently installed + - PKGURL environment variable set by RMM platform + - curl command (standard on macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MQ -lastPushedChecksum: "sha256:174ea4eea6e05f07" -lastPushedMetaChecksum: "sha256:1da9dc67deeb1fb5" \ No newline at end of file +lastPushedChecksum: sha256:174ea4eea6e05f07 +lastPushedMetaChecksum: sha256:1da9dc67deeb1fb5 diff --git a/scripts/superops_agent_uninstall.level.yaml b/scripts/superops_agent_uninstall.level.yaml index 5bc4626..ff9a2bc 100644 --- a/scripts/superops_agent_uninstall.level.yaml +++ b/scripts/superops_agent_uninstall.level.yaml @@ -1,8 +1,26 @@ name: superops_agent_uninstall.ps1 +description: Uninstalls SuperOps RMM agent using official or registry method shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the SuperOps RMM agent from Windows systems. Attempts to use the vendor's official uninstall program first, then falls back to registry-based MSI uninstallation if the official uninstaller is not found. + + Usage Notes + ----------- + - No inputs required - auto-detects installed SuperOps agent + - Searches for SuperOps uninstall.exe in common installation directories + - Falls back to registry search (including WOW6432Node) for MSI uninstall information + - Executes MSI uninstall with silent parameters (/qn /norestart) if needed + + Requirements + ------------ + - Windows PowerShell 5.1 or later + - Administrator privileges + - SuperOps RMM agent currently installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mg -lastPushedChecksum: "sha256:76c7e150cfacff89" -lastPushedMetaChecksum: "sha256:8dd9fbac6276cdde" \ No newline at end of file +lastPushedChecksum: sha256:76c7e150cfacff89 +lastPushedMetaChecksum: sha256:8dd9fbac6276cdde diff --git a/scripts/superops_agent_uninstall_alt.level.yaml b/scripts/superops_agent_uninstall_alt.level.yaml index a2f0c9b..f8035fe 100644 --- a/scripts/superops_agent_uninstall_alt.level.yaml +++ b/scripts/superops_agent_uninstall_alt.level.yaml @@ -1,8 +1,28 @@ name: superops_agent_uninstall_alt.ps1 +description: Uninstalls SuperOps agent via WMI/CIM with diagnostic reporting shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Performs a quiet uninstallation of the SuperOps RMM Agent using the MSI ProductCode GUID. Reports which uninstall method (WMI or CIM) was used, provides diagnostic information, and checks for leftover services to suggest manual cleanup commands. + + Usage Notes + ----------- + - No runtime inputs required - ProductCode GUID is hardcoded + - Tries WMI first, falls back to CIM if WMI fails + - Reports product details (name, version, publisher, method used) + - Missing product treated as success (already removed) + - Post-uninstall service check displays cleanup commands if needed + - Designed for execution inside SuperOps RMM + + Requirements + ------------ + - PowerShell 5.1+ + - Run as Administrator + - Windows operating system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mw -lastPushedChecksum: "sha256:d389b242c9fa2afc" -lastPushedMetaChecksum: "sha256:ff331e65813e62a6" \ No newline at end of file +lastPushedChecksum: sha256:d389b242c9fa2afc +lastPushedMetaChecksum: sha256:ff331e65813e62a6 diff --git a/scripts/superops_agent_uninstall_linux.level.yaml b/scripts/superops_agent_uninstall_linux.level.yaml index a6a4b35..0e5d018 100644 --- a/scripts/superops_agent_uninstall_linux.level.yaml +++ b/scripts/superops_agent_uninstall_linux.level.yaml @@ -1,8 +1,28 @@ name: superops_agent_uninstall_linux.sh +description: Uninstalls SuperOps RMM agent from Linux using vendor script shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the SuperOps RMM agent from Linux systems by executing the agent's built-in uninstall script. Provides a clean removal of the agent and all associated components. + + Usage Notes + ----------- + - Uses official SuperOps uninstall script at /opt/superopsrmm/uninstall.sh + - Sets executable permissions on the uninstall script before running + - Validates script existence before execution + - All-or-nothing: any failure stops the script immediately + + Requirements + ------------ + - Bash shell + - Linux operating system + - Root/sudo privileges + - SuperOps RMM agent must be installed + - Uninstall script must exist at /opt/superopsrmm/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NA -lastPushedChecksum: "sha256:2009c72750ce9121" -lastPushedMetaChecksum: "sha256:658b69ed7c41b5db" \ No newline at end of file +lastPushedChecksum: sha256:2009c72750ce9121 +lastPushedMetaChecksum: sha256:658b69ed7c41b5db diff --git a/scripts/superops_agent_uninstall_macos.level.yaml b/scripts/superops_agent_uninstall_macos.level.yaml index 8d8cafe..d7bcd5a 100644 --- a/scripts/superops_agent_uninstall_macos.level.yaml +++ b/scripts/superops_agent_uninstall_macos.level.yaml @@ -1,8 +1,28 @@ name: superops_agent_uninstall_macos.sh +description: Uninstalls SuperOps RMM agent from macOS using vendor script shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Uninstalls the SuperOps RMM agent from macOS systems by executing the agent's built-in uninstall script. Provides a clean removal of the agent and all associated components. + + Usage Notes + ----------- + - Uses official SuperOps uninstall script at /Library/superops/uninstall.sh + - Executes with sudo privileges + - Validates script existence before execution + - All-or-nothing: any failure stops the script immediately + + Requirements + ------------ + - Bash shell + - macOS operating system + - Sudo privileges + - SuperOps RMM agent must be installed + - Uninstall script must exist at /Library/superops/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NQ -lastPushedChecksum: "sha256:1f2ddeee28510922" -lastPushedMetaChecksum: "sha256:37d04b9a4944d3f8" \ No newline at end of file +lastPushedChecksum: sha256:1f2ddeee28510922 +lastPushedMetaChecksum: sha256:37d04b9a4944d3f8 diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index 80832af..0c9d7f8 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -1,8 +1,32 @@ name: superops_service_restart.ps1 +description: Restarts RMM agent services with automatic RMM execution detection shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Restarts RMM agent services on Windows systems. Automatically detects if the + script is being executed by the RMM agent itself and uses a safe background + restart approach to avoid terminating mid-execution. + + Usage Notes + ----------- + - Set service filter via $YourServiceFilterHere (e.g., "limehawk") + - Filter converted to wildcard pattern *filter* for service discovery + - When running from RMM agent: spawns background process with 30-second delay + - When running manually: restarts services directly and waits for completion + - Reports status of each service after restart + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - PowerShell 5.1+ + - Target RMM agent installed (matching services must exist) +variables: +- name: YourServiceFilterHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng -lastPushedChecksum: "sha256:21071e206631d4f0" -lastPushedMetaChecksum: "sha256:ff0d081422ef10ed" \ No newline at end of file +lastPushedChecksum: sha256:21071e206631d4f0 +lastPushedMetaChecksum: sha256:ff0d081422ef10ed diff --git a/scripts/superops_tray_icon_show_always.level.yaml b/scripts/superops_tray_icon_show_always.level.yaml index ebd2c6d..050cfbf 100644 --- a/scripts/superops_tray_icon_show_always.level.yaml +++ b/scripts/superops_tray_icon_show_always.level.yaml @@ -1,8 +1,29 @@ name: superops_tray_icon_show_always.ps1 +description: Configures Windows to always show SuperOps tray icon shell: POWERSHELL -runAs: SYSTEM -timeout: 60 +runAs: CURRENT_USER +timeout: 15 +readme: | + Purpose + ------- + Configures Windows system tray settings to always show the SuperOps RMM agent tray icon. Ensures the SuperOps icon remains visible in the system tray notification area rather than being hidden in the overflow. + + Usage Notes + ----------- + - MUST RUN AS LOGGED-IN USER - NOT SYSTEM + - Modifies HKCU registry which is per-user + - Running as SYSTEM will modify SYSTEM's registry, not the user's + - Sets IsPromoted=1 for SuperOps notification entries + - Exits gracefully (exit 0) if registry path does not exist yet + - No restart required - changes take effect on next tray icon update + + Requirements + ------------ + - Windows 11 (build 22000 or later) - older Windows not supported + - PowerShell 5.1 or later + - Must run as logged-in user (not SYSTEM) + - SuperOps agent must be installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Nw -lastPushedChecksum: "sha256:60705b6f854e0ad7" -lastPushedMetaChecksum: "sha256:a71ed8eb386efb00" \ No newline at end of file +lastPushedChecksum: sha256:60705b6f854e0ad7 +lastPushedMetaChecksum: sha256:a71ed8eb386efb00 diff --git a/scripts/synology_backup_agent_install.level.yaml b/scripts/synology_backup_agent_install.level.yaml index 10a9430..0029bba 100644 --- a/scripts/synology_backup_agent_install.level.yaml +++ b/scripts/synology_backup_agent_install.level.yaml @@ -1,8 +1,27 @@ name: synology_backup_agent_install.ps1 +description: Installs Synology Active Backup for Business Agent via winget shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs the Synology Active Backup for Business Agent on Windows using winget. This agent enables centralized backup management from a Synology NAS. + + Usage Notes + ----------- + - Validates winget availability before installation + - Installs silently using winget package manager + - Package ID: Synology.ActiveBackupForBusinessAgent + - After installation, connect to your Synology NAS to configure backup tasks + + Requirements + ------------ + - Windows 10 1809+ or Windows 11 + - Administrator privileges + - winget (App Installer) installed + - Synology NAS with Active Backup for Business package groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OA -lastPushedChecksum: "sha256:71047d6fc64e0624" -lastPushedMetaChecksum: "sha256:4970382ff803b1cb" \ No newline at end of file +lastPushedChecksum: sha256:71047d6fc64e0624 +lastPushedMetaChecksum: sha256:4970382ff803b1cb diff --git a/scripts/synology_backup_agent_install_linux.level.yaml b/scripts/synology_backup_agent_install_linux.level.yaml index 12da4f2..401a9b2 100644 --- a/scripts/synology_backup_agent_install_linux.level.yaml +++ b/scripts/synology_backup_agent_install_linux.level.yaml @@ -1,8 +1,30 @@ name: synology_backup_agent_install_linux.sh +description: Installs Synology Active Backup for Business Agent on Linux shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs the Synology Active Backup for Business Agent on Linux systems. Includes prerequisite checks for architecture, kernel headers, and required tools. + + Usage Notes + ----------- + - Downloads agent from global.download.synology.com + - Agent version: 2.7.1-3235 + - Architecture: x86_64 only + - Package format: deb (Debian/Ubuntu) + - Verifies kernel headers and required tools before installation + - Cleans up temporary files after installation + + Requirements + ------------ + - Debian 10/11/12 or Ubuntu 16.04-24.04 (x86_64 only) + - Root/sudo privileges + - linux-headers for current kernel + - make 4.1+, dkms 2.2.0.3+, gcc 4.8.2+ + - unzip, curl or wget groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OQ -lastPushedChecksum: "sha256:d25da66ea53f3a05" -lastPushedMetaChecksum: "sha256:0a637e9ffc88b7dd" \ No newline at end of file +lastPushedChecksum: sha256:d25da66ea53f3a05 +lastPushedMetaChecksum: sha256:0a637e9ffc88b7dd diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index a80e2bb..81693d4 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -1,8 +1,32 @@ name: terminated_user_lockout.ps1 +description: Immediately locks out a terminated user — resets password, disables account, locks workstation, forces logoff shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 30 +readme: | + Purpose + ------- + Performs a full local lockout for a terminated employee in a single pass. Locks the workstation, resets the local account password to a random value, disables the account, and forces logoff of all active sessions. + + Usage Notes + ----------- + - Validates username input + - Locks workstation if target user has active console session + - Resets password to a random 32-character string (never logged) + - Disables the local user account + - Logs off all active sessions + - Preserves user profile and all files on disk + - Account can be re-enabled with Enable-LocalUser (new password required) + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - PowerShell 5.1+ + - $TerminatedUsername: local username to lock out (SuperOps runtime variable) +variables: +- name: TerminatedUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA -lastPushedChecksum: "sha256:a2fc53f08fbbf738" -lastPushedMetaChecksum: "sha256:51f8598b49425efa" \ No newline at end of file +lastPushedChecksum: sha256:a2fc53f08fbbf738 +lastPushedMetaChecksum: sha256:51f8598b49425efa diff --git a/scripts/time_sync_fix.level.yaml b/scripts/time_sync_fix.level.yaml index f380ccd..b61114a 100644 --- a/scripts/time_sync_fix.level.yaml +++ b/scripts/time_sync_fix.level.yaml @@ -1,8 +1,29 @@ name: time_sync_fix.ps1 +description: Fixes Windows time synchronization by resetting NTP configuration shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Fixes Windows time synchronization by setting the timezone, resetting the Windows Time service, configuring NTP servers, and forcing a time sync. Resolves common time drift and synchronization issues. + + Usage Notes + ----------- + - Sets timezone (configurable via $TimeZone variable) + - Unregisters and re-registers w32time service + - Configures SpecialPollInterval to 86400 seconds (24 hours) + - Sets service triggers for network connectivity + - Uses pool.ntp.org servers by default + - Forces immediate time resync + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Network connectivity to NTP servers + - $TimeZone and $NtpServers variables defined in script groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MQ -lastPushedChecksum: "sha256:2a5b7085817c1386" -lastPushedMetaChecksum: "sha256:c57355ea4541976f" \ No newline at end of file +lastPushedChecksum: sha256:2a5b7085817c1386 +lastPushedMetaChecksum: sha256:c57355ea4541976f diff --git a/scripts/time_utc_set.level.yaml b/scripts/time_utc_set.level.yaml index ba2c65a..818f62d 100644 --- a/scripts/time_utc_set.level.yaml +++ b/scripts/time_utc_set.level.yaml @@ -1,8 +1,25 @@ name: time_utc_set.ps1 +description: Fixes time drift on Windows/Linux dual-boot systems shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Configures Windows to use UTC for the hardware clock instead of local time. This prevents the clock from being wrong when switching between Windows and Linux on dual-boot systems, as Linux uses UTC by default. + + Usage Notes + ----------- + - Sets RealTimeIsUniversal DWORD to 1 in HKLM\System\CurrentControlSet\Control\TimeZoneInformation + - No configurable inputs required + - Run once after installing Windows on a dual-boot system + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges (required for HKLM registry access) + - Windows 10/11 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mg -lastPushedChecksum: "sha256:4a8bd8317bc76df9" -lastPushedMetaChecksum: "sha256:dba9fcdc433cc3c2" \ No newline at end of file +lastPushedChecksum: sha256:4a8bd8317bc76df9 +lastPushedMetaChecksum: sha256:dba9fcdc433cc3c2 diff --git a/scripts/ubuntu_debian_update_verbose.level.yaml b/scripts/ubuntu_debian_update_verbose.level.yaml index df1b7ce..e7dbae2 100644 --- a/scripts/ubuntu_debian_update_verbose.level.yaml +++ b/scripts/ubuntu_debian_update_verbose.level.yaml @@ -1,8 +1,30 @@ name: ubuntu_debian_update_verbose.sh +description: Updates all packages on Ubuntu/Debian with verbose output shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 180 +readme: | + Purpose + ------- + Automates system package updates for Ubuntu/Debian systems with verbose output and error handling. Updates package lists, upgrades installed packages, removes unused dependencies, and cleans package cache. Provides color-coded status messages and reboot detection. + + Usage Notes + ----------- + - Run with sudo or as root + - Configure options at top of script: + - ENSURE_APT_UTILS: Install apt-utils if missing + - ENABLE_FULL_UPGRADE: Use dist-upgrade instead of upgrade + - ENABLE_AUTOREMOVE: Remove unused packages after upgrade + - ENABLE_CACHE_CLEAN: Clean apt cache to free disk space + - ENABLE_COLOR_OUTPUT: Use colored terminal output + + Requirements + ------------ + - Root/sudo access required + - Ubuntu or Debian-based Linux distribution + - Network connectivity to package repositories + - apt package manager groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mw -lastPushedChecksum: "sha256:cb32e47af9465ca4" -lastPushedMetaChecksum: "sha256:e6eb5911547eaa00" \ No newline at end of file +lastPushedChecksum: sha256:cb32e47af9465ca4 +lastPushedMetaChecksum: sha256:e6eb5911547eaa00 diff --git a/scripts/user_accounts_report.level.yaml b/scripts/user_accounts_report.level.yaml index 81b9437..9b339ae 100644 --- a/scripts/user_accounts_report.level.yaml +++ b/scripts/user_accounts_report.level.yaml @@ -1,8 +1,27 @@ name: user_accounts_report.ps1 +description: Generates report of local user accounts and group memberships shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Generates a comprehensive report of all local user accounts, their group memberships, login sessions, and user profiles on the system. Provides a single view of all user-related information for auditing and troubleshooting. + + Usage Notes + ----------- + - No inputs required - reports on current system state + - Reports all local users including disabled accounts + - Shows group membership for each user + - Displays active login sessions + - Lists user profile folders with last use time and size + + Requirements + ------------ + - Windows 10/11 or Windows Server + - PowerShell 5.1+ + - Admin privileges recommended for full details groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NA -lastPushedChecksum: "sha256:5aff121cdaf29830" -lastPushedMetaChecksum: "sha256:eb56039b2c2a055c" \ No newline at end of file +lastPushedChecksum: sha256:5aff121cdaf29830 +lastPushedMetaChecksum: sha256:eb56039b2c2a055c diff --git a/scripts/usmt_lan_migrate.level.yaml b/scripts/usmt_lan_migrate.level.yaml index 89a46a5..0df3c43 100644 --- a/scripts/usmt_lan_migrate.level.yaml +++ b/scripts/usmt_lan_migrate.level.yaml @@ -1,8 +1,37 @@ name: usmt_lan_migrate.ps1 +description: LAN profile migration over USMT, store moved via LocalSend or path shell: POWERSHELL runAs: SYSTEM timeout: 60 +readme: | + Purpose + ------- + Migrates a Windows local-account user profile from an OLD laptop to a NEW laptop across the same local network using USMT. The same script is dropped on both machines; a role selector decides whether the machine is the Sender (old) or the Receiver (new). The compressed USMT migration store (USMT.MIG) is moved between machines by LocalSend (primary) or a plain file path (UNC/SMB/USB) fallback. Carries profile data and settings only, not installed applications. Targets are local accounts in a workgroup; Entra/Azure AD accounts are out of scope. + + Usage Notes + ----------- + - Interactive by default (menu asks role first: OLD/Sender vs NEW/Receiver), or unattended via the hardcoded CONFIG block at the top of the script. + - Sender: installs USMT + LocalSend CLI, picks the profile, runs a scanstate /p space estimate, then scanstate with compression ON to produce a single USMT.MIG, then sends the store. + - Receiver: installs USMT + LocalSend CLI, opens a temporary firewall rule and receives the store (or reads it from a path), optionally creates the target local account, then runs loadstate with /mu source:target mapping. Unattended runs still require -Force/config flag before the destructive loadstate. + - Compression is forced ON so the store is one clean USMT.MIG for a single LocalSend transfer. + - For very large profiles (>20 GB) over WiFi, the path transport (wired/USB/UNC) is recommended; the Sender warns when the estimate is large. + - LocalSend CLI used: 0w0mewo/localsend-cli (Go), release v0.0.7, port 53317. send --ip -f ; recv -d ; scan -t . Verified against the CLI command source, not the stub official README. + - Default staging/store path: C:\MigrationStore + + Requirements + ------------ + - Windows 10/11 or Windows Server, PowerShell 5.1+ + - Administrator privileges (loadstate, account creation, firewall rule, scanstate) + - Both machines on the same subnet (LocalSend discovery uses mDNS) + - Internet connectivity on first run (USMT + LocalSend CLI download) + - Sufficient disk for the migration store on both ends + + Security + -------- + - No secrets in logs: the encryption key and new-account password are never printed and never written to backup_info.json (the key is recorded only as the literal "[ENCRYPTED]" marker). + - The temporary inbound firewall rule for the LocalSend port is always removed in a finally block, even on failure. + - LocalSend transfer is HTTPS by default. groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NQ -lastPushedChecksum: "sha256:fc591c1e7cec5da2" -lastPushedMetaChecksum: "sha256:d30705f7f91d628a" \ No newline at end of file +lastPushedChecksum: sha256:fc591c1e7cec5da2 +lastPushedMetaChecksum: sha256:d30705f7f91d628a diff --git a/scripts/usmt_profile_migrate.level.yaml b/scripts/usmt_profile_migrate.level.yaml index b8575c7..a90d74b 100644 --- a/scripts/usmt_profile_migrate.level.yaml +++ b/scripts/usmt_profile_migrate.level.yaml @@ -1,8 +1,29 @@ name: usmt_profile_migrate.ps1 +description: Interactive USMT backup/restore for remote terminal sessions shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Interactive USMT (User State Migration Tool) backup and restore utility for remote terminal sessions. Enables backing up user profiles from one machine and restoring them to another, including documents, settings, and application data. + + Usage Notes + ----------- + - Run interactively via menu-driven interface + - Backup options: Documents, Desktop, Downloads, Pictures, Music, Videos, Favorites/Bookmarks, AppData, Printers, Wallpaper settings + - Optional encryption for backup security + - Restore options: merge to existing account or create new local account + - USMT tools are auto-downloaded if not present + - Default store path: C:\MigrationStore + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges required + - Internet connectivity for initial USMT download + - Sufficient disk space for migration store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Ng -lastPushedChecksum: "sha256:d397fd188deca05c" -lastPushedMetaChecksum: "sha256:c77f52ec9315ef91" \ No newline at end of file +lastPushedChecksum: sha256:d397fd188deca05c +lastPushedMetaChecksum: sha256:c77f52ec9315ef91 diff --git a/scripts/webview2_repair_install.level.yaml b/scripts/webview2_repair_install.level.yaml index d2f18ca..a3b5cf2 100644 --- a/scripts/webview2_repair_install.level.yaml +++ b/scripts/webview2_repair_install.level.yaml @@ -1,8 +1,31 @@ name: webview2_repair_install.ps1 +description: Detects and repairs broken Microsoft Edge WebView2 Runtime installs shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Detects broken installations of the Microsoft Edge WebView2 Runtime where the registry still references a version that no longer exists on disk, and repairs them by removing stale ClientState keys and reinstalling the current Evergreen Runtime via Microsoft's official bootstrapper. + + Usage Notes + ----------- + - Validates input parameters before proceeding + - Detects existing WebView2 install across HKLM 64-bit, HKLM 32-bit, HKCU + - Verifies the on-disk install folder matches the registry version + - Removes stale ClientState registry keys when the install is broken (or when forced) + - Downloads the Evergreen bootstrapper to TEMP and runs it silently with /silent /install + - Re-verifies the install via registry and filesystem after the bootstrapper completes + - Cleans up the installer file on success + - Download URL: https://go.microsoft.com/fwlink/p/?LinkId=2124703 + - Force Reinstall: false + + Requirements + ------------ + - Windows PowerShell 5.1 or later + - Administrator privileges (required for HKLM key removal and system-wide install) + - Internet connectivity to go.microsoft.com groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Nw -lastPushedChecksum: "sha256:eb622de3ac3b06f0" -lastPushedMetaChecksum: "sha256:f2879d8e7e8e9065" \ No newline at end of file +lastPushedChecksum: sha256:eb622de3ac3b06f0 +lastPushedMetaChecksum: sha256:f2879d8e7e8e9065 diff --git a/scripts/wifi_adapters_disable.level.yaml b/scripts/wifi_adapters_disable.level.yaml index b057dff..ed7e32f 100644 --- a/scripts/wifi_adapters_disable.level.yaml +++ b/scripts/wifi_adapters_disable.level.yaml @@ -1,8 +1,27 @@ name: wifi_adapters_disable.ps1 +description: Disables all physical and virtual Wi-Fi network adapters shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Identifies and disables all physical and virtual Wi-Fi network adapters on a Windows system. Enforces a wired-only network policy by ensuring that wireless connectivity is turned off while leaving Ethernet adapters enabled. + + Usage Notes + ----------- + - Checks for administrative privileges before proceeding + - Enumerates all network adapters including hidden ones + - Categorizes adapters as Wi-Fi, Wired, or Other + - Displays detailed list of all adapters for review + - Disables all Wi-Fi adapters; Ethernet/wired adapters are not affected + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - Get-NetAdapter cmdlet available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OA -lastPushedChecksum: "sha256:16dd67e48b67ceaf" -lastPushedMetaChecksum: "sha256:e235b3de0a3f16ca" \ No newline at end of file +lastPushedChecksum: sha256:16dd67e48b67ceaf +lastPushedMetaChecksum: sha256:e235b3de0a3f16ca diff --git a/scripts/wifi_passwords_show.level.yaml b/scripts/wifi_passwords_show.level.yaml index 5e381e4..9f83e6c 100644 --- a/scripts/wifi_passwords_show.level.yaml +++ b/scripts/wifi_passwords_show.level.yaml @@ -1,8 +1,31 @@ name: wifi_passwords_show.ps1 +description: Retrieves and displays all saved Wi-Fi network passwords shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Retrieves and displays all saved Wi-Fi network profiles and their passwords stored on the Windows system. Useful for recovering forgotten passwords or auditing saved wireless credentials. + + Usage Notes + ----------- + - Queries all saved wireless network profiles via netsh + - Retrieves the password (key content) for each profile + - Displays results in a formatted table with SSID and password + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges (for key retrieval) + - Wireless adapter present (or previously present) + + Security + -------- + - Displays sensitive credential information in plain text + - Run only on systems you are authorized to audit + - Passwords are retrieved from Windows credential store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OQ -lastPushedChecksum: "sha256:23635bb4bd6d99f9" -lastPushedMetaChecksum: "sha256:3494f8256d8a829c" \ No newline at end of file +lastPushedChecksum: sha256:23635bb4bd6d99f9 +lastPushedMetaChecksum: sha256:3494f8256d8a829c diff --git a/scripts/wifiman_install.level.yaml b/scripts/wifiman_install.level.yaml index c130a12..ebe6ef1 100644 --- a/scripts/wifiman_install.level.yaml +++ b/scripts/wifiman_install.level.yaml @@ -1,8 +1,26 @@ name: wifiman_install.ps1 +description: Installs Ubiquiti WiFiman Desktop via winget shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs Ubiquiti WiFiman Desktop application using winget. Automatically installs winget if not present on the system. + + Usage Notes + ----------- + - Package ID is hardcoded (UbiquitiInc.WiFimanDesktop) + - Validates input parameters before proceeding + - Checks if winget is installed; installs via PowerShell Gallery if missing + - Installs WiFiman using winget with unattended options + + Requirements + ------------ + - Windows 10 1809+ or Windows 11 + - Administrator privileges + - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MA -lastPushedChecksum: "sha256:22ab242925134ed1" -lastPushedMetaChecksum: "sha256:4213cc25f3080170" \ No newline at end of file +lastPushedChecksum: sha256:22ab242925134ed1 +lastPushedMetaChecksum: sha256:4213cc25f3080170 diff --git a/scripts/win11_compatibility_check.level.yaml b/scripts/win11_compatibility_check.level.yaml index 89a393c..25f5862 100644 --- a/scripts/win11_compatibility_check.level.yaml +++ b/scripts/win11_compatibility_check.level.yaml @@ -1,8 +1,25 @@ name: win11_compatibility_check.ps1 +description: Checks hardware requirements for Windows 11 upgrade shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Checks if the current Windows device meets the hardware requirements for Windows 11 upgrade, including processor (2+ cores, 1GHz+), RAM (4GB+), storage (64GB+), TPM 2.0, Secure Boot capability, and UEFI firmware. + + Usage Notes + ----------- + - Checks processor specifications, RAM capacity, and disk space + - Checks TPM version and Secure Boot status + - Reports pass/fail for each component independently + - Provides overall compatibility verdict with specific issues listed + + Requirements + ------------ + - Windows 10 + - Administrator privileges (for TPM check) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MQ -lastPushedChecksum: "sha256:12be2dab9e24d0d4" -lastPushedMetaChecksum: "sha256:cb9759f884e01ef0" \ No newline at end of file +lastPushedChecksum: sha256:12be2dab9e24d0d4 +lastPushedMetaChecksum: sha256:cb9759f884e01ef0 diff --git a/scripts/windows11_compatibility_check.level.yaml b/scripts/windows11_compatibility_check.level.yaml index 65b4674..d1baaa2 100644 --- a/scripts/windows11_compatibility_check.level.yaml +++ b/scripts/windows11_compatibility_check.level.yaml @@ -1,8 +1,33 @@ name: windows11_compatibility_check.ps1 +description: Checks TPM, SecureBoot, RAM, CPU compatibility for Windows 11 shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Evaluates system compatibility for Windows 11 upgrade by checking hardware requirements including TPM 2.0, Secure Boot, CPU compatibility, RAM, storage, and UEFI firmware. Identifies blockers preventing upgrade and attempts to enable required features where possible. Designed for RMM deployment to assess upgrade readiness across a fleet of devices. + + Usage Notes + ----------- + - Configurable minimum requirements: MinimumRamGB (default 4), MinimumStorageGB (default 64) + - CheckOnly mode for read-only assessment (default: true) + - Optional AttemptAutoFix to enable TPM or Secure Boot if hardware supports it (default: false) + - Checks TPM version/status, Secure Boot, CPU against known compatible list, RAM, storage, and UEFI firmware + - Reports all blockers with specific remediation steps + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges required + - Windows 10 or Windows 11 operating system + - TPM and Secure Boot cmdlets available (built into Windows) + + Security + -------- + - Changing BIOS settings (TPM, Secure Boot) requires system reboot + - Auto-fix operations are potentially disruptive to the system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mg -lastPushedChecksum: "sha256:c2db40bcd9a3a6cf" -lastPushedMetaChecksum: "sha256:de95f2fc4499a8ad" \ No newline at end of file +lastPushedChecksum: sha256:c2db40bcd9a3a6cf +lastPushedMetaChecksum: sha256:de95f2fc4499a8ad diff --git a/scripts/windows_dark_mode_enable.level.yaml b/scripts/windows_dark_mode_enable.level.yaml index 73c7d65..df7493a 100644 --- a/scripts/windows_dark_mode_enable.level.yaml +++ b/scripts/windows_dark_mode_enable.level.yaml @@ -1,8 +1,28 @@ name: windows_dark_mode_enable.ps1 +description: Sets wallpaper and dark mode on non-activated Windows 11 shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Bypasses the locked personalization settings on non-activated Windows 11 by applying wallpaper and dark mode settings directly via registry. Also optionally configures UTC hardware clock for dual-boot Linux compatibility. + + Usage Notes + ----------- + - Downloads wallpaper from configured URL to Public Pictures + - Sets dark mode registry keys for both Apps and System themes + - Sets wallpaper path in registry and applies via UpdatePerUserSystemParameters + - Restarts Explorer to apply theme changes immediately + - Optional UTC clock fix for dual-boot systems (fixUtcClock) + - Configurable inputs: wallpaperUrl, wallpaperPath, enableDarkMode, fixUtcClock + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges (required for UTC clock fix) + - Internet access for wallpaper download groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mw -lastPushedChecksum: "sha256:9d07ef367a12f5b9" -lastPushedMetaChecksum: "sha256:46ab70a35e52ef06" \ No newline at end of file +lastPushedChecksum: sha256:9d07ef367a12f5b9 +lastPushedMetaChecksum: sha256:46ab70a35e52ef06 diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index 5fc2aff..47724bb 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -1,8 +1,35 @@ name: windows_dism_sfc_chkdsk_run.ps1 +description: Runs DISM, SFC, and chkdsk for Windows system file repair shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 240 +readme: | + Purpose + ------- + Runs standard Windows health checks and repair commands including DISM image health scans, disk checks, system file verification, and component cleanup. Designed for unattended execution in RMM environments to perform routine system maintenance and repair operations. + + Usage Notes + ----------- + - Configurable operations via hardcoded flags: RunDismScan, RunDismRestore, RunChkdsk, RunSfc + - DISM RestoreHealth only runs if ScanHealth detects corruption (saves time on healthy systems) + - chkdsk runs against all fixed local drives (DriveType 3) + - ChkdskParameters default to /scan; use /f /r for full check + - Optional RebootAfterMaintenance with 5-minute warning (default: false) + - Failed operations are reported but script continues to next operation + - DISM operates in online mode against the running Windows installation + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges required + - Windows 8.1/Server 2012 R2 or later for DISM commands + - Sufficient disk space for repair operations + + Security + -------- + - Operations may cause system modifications and require reboots + - Requires elevated permissions to modify system components groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA -lastPushedChecksum: "sha256:be481319dad82072" -lastPushedMetaChecksum: "sha256:c9425b5dcbbd3ead" \ No newline at end of file +lastPushedChecksum: sha256:be481319dad82072 +lastPushedMetaChecksum: sha256:c9425b5dcbbd3ead diff --git a/scripts/windows_firewall_toggle.level.yaml b/scripts/windows_firewall_toggle.level.yaml index 2987910..1753f35 100644 --- a/scripts/windows_firewall_toggle.level.yaml +++ b/scripts/windows_firewall_toggle.level.yaml @@ -1,8 +1,29 @@ name: windows_firewall_toggle.ps1 +description: Enables or disables Windows Firewall for all profiles shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Toggles Windows Firewall state for all profiles (Domain, Private, Public). If firewall is ON, turns it OFF. If firewall is OFF, turns it ON. + + Usage Notes + ----------- + - No inputs required; automatically detects current state and toggles + - Affects all firewall profiles: Domain, Private, Public + - Verifies new state after toggle + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges required + + Security + -------- + - Disabling firewall reduces system security + - Use with caution in production environments groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NQ -lastPushedChecksum: "sha256:3ababf5f681c4117" -lastPushedMetaChecksum: "sha256:244e9f3a61d8f1db" \ No newline at end of file +lastPushedChecksum: sha256:3ababf5f681c4117 +lastPushedMetaChecksum: sha256:244e9f3a61d8f1db diff --git a/scripts/windows_product_key_export_superops.level.yaml b/scripts/windows_product_key_export_superops.level.yaml index 7e56685..6da086e 100644 --- a/scripts/windows_product_key_export_superops.level.yaml +++ b/scripts/windows_product_key_export_superops.level.yaml @@ -1,8 +1,31 @@ name: windows_product_key_export_superops.ps1 +description: Retrieves Windows product key and syncs to SuperOps custom field shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Retrieves the Windows product key from the local machine's registry by decoding the DigitalProductId value and sends it to a SuperOps custom field for asset management and license tracking. + + Usage Notes + ----------- + - Decodes DigitalProductId from HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion + - Sends product key to SuperOps custom field via Send-CustomField + - CustomFieldName defaults to "Windows Product Key" + - Product key format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX + + Requirements + ------------ + - PowerShell 5.1 or later + - SuperOps RMM agent installed and module available ($SuperOpsModule) + - Registry access to read Windows product information + + Security + -------- + - Product key is considered sensitive licensing data + - Product key is sent to SuperOps; no secrets appear in local logs groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Ng -lastPushedChecksum: "sha256:8c4fd9133fdd413e" -lastPushedMetaChecksum: "sha256:0b1cf48ea7ea8a61" \ No newline at end of file +lastPushedChecksum: sha256:8c4fd9133fdd413e +lastPushedMetaChecksum: sha256:0b1cf48ea7ea8a61 diff --git a/scripts/windows_update_access_restore.level.yaml b/scripts/windows_update_access_restore.level.yaml index 09cb806..a2cef9a 100644 --- a/scripts/windows_update_access_restore.level.yaml +++ b/scripts/windows_update_access_restore.level.yaml @@ -1,8 +1,24 @@ name: windows_update_access_restore.ps1 +description: Restores user access to Windows Update settings shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Removes the SetDisableUXWUAccess registry key to restore user access to Windows Update settings in the Settings app. + + Usage Notes + ----------- + - Checks for SetDisableUXWUAccess registry key under HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate + - Removes the key if present; reports success if key did not exist + - Counterpart to windows_update_access_toggle script + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Nw -lastPushedChecksum: "sha256:b8d790b668a1b512" -lastPushedMetaChecksum: "sha256:818449501b5320ac" \ No newline at end of file +lastPushedChecksum: sha256:b8d790b668a1b512 +lastPushedMetaChecksum: sha256:818449501b5320ac diff --git a/scripts/windows_update_access_toggle.level.yaml b/scripts/windows_update_access_toggle.level.yaml index 643b829..67f18de 100644 --- a/scripts/windows_update_access_toggle.level.yaml +++ b/scripts/windows_update_access_toggle.level.yaml @@ -1,8 +1,25 @@ name: windows_update_access_toggle.ps1 +description: Toggles user access to Windows Update in Settings app shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Toggles user access to Windows Update settings in the Settings app. If access is currently blocked, it will be enabled. If access is currently allowed, it will be blocked. + + Usage Notes + ----------- + - Checks current state of SetDisableUXWUAccess registry key under HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate + - Toggles the state by adding or removing the key + - Reports new state after toggle + - Use windows_update_access_restore to always enable access + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OA -lastPushedChecksum: "sha256:f3e6ce36a0c0a34e" -lastPushedMetaChecksum: "sha256:ee787b5d2983ec6c" \ No newline at end of file +lastPushedChecksum: sha256:f3e6ce36a0c0a34e +lastPushedMetaChecksum: sha256:ee787b5d2983ec6c diff --git a/scripts/windows_update_reset.level.yaml b/scripts/windows_update_reset.level.yaml index 9d9c696..e2b322f 100644 --- a/scripts/windows_update_reset.level.yaml +++ b/scripts/windows_update_reset.level.yaml @@ -1,8 +1,35 @@ name: windows_update_reset.ps1 +description: Resets Windows Update components and clears cache shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Completely resets Windows Update components by stopping services, clearing caches, resetting security descriptors, re-registering DLLs, and restarting services. Fixes most Windows Update problems. + + Usage Notes + ----------- + - Stops BITS, wuauserv, appidsvc, cryptsvc services + - Flushes DNS cache and clears BITS download queue data + - Renames SoftwareDistribution and catroot2 folders (creates .bak for recovery) + - Resets BITS and wuauserv security descriptors + - Re-registers 30+ Windows Update related DLLs + - Resets Winsock + - Restarts all services after reset + - Optional RebootAfterReset (default: false) + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet connectivity for updates after reset + + Security + -------- + - Modifies system registry and service configurations + - Creates .bak folders for recovery of renamed directories groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OQ -lastPushedChecksum: "sha256:dc0660ba30a52b1f" -lastPushedMetaChecksum: "sha256:7bffae2d85e02bcc" \ No newline at end of file +lastPushedChecksum: sha256:dc0660ba30a52b1f +lastPushedMetaChecksum: sha256:7bffae2d85e02bcc diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index 1e8f7f7..78774dc 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -1,8 +1,29 @@ name: winget_package_install.ps1 +description: Installs software package using winget with SuperOps integration shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs a software package using winget (Windows Package Manager). Uses SuperOps runtime text replacement for the package name. Handles silent installation with automatic acceptance of agreements. + + Usage Notes + ----------- + - PackageName runtime variable specifies winget package ID (e.g., "Google.Chrome", "Mozilla.Firefox") + - Validates software name input before proceeding + - Searches for package to verify it exists in the repository + - Silent installation mode with machine scope when available + - Accepts package and source agreements automatically + + Requirements + ------------ + - Winget must be installed (use winget_setup first) + - Administrator privileges recommended + - Internet connectivity +variables: +- name: PackageName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA -lastPushedChecksum: "sha256:81593e032c1092d2" -lastPushedMetaChecksum: "sha256:0123c6e2c2a68bd0" \ No newline at end of file +lastPushedChecksum: sha256:81593e032c1092d2 +lastPushedMetaChecksum: sha256:0123c6e2c2a68bd0 diff --git a/scripts/winget_setup.level.yaml b/scripts/winget_setup.level.yaml index fecdea7..8a1fe20 100644 --- a/scripts/winget_setup.level.yaml +++ b/scripts/winget_setup.level.yaml @@ -1,8 +1,30 @@ name: winget_setup.ps1 +description: Installs winget (Windows Package Manager) for RMM environments shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Installs winget (Windows Package Manager) on Windows systems using the most reliable installation method. Optimized for RMM environments running under SYSTEM context. Uses manual AppX installation method which is more reliable than Repair-WinGetPackageManager. Handles all OS versions including Windows 10, 11, and Server 2019+. + + Usage Notes + ----------- + - Uses manual AppX installation method (most reliable for SYSTEM context) + - Downloads winget and dependencies (VCLibs, UI.Xaml) from GitHub + - Configures PATH environment variable automatically + - Skips installation if winget already exists (unless forceReinstall is true) + - Configurable: forceReinstall (boolean), downloadTimeout (default 120s), skipServerCore (boolean) + - Installs for all users when possible + - Cleans up temporary files after installation + + Requirements + ------------ + - Administrator or SYSTEM privileges + - Windows 10 1809+ or Windows Server 2019+ + - Internet connectivity to GitHub + - PowerShell 5.1 or higher groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MQ -lastPushedChecksum: "sha256:9c39b0b8e934af79" -lastPushedMetaChecksum: "sha256:f64105a38bf30b2c" \ No newline at end of file +lastPushedChecksum: sha256:9c39b0b8e934af79 +lastPushedMetaChecksum: sha256:f64105a38bf30b2c diff --git a/scripts/winget_upgrade_all.level.yaml b/scripts/winget_upgrade_all.level.yaml index 24ea980..2e7fdb7 100644 --- a/scripts/winget_upgrade_all.level.yaml +++ b/scripts/winget_upgrade_all.level.yaml @@ -1,8 +1,28 @@ name: winget_upgrade_all.ps1 +description: Upgrades all winget-managed packages to latest versions shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Upgrades all winget-managed packages to their latest versions. Includes logging and automatic cleanup of old log files. + + Usage Notes + ----------- + - Checks Windows version requirements before proceeding + - Locates winget executable in WindowsApps directory + - Runs winget upgrade --all with silent options + - Accepts all package agreements automatically + - Logs output to Windows temp directory + - Cleans up logs older than 14 days + + Requirements + ------------ + - Windows 10 1809+ or Windows 11 or Server 2022 + - Administrator privileges + - Winget (App Installer) installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mg -lastPushedChecksum: "sha256:a012ab90c5f2a0d1" -lastPushedMetaChecksum: "sha256:3ba7c6926c1e1de9" \ No newline at end of file +lastPushedChecksum: sha256:a012ab90c5f2a0d1 +lastPushedMetaChecksum: sha256:3ba7c6926c1e1de9 diff --git a/scripts/winre_partition_resize.level.yaml b/scripts/winre_partition_resize.level.yaml index c903203..4f87318 100644 --- a/scripts/winre_partition_resize.level.yaml +++ b/scripts/winre_partition_resize.level.yaml @@ -1,8 +1,35 @@ name: winre_partition_resize.ps1 +description: Extends WinRE partition by 250MB for Windows updates shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Extends the Windows Recovery Environment (WinRE) partition by 250MB to resolve issues with Windows updates requiring more recovery partition space. This is commonly needed for KB5034441 and similar updates. + + Usage Notes + ----------- + - Examines current disk layout and WinRE status + - Validates requirements (WinRE enabled, sufficient space) + - Backs up existing WinRE partition content to BackupFolder (default: C:\winre_backup) + - Disables WinRE temporarily, shrinks OS partition by 250MB if needed + - Extends or recreates WinRE partition, then re-enables WinRE + - Verifies new configuration after completion + - Reboot recommended before running + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Sufficient free space on OS partition + - WinRE must be enabled before running + + Security + -------- + - Modifies disk partitions; use with caution + - Creates backup of WinRE content before modification groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mw -lastPushedChecksum: "sha256:193e2e8a68f2a4ce" -lastPushedMetaChecksum: "sha256:1355845eb3b6f5ff" \ No newline at end of file +lastPushedChecksum: sha256:193e2e8a68f2a4ce +lastPushedMetaChecksum: sha256:1355845eb3b6f5ff diff --git a/scripts/winre_restore.level.yaml b/scripts/winre_restore.level.yaml index 25d53dc..59b26e6 100644 --- a/scripts/winre_restore.level.yaml +++ b/scripts/winre_restore.level.yaml @@ -1,8 +1,33 @@ name: winre_restore.ps1 +description: Restores Windows Recovery Environment from system image shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Restores Windows Recovery Environment (WinRE) by downloading Winre.wim and ReAgent.xml files from a specified URL and placing them in the Recovery folder. Fixes systems where WinRE has been corrupted or deleted. + + Usage Notes + ----------- + - Configure WinreWimUrl and ReAgentXmlUrl in script before deployment + - Disables WinRE via reagentc /disable before restore + - Downloads files to TEMP then moves to C:\Windows\System32\Recovery + - Re-enables WinRE via reagentc /enable after restore + - Uses curl with retry and timeout for downloads + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Network connectivity to download URLs + - Valid WinRE files hosted at specified URLs + + Security + -------- + - Downloads from specified URLs; ensure URLs are trusted + - Modifies system recovery configuration groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NA -lastPushedChecksum: "sha256:2ee202fdbbaf51a9" -lastPushedMetaChecksum: "sha256:cc7d3576134909a6" \ No newline at end of file +lastPushedChecksum: sha256:2ee202fdbbaf51a9 +lastPushedMetaChecksum: sha256:cc7d3576134909a6 diff --git a/scripts/winreagent_cleanup.level.yaml b/scripts/winreagent_cleanup.level.yaml index ff9cb4c..9b59a46 100644 --- a/scripts/winreagent_cleanup.level.yaml +++ b/scripts/winreagent_cleanup.level.yaml @@ -1,8 +1,26 @@ name: winreagent_cleanup.ps1 +description: Cleans up WinREAgent folder to free disk space shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Deletes the C:\$WinREAgent folder which contains temporary Windows Recovery Environment update files. This folder can consume significant disk space and is safe to delete after WinRE updates are complete. + + Usage Notes + ----------- + - FolderPath defaults to C:\$WinREAgent + - Checks if folder exists before attempting deletion + - Deletes folder and all contents recursively + - Handles hidden/system folder attributes + - Exits successfully if folder does not exist + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges recommended groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NQ -lastPushedChecksum: "sha256:142834ca4118604e" -lastPushedMetaChecksum: "sha256:d9413c4ac3cde586" \ No newline at end of file +lastPushedChecksum: sha256:142834ca4118604e +lastPushedMetaChecksum: sha256:d9413c4ac3cde586 diff --git a/scripts/wol_enable.level.yaml b/scripts/wol_enable.level.yaml index 5ad67ab..e1c6f50 100644 --- a/scripts/wol_enable.level.yaml +++ b/scripts/wol_enable.level.yaml @@ -1,8 +1,35 @@ name: wol_enable.ps1 +description: Enables Wake-on-LAN settings for Ethernet adapters shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Enables Wake-on-LAN (WOL) in both BIOS/UEFI and Windows NIC settings. Supports Dell, HP, and Lenovo systems with manufacturer-specific BIOS modules. Also enables WOL on all capable network adapters in Windows. + + Usage Notes + ----------- + - Auto-detects system manufacturer via CIM + - Checks and installs required PowerShell modules (NuGet, PSGallery) + - Installs manufacturer-specific BIOS module if needed + - Dell: Uses DellBIOSProvider, sets WakeOnLan to LANOnly + - HP: Uses HPCMSL, sets Wake On Lan to Boot to Hard Drive + - Lenovo: Uses WMI, sets WakeOnLAN to Primary + - Enables MSPower_DeviceWakeEnable on all capable Windows NICs + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - Internet connectivity for module installation + - Supported manufacturer: Dell, HP, or Lenovo + + Security + -------- + - Modifies BIOS settings (requires admin) + - Installs PowerShell modules from PSGallery groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Ng -lastPushedChecksum: "sha256:2af7e13609778071" -lastPushedMetaChecksum: "sha256:88cffcd9b1053cd2" \ No newline at end of file +lastPushedChecksum: sha256:2af7e13609778071 +lastPushedMetaChecksum: sha256:88cffcd9b1053cd2 diff --git a/scripts/wol_status_check.level.yaml b/scripts/wol_status_check.level.yaml index c6a37d1..4430424 100644 --- a/scripts/wol_status_check.level.yaml +++ b/scripts/wol_status_check.level.yaml @@ -1,8 +1,28 @@ name: wol_status_check.ps1 +description: Checks Wake-on-LAN status at BIOS and OS levels shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Checks the Wake-on-LAN (WOL) status at both BIOS and OS levels. Supports Dell, HP, and Lenovo devices by using manufacturer-specific PowerShell modules to query BIOS settings. + + Usage Notes + ----------- + - Detects device manufacturer (Dell, HP, or Lenovo) + - Installs required PowerShell modules if needed + - Queries BIOS for WOL settings using manufacturer-specific module + - Checks OS-level NIC WOL configuration + - Reports combined BIOS and OS WOL status + + Requirements + ------------ + - Windows 10/11 or Windows Server + - Administrator privileges + - Internet access for module installation + - Supported manufacturer: Dell, HP, or Lenovo groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Nw -lastPushedChecksum: "sha256:fd47c8923957702e" -lastPushedMetaChecksum: "sha256:b66666e156ff500b" \ No newline at end of file +lastPushedChecksum: sha256:fd47c8923957702e +lastPushedMetaChecksum: sha256:b66666e156ff500b diff --git a/scripts/workstation_info_display.level.yaml b/scripts/workstation_info_display.level.yaml index 9021eaa..824fda0 100644 --- a/scripts/workstation_info_display.level.yaml +++ b/scripts/workstation_info_display.level.yaml @@ -1,8 +1,30 @@ name: workstation_info_display.ps1 +description: Displays system info popup for user self-service from tray icon shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Collects and displays comprehensive workstation information including operating system details, computer name, current user, CPU specifications, memory capacity, network adapter configuration, and hardware serial number. Designed for quick troubleshooting access via tray icon menu or RMM execution with dual output modes. + + Usage Notes + ----------- + - DisplayMode: "popup" (Windows Forms message box) or "console" (text output for RMM capture) + - IncludeNetwork: whether to include detailed network adapter information (default: true) + - PopupTitle: title text for the popup message box (default: "Workstation Information") + - Uses CIM/WMI queries for hardware and OS data collection + - Network adapter information limited to enabled adapters only + - Memory sizes reported in GB with 2 decimal precision + - Missing or unavailable information reported as N/A + + Requirements + ------------ + - PowerShell 5.1 or later + - Windows with CIM/WMI support + - For popup mode: .NET Framework (included in Windows) + - No special permissions required (runs in user context) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OA -lastPushedChecksum: "sha256:330cc5d8ea5101af" -lastPushedMetaChecksum: "sha256:5e67e31cb9cfabba" \ No newline at end of file +lastPushedChecksum: sha256:330cc5d8ea5101af +lastPushedMetaChecksum: sha256:5e67e31cb9cfabba diff --git a/scripts/workstation_info_display_macos.level.yaml b/scripts/workstation_info_display_macos.level.yaml index c23ad08..e6c8acf 100644 --- a/scripts/workstation_info_display_macos.level.yaml +++ b/scripts/workstation_info_display_macos.level.yaml @@ -1,8 +1,26 @@ name: workstation_info_display_macos.sh +description: Displays system info popup dialog for macOS user self-service shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Displays a popup dialog showing system information to the end user on macOS. Designed to be triggered from the RMM tray icon for user self-service. Provides quick access to basic system details without opening System Preferences. + + Usage Notes + ----------- + - Collects OS name/version (sw_vers), computer name (scutil), CPU/RAM (sysctl), IP address (ipconfig) + - Builds and displays an AppleScript dialog with system information + - Runs dialog in background so popup remains after script exits + - Script exits immediately; popup stays open for the user + + Requirements + ------------ + - macOS 10.14 or later + - No special privileges required + - AppleScript/osascript available (included in macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OQ -lastPushedChecksum: "sha256:1308f5b29f92137a" -lastPushedMetaChecksum: "sha256:b5fe06babde72053" \ No newline at end of file +lastPushedChecksum: sha256:1308f5b29f92137a +lastPushedMetaChecksum: sha256:b5fe06babde72053 diff --git a/scripts/workstation_oobe_seal.level.yaml b/scripts/workstation_oobe_seal.level.yaml index c9568fc..1dd5306 100644 --- a/scripts/workstation_oobe_seal.level.yaml +++ b/scripts/workstation_oobe_seal.level.yaml @@ -1,8 +1,37 @@ name: workstation_oobe_seal.ps1 +description: Seals a configured Win11 image to a silent OOBE via sysprep shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Finishes provisioning an OEM Windows 11 machine that has been configured in audit mode. It removes any stale local admin account left over from a prior run, writes a sysprep answer file that auto-creates a local administrator and silently skips the out-of-box setup screens, then runs sysprep to generalize the image to OOBE and power the machine off. The next power-on runs a silent OOBE that creates the admin account, logs in once, and lands on the desktop. + + Usage Notes + ----------- + - Run interactively in audit mode as the built-in Administrator, NOT pushed by an RMM agent. The runAs enum is set to SYSTEM_USER as the closest match; the real context is the built-in Administrator on the audit-mode desktop from a USB. + - Validates the CONFIG values and rejects the placeholder password + - Removes a stale local admin account (and its profile) if present + - Writes the embedded answer file to C:\Windows\Temp\unattend.xml + - Runs sysprep /oobe /shutdown /unattend:, which generalizes the image and POWERS THE MACHINE OFF + - OOBE screens hidden: EULA, OEM registration, online account, local account, wireless setup + - AutoLogon enabled once (LogonCount = 1) for the new admin + - The OOBE-skip works only because sysprep actively applies the answer file; dropping unattend.xml into C:\Windows\Panther or setting the ChildCompletion registry flag does NOT work on modern Windows 11 + - Edit the CONFIG block before running: $adminName, $adminPassword, $timeZone + + Requirements + ------------ + - Windows 11 (OEM image), sitting in audit mode + - Running interactively as the built-in Administrator (audit-mode desktop) + - PowerShell 5.1+ with an elevated session + + Security + -------- + - The admin password is written in plain text into the answer file (a sysprep requirement). Sysprep deletes the answer file on successful generalize, but treat the configured password as sensitive. + - No working password ships with this script. The default is an obvious placeholder the operator must replace; the script refuses to run until it is changed. + - Change or rotate the OOBE-created admin password after first logon per your provisioning policy. groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMA -lastPushedChecksum: "sha256:131faea0ea03ff73" -lastPushedMetaChecksum: "sha256:3218c39216b9cf87" \ No newline at end of file +lastPushedChecksum: sha256:131faea0ea03ff73 +lastPushedMetaChecksum: sha256:3218c39216b9cf87 diff --git a/scripts/workstation_reboot_force.level.yaml b/scripts/workstation_reboot_force.level.yaml index 846be28..b2891f2 100644 --- a/scripts/workstation_reboot_force.level.yaml +++ b/scripts/workstation_reboot_force.level.yaml @@ -1,8 +1,25 @@ name: workstation_reboot_force.ps1 +description: Forces an immediate system reboot without user prompts shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Forces an immediate system reboot, closing all applications without saving or prompting. Designed for RMM deployment when a machine needs to be rebooted regardless of user activity or open applications. + + Usage Notes + ----------- + - Initiates forced immediate reboot via shutdown.exe + - Force mode enabled: closes applications without prompting + - Timeout: 0 seconds (immediate reboot) + - Users will lose unsaved work + + Requirements + ------------ + - PowerShell 5.1 or later + - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMQ -lastPushedChecksum: "sha256:396ded2032104a45" -lastPushedMetaChecksum: "sha256:593dcf9bfb3334f9" \ No newline at end of file +lastPushedChecksum: sha256:396ded2032104a45 +lastPushedMetaChecksum: sha256:593dcf9bfb3334f9 diff --git a/scripts/workstation_remote_wipe.level.yaml b/scripts/workstation_remote_wipe.level.yaml index 8196395..5ee576f 100644 --- a/scripts/workstation_remote_wipe.level.yaml +++ b/scripts/workstation_remote_wipe.level.yaml @@ -1,8 +1,32 @@ name: workstation_remote_wipe.ps1 +description: Initiates MDM remote wipe to factory reset Windows device shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Initiates a remote wipe of the Windows device using the MDM RemoteWipe CSP. This completely erases all data on the device and resets it to factory state. WARNING: THIS ACTION IS IRREVERSIBLE. ALL DATA WILL BE PERMANENTLY DELETED. + + Usage Notes + ----------- + - Creates CIM session to local MDM namespace + - Retrieves MDM_RemoteWipe instance and invokes doWipeMethod + - Device begins factory reset process immediately + - No configurable settings; wipe executes upon script run + + Requirements + ------------ + - Windows 10/11 (MDM enrolled or Azure AD joined) + - Administrator privileges + - Device must have MDM RemoteWipe capability + + Security + -------- + - Use only on lost/stolen devices or for secure decommissioning + - Cannot be undone once initiated + - Ensure proper authorization before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMg -lastPushedChecksum: "sha256:ee9261e6127e7c42" -lastPushedMetaChecksum: "sha256:b4f3ccbd95fa3ea6" \ No newline at end of file +lastPushedChecksum: sha256:ee9261e6127e7c42 +lastPushedMetaChecksum: sha256:b4f3ccbd95fa3ea6 diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 6bb3006..7357b15 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -1,8 +1,34 @@ name: workstation_rename_auto.ps1 +description: Auto-renames Windows device using CLIENT3-USER-UUID pattern shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Renames a Windows device using the pattern CLIENT3-USERUUID (max 15 chars) and syncs the same name to SuperOps. CLIENT3 is a 3-char abbreviation of the client name, USER is the sanitized username (maximized, truncated if needed), and UUID is the SMBIOS UUID tail (at least 3 chars). + + Usage Notes + ----------- + - Requires SuperOps runtime variables: + - $YourApiKeyHere: SuperOps API key + - $YourAssetIdHere: Asset ID (placeholder) + - $YourAssetNameHere: Current asset name (placeholder) + - $YourClientNameHere: Client name (placeholder) + - Only A-Z, 0-9, and hyphen used in hostname + - Always exactly 15 characters + - SuperOps asset name updated via GraphQL API + - Reboot required for hostname change to take effect + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - SuperOps agent installed + - Internet access for SuperOps API +variables: +- name: YourApiKeyHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw -lastPushedChecksum: "sha256:d5996dd1d435f7a6" -lastPushedMetaChecksum: "sha256:2030f4b2237f4528" \ No newline at end of file +lastPushedChecksum: sha256:d5996dd1d435f7a6 +lastPushedMetaChecksum: sha256:2030f4b2237f4528 diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml index a04d864..35e4df8 100644 --- a/scripts/workstation_rename_auto_macos.level.yaml +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -1,8 +1,28 @@ name: workstation_rename_auto_macos.sh +description: Auto-renames macOS device using CLIENT-USER-UUID pattern shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Automatically renames a macOS device using a standardized naming pattern: CLIENT3-USER-UUID. Sets HostName, ComputerName, and LocalHostName. Designed for RMM deployment with automatic client/user detection. + + Usage Notes + ----------- + - Client name from RMM placeholder $YourClientNameHere (3-char abbreviation used) + - Username detected from current console user + - UUID from hardware identifier + - Final hostname is exactly 15 characters (NetBIOS compatible) + - Flushes DNS cache after rename + - Skips rename if hostname already matches + + Requirements + ------------ + - macOS 10.14 or later + - Root/sudo access + - RMM variable $YourClientNameHere must be set groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNA -lastPushedChecksum: "sha256:e20d54ceb44212c7" -lastPushedMetaChecksum: "sha256:61983d88970fe242" \ No newline at end of file +lastPushedChecksum: sha256:e20d54ceb44212c7 +lastPushedMetaChecksum: sha256:61983d88970fe242 diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 2499d1d..2a18050 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -1,8 +1,36 @@ name: workstation_rename_manual.ps1 +description: Renames Windows device with custom client segment override shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Renames a Windows device using the pattern CLIENT-USERUUID (max 15 chars) and syncs the same name to SuperOps. CLIENT is a custom override from $YourCustomClientHere (variable length, sanitized A-Z0-9), falling back to $YourClientNameHere. USER is the sanitized username (maximized, truncated if needed), and UUID is the SMBIOS UUID tail (at least 3 chars). + + Usage Notes + ----------- + - Requires SuperOps runtime variables: + - $YourApiKeyHere: SuperOps API key + - $YourCustomClientHere: Custom client segment (overrides auto 3-char) + - $YourAssetIdHere: Asset ID (placeholder) + - $YourAssetNameHere: Current asset name (placeholder) + - $YourClientNameHere: Client name fallback (placeholder) + - Only A-Z, 0-9, and hyphen used in hostname + - Always exactly 15 characters + - SuperOps asset name updated via GraphQL API + - Reboot required for hostname change to take effect + + Requirements + ------------ + - Windows 10/11 + - Administrator privileges + - SuperOps agent installed + - Internet access for SuperOps API +variables: +- name: YourApiKeyHere +- name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: "sha256:2140a719a807fc81" -lastPushedMetaChecksum: "sha256:3c56d6794802d9b0" \ No newline at end of file +lastPushedChecksum: sha256:2140a719a807fc81 +lastPushedMetaChecksum: sha256:3c56d6794802d9b0 diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index 057303c..93ea415 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -1,8 +1,31 @@ name: workstation_rename_manual_macos.sh +description: Renames macOS device with custom name via RMM variable shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Renames a macOS device using a custom client segment with standardized naming pattern: CLIENT-USER-UUID. Allows variable length client segment override. Sets HostName, ComputerName, and LocalHostName. Designed for RMM deployment with custom client naming. + + Usage Notes + ----------- + - Custom client from $YourCustomClientHere (variable length, primary) + - Fallback to $YourClientNameHere if custom not set + - Username detected from current console user + - UUID from hardware identifier + - Final hostname is exactly 15 characters (NetBIOS compatible) + - Flushes DNS cache after rename + - Skips rename if hostname already matches + + Requirements + ------------ + - macOS 10.14 or later + - Root/sudo access + - RMM variable $YourCustomClientHere or $YourClientNameHere must be set +variables: +- name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg -lastPushedChecksum: "sha256:cf6852c71596e859" -lastPushedMetaChecksum: "sha256:4a959f95de3ce49e" \ No newline at end of file +lastPushedChecksum: sha256:cf6852c71596e859 +lastPushedMetaChecksum: sha256:4a959f95de3ce49e diff --git a/scripts/workstation_screenshot_macos.level.yaml b/scripts/workstation_screenshot_macos.level.yaml index 16dee03..1646842 100644 --- a/scripts/workstation_screenshot_macos.level.yaml +++ b/scripts/workstation_screenshot_macos.level.yaml @@ -1,8 +1,30 @@ name: workstation_screenshot_macos.sh +description: Captures screenshot of all displays on macOS shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Captures a screenshot on macOS and saves it with a timestamped filename. Uses the native screencapture utility for silent capture. Designed for RMM deployment to capture system state for troubleshooting. + + Usage Notes + ----------- + - Creates screenshot directory at /tmp/screenshots/ if it does not exist + - Filename format: screenshot_YYYYMMDD_HHMMSS.png + - Silent capture enabled (-x flag, no shutter sound) + - Screenshots saved to /tmp (auto-cleaned on reboot) + + Requirements + ------------ + - macOS 10.12 or later + - screencapture utility (standard macOS component) + - Screen Recording permission may be required (System Preferences > Security) + + Security + -------- + - May capture sensitive on-screen content groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNw -lastPushedChecksum: "sha256:68e461f9f17d2d4c" -lastPushedMetaChecksum: "sha256:a2bf54db73b133ee" \ No newline at end of file +lastPushedChecksum: sha256:68e461f9f17d2d4c +lastPushedMetaChecksum: sha256:a2bf54db73b133ee diff --git a/scripts/workstation_uptime_reboot_macos.level.yaml b/scripts/workstation_uptime_reboot_macos.level.yaml index 7a9743f..44ffc14 100644 --- a/scripts/workstation_uptime_reboot_macos.level.yaml +++ b/scripts/workstation_uptime_reboot_macos.level.yaml @@ -1,8 +1,28 @@ name: workstation_uptime_reboot_macos.sh +description: Reboots macOS when uptime exceeds configured threshold shell: BASH runAs: SYSTEM -timeout: 60 +timeout: 15 +readme: | + Purpose + ------- + Automatically reboots a macOS or Linux system if the uptime exceeds a specified threshold (default: 14 days). Useful for ensuring systems are restarted periodically to apply updates and clear memory. + + Usage Notes + ----------- + - Detects operating system (Linux or macOS) + - Compares current uptime against threshold + - Reboots if threshold exceeded, otherwise exits cleanly + - Default maximum uptime: 14 days + - Linux: Reads uptime from /proc/uptime + - macOS: Uses sysctl kern.boottime + + Requirements + ------------ + - macOS or Linux with /proc/uptime (Linux) or sysctl (macOS) + - Root/sudo privileges for reboot + - max_uptime_days: Days before triggering reboot (default: 14) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwOA -lastPushedChecksum: "sha256:3ba41914e543c9d9" -lastPushedMetaChecksum: "sha256:b5fa780d48e91a3a" \ No newline at end of file +lastPushedChecksum: sha256:3ba41914e543c9d9 +lastPushedMetaChecksum: sha256:b5fa780d48e91a3a From 04be6442cec6af45c510ebfbfac88898dce63938 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 10 Jul 2026 01:51:39 -0500 Subject: [PATCH 03/36] chore: sync scripts [smart-sync] --- scripts/1password_install.level.yaml | 10 +++---- scripts/agent_startup_fix.level.yaml | 8 ++--- scripts/antivirus_status.level.yaml | 8 ++--- scripts/antivirus_uninstall.level.yaml | 10 +++---- scripts/arch_update_verbose.level.yaml | 8 ++--- scripts/bitlocker_superops_enable.level.yaml | 10 +++---- .../canon_mf455dw_driver_install.level.yaml | 8 ++--- scripts/choco_upgrade_all.level.yaml | 8 ++--- scripts/cloudflared_install.level.yaml | 12 ++++---- scripts/cloudflared_status.level.yaml | 8 ++--- scripts/cloudflared_uninstall.level.yaml | 8 ++--- scripts/cloudflared_upgrade.level.yaml | 8 ++--- scripts/cups_toggle_macos.level.yaml | 10 +++---- scripts/dell_command_update.level.yaml | 8 ++--- .../delprof2_old_profiles_delete.level.yaml | 12 ++++---- .../delprof2_profiles_delete_all.level.yaml | 10 +++---- .../delprof2_selected_profile_keep.level.yaml | 12 ++++---- ...elprof2_specific_profile_delete.level.yaml | 12 ++++---- scripts/deskview_install.level.yaml | 8 ++--- scripts/dietpi_proxmox_install.level.yaml | 10 +++---- scripts/directory_cleanup.level.yaml | 12 ++++---- scripts/directory_size_analyze.level.yaml | 10 +++---- scripts/disk_cleanup.level.yaml | 8 ++--- scripts/disk_scan_fix.level.yaml | 8 ++--- scripts/disk_smart_status.level.yaml | 12 ++++---- scripts/dns_flush.level.yaml | 8 ++--- scripts/dns_set_provider.level.yaml | 12 ++++---- scripts/dnsfilter_uninstall.level.yaml | 10 +++---- ...okploy_orphaned_volumes_cleanup.level.yaml | 10 +++---- .../dokploy_running_apps_deploy.level.yaml | 10 +++---- scripts/ds_store_disable_macos.level.yaml | 8 ++--- scripts/duplicati_backup_status.level.yaml | 8 ++--- .../edge_chrome_default_user_set.level.yaml | 8 ++--- .../edge_suppress_policies_system.level.yaml | 8 ++--- scripts/emsisoft_url_install.level.yaml | 10 +++---- scripts/eset_cleanup.level.yaml | 10 +++---- scripts/everything_file_search.level.yaml | 8 ++--- scripts/file_secure_delete.level.yaml | 10 +++---- .../file_secure_delete_certificate.level.yaml | 10 +++---- scripts/files_rename_snake_case.level.yaml | 10 +++---- .../foxit_pdf_editor_plus_install.level.yaml | 8 ++--- scripts/gcpw_cleanup.level.yaml | 8 ++--- scripts/gcpw_install.level.yaml | 14 ++++----- scripts/google_update_trigger.level.yaml | 8 ++--- scripts/hardware_report.level.yaml | 8 ++--- scripts/huntress_install_macos.level.yaml | 16 +++++----- scripts/ipconfig_release_renew.level.yaml | 10 +++---- ...limehawk_admin_profile_branding.level.yaml | 8 ++--- scripts/local_user_admin_create.level.yaml | 12 ++++---- scripts/local_user_admin_setup.level.yaml | 14 ++++----- scripts/local_user_admin_toggle.level.yaml | 10 +++---- scripts/local_user_create.level.yaml | 14 ++++----- scripts/local_user_delete.level.yaml | 12 ++++---- scripts/local_user_disable.level.yaml | 10 +++---- scripts/macos_auto_updates_enable.level.yaml | 8 ++--- scripts/maintenance_reboot.level.yaml | 14 ++++----- scripts/mrt_scan.level.yaml | 10 +++---- scripts/msi_url_install.level.yaml | 10 +++---- scripts/network_dhcp_set_macos.level.yaml | 8 ++--- scripts/network_scan.level.yaml | 8 ++--- .../network_service_refresh_macos.level.yaml | 8 ++--- scripts/ninjaone_uninstall.level.yaml | 8 ++--- scripts/nircmd_resolution_set.level.yaml | 8 ++--- scripts/nircmd_screenshot.level.yaml | 8 ++--- scripts/nirsoft_uninstall_view.level.yaml | 10 +++---- scripts/nvram_reset_reboot_macos.level.yaml | 10 +++---- scripts/onedrive_reenable.level.yaml | 8 ++--- scripts/onedrive_remove_complete.level.yaml | 8 ++--- scripts/onestart_remove_complete.level.yaml | 10 +++---- scripts/onlyoffice_install.level.yaml | 8 ++--- scripts/openssh_server_remove.level.yaml | 10 +++---- scripts/openssh_server_setup.level.yaml | 10 +++---- scripts/outlook_link_handling_fix.level.yaml | 8 ++--- scripts/outlook_new_force_migrate.level.yaml | 8 ++--- scripts/outlook_new_remove.level.yaml | 8 ++--- scripts/outlook_new_restore.level.yaml | 8 ++--- scripts/password_files_search.level.yaml | 10 +++---- .../password_files_tickets_search.level.yaml | 14 ++++----- scripts/potplayer_install.level.yaml | 8 ++--- scripts/power_plans_default_add.level.yaml | 8 ++--- .../power_profile_always_on_set.level.yaml | 8 ++--- scripts/power_profile_set_macos.level.yaml | 8 ++--- scripts/prinstall_add.level.yaml | 16 +++++----- scripts/prinstall_driver_add.level.yaml | 12 ++++---- scripts/prinstall_driver_list.level.yaml | 8 ++--- scripts/prinstall_driver_remove.level.yaml | 10 +++---- scripts/prinstall_drivers.level.yaml | 12 ++++---- scripts/prinstall_id.level.yaml | 10 +++---- scripts/prinstall_list.level.yaml | 8 ++--- scripts/prinstall_remove.level.yaml | 10 +++---- scripts/prinstall_scan.level.yaml | 12 ++++---- scripts/prinstall_setup.level.yaml | 10 +++---- scripts/prinstall_trust_codesign.level.yaml | 10 +++---- scripts/print_queue_clear.level.yaml | 8 ++--- scripts/print_queue_reset.level.yaml | 8 ++--- scripts/printer_connection_test.level.yaml | 8 ++--- scripts/printer_install_linux.level.yaml | 8 ++--- scripts/printer_install_macos.level.yaml | 8 ++--- scripts/printers_remove_all.level.yaml | 10 +++---- scripts/public_ip_export_superops.level.yaml | 8 ++--- ...public_ip_export_superops_macos.level.yaml | 8 ++--- scripts/restic_b2_backup_install.level.yaml | 20 ++++++------- scripts/rustic_backup.level.yaml | 8 ++--- scripts/rustic_backup_unix.level.yaml | 10 +++---- scripts/rustic_install.level.yaml | 30 +++++++++---------- scripts/rustic_install_unix.level.yaml | 30 +++++++++---------- scripts/rustic_restore.level.yaml | 14 ++++----- scripts/rustic_restore_unix.level.yaml | 16 +++++----- scripts/rustic_uninstall.level.yaml | 8 ++--- scripts/rustic_uninstall_unix.level.yaml | 8 ++--- scripts/sentinelone_install.level.yaml | 12 ++++---- scripts/sentinelone_services_start.level.yaml | 8 ++--- .../sentinelone_uninstall_linux.level.yaml | 8 ++--- scripts/shutdown_toggle.level.yaml | 8 ++--- scripts/speedtest_export_superops.level.yaml | 8 ++--- scripts/splashtop_business_install.level.yaml | 8 ++--- ...plashtop_business_install_macos.level.yaml | 8 ++--- scripts/splashtop_service_restart.level.yaml | 8 ++--- ...splashtop_service_restart_macos.level.yaml | 8 ++--- scripts/splashtop_streamer_install.level.yaml | 8 ++--- ...p_streamer_install_debian_amd64.level.yaml | 8 ++--- ...p_streamer_install_debian_arm64.level.yaml | 8 ++--- ...plashtop_streamer_install_macos.level.yaml | 8 ++--- scripts/splashtop_uninstall.level.yaml | 8 ++--- scripts/splashtop_uninstall_macos.level.yaml | 8 ++--- scripts/start_menu_tiles_clear.level.yaml | 8 ++--- scripts/stdrename_install_toggle.level.yaml | 8 ++--- ..._agent_alt_path_uninstall_macos.level.yaml | 8 ++--- scripts/superops_agent_install.level.yaml | 8 ++--- .../superops_agent_install_macos.level.yaml | 8 ++--- ...superops_agent_legacy_uninstall.level.yaml | 8 ++--- .../superops_agent_reinstall_macos.level.yaml | 8 ++--- scripts/superops_agent_uninstall.level.yaml | 8 ++--- .../superops_agent_uninstall_alt.level.yaml | 8 ++--- .../superops_agent_uninstall_linux.level.yaml | 8 ++--- .../superops_agent_uninstall_macos.level.yaml | 8 ++--- scripts/superops_service_restart.level.yaml | 10 +++---- .../superops_tray_icon_show_always.level.yaml | 8 ++--- .../synology_backup_agent_install.level.yaml | 8 ++--- ...logy_backup_agent_install_linux.level.yaml | 8 ++--- scripts/terminated_user_lockout.level.yaml | 10 +++---- scripts/time_sync_fix.level.yaml | 8 ++--- scripts/time_utc_set.level.yaml | 8 ++--- .../ubuntu_debian_update_verbose.level.yaml | 8 ++--- scripts/user_accounts_report.level.yaml | 8 ++--- scripts/usmt_lan_migrate.level.yaml | 10 +++---- scripts/usmt_profile_migrate.level.yaml | 8 ++--- scripts/webview2_repair_install.level.yaml | 8 ++--- scripts/wifi_adapters_disable.level.yaml | 8 ++--- scripts/wifi_passwords_show.level.yaml | 10 +++---- scripts/wifiman_install.level.yaml | 8 ++--- scripts/win11_compatibility_check.level.yaml | 8 ++--- .../windows11_compatibility_check.level.yaml | 10 +++---- scripts/windows_dark_mode_enable.level.yaml | 8 ++--- .../windows_dism_sfc_chkdsk_run.level.yaml | 10 +++---- scripts/windows_firewall_toggle.level.yaml | 10 +++---- ...ows_product_key_export_superops.level.yaml | 10 +++---- .../windows_update_access_restore.level.yaml | 8 ++--- .../windows_update_access_toggle.level.yaml | 8 ++--- scripts/windows_update_reset.level.yaml | 10 +++---- scripts/winget_package_install.level.yaml | 10 +++---- scripts/winget_setup.level.yaml | 8 ++--- scripts/winget_upgrade_all.level.yaml | 8 ++--- scripts/winre_partition_resize.level.yaml | 10 +++---- scripts/winre_restore.level.yaml | 10 +++---- scripts/winreagent_cleanup.level.yaml | 8 ++--- scripts/wol_enable.level.yaml | 10 +++---- scripts/wol_status_check.level.yaml | 8 ++--- scripts/workstation_info_display.level.yaml | 8 ++--- .../workstation_info_display_macos.level.yaml | 8 ++--- scripts/workstation_oobe_seal.level.yaml | 10 +++---- scripts/workstation_reboot_force.level.yaml | 8 ++--- scripts/workstation_remote_wipe.level.yaml | 10 +++---- scripts/workstation_rename_auto.level.yaml | 10 +++---- .../workstation_rename_auto_macos.level.yaml | 8 ++--- scripts/workstation_rename_manual.level.yaml | 12 ++++---- ...workstation_rename_manual_macos.level.yaml | 10 +++---- .../workstation_screenshot_macos.level.yaml | 10 +++---- ...workstation_uptime_reboot_macos.level.yaml | 8 ++--- 179 files changed, 853 insertions(+), 853 deletions(-) diff --git a/scripts/1password_install.level.yaml b/scripts/1password_install.level.yaml index c015871..4e2b10b 100644 --- a/scripts/1password_install.level.yaml +++ b/scripts/1password_install.level.yaml @@ -1,4 +1,4 @@ -name: 1password_install.ps1 +name: "1password_install.ps1" description: Downloads and silently installs 1Password using official MSI shell: POWERSHELL runAs: SYSTEM @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and silently installs the latest version of 1Password for Windows using the official MSI installer with configurable deployment options. - + Usage Notes ----------- - Validates input parameters before proceeding @@ -18,7 +18,7 @@ readme: | - Prevent Restart: true - Manage Updates: false - Remove Other Installs: true - + Requirements ------------ - Windows PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMA -lastPushedChecksum: sha256:4c5b17905ada8b19 -lastPushedMetaChecksum: sha256:5f52e8af41f844ed +lastPushedChecksum: "sha256:4c5b17905ada8b19" +lastPushedMetaChecksum: "sha256:e5bf4c56f467f4b9" \ No newline at end of file diff --git a/scripts/agent_startup_fix.level.yaml b/scripts/agent_startup_fix.level.yaml index b84c300..e51bf49 100644 --- a/scripts/agent_startup_fix.level.yaml +++ b/scripts/agent_startup_fix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Configures the RMM agent service with proper recovery options and delayed automatic start to prevent startup failures on slow or overloaded machines where services timeout during boot. - + Usage Notes ----------- - Locates the RMM agent service by name @@ -19,7 +19,7 @@ readme: | - Recovery: restart after 60s, 60s, then 120s; reset failure count every 24 hours - Uses registry for delayed start (compatible with Server 2019 PowerShell which lacks AutomaticDelayedStart enum) - Event log lookback defaults to 3 days - + Requirements ------------ - Windows OS @@ -27,5 +27,5 @@ readme: | - RMM agent installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMQ -lastPushedChecksum: sha256:5c55fbd2b948f152 -lastPushedMetaChecksum: sha256:f5d9794ccf6b1f2c +lastPushedChecksum: "sha256:5c55fbd2b948f152" +lastPushedMetaChecksum: "sha256:dae917e2260b8820" \ No newline at end of file diff --git a/scripts/antivirus_status.level.yaml b/scripts/antivirus_status.level.yaml index 1d417ac..380a540 100644 --- a/scripts/antivirus_status.level.yaml +++ b/scripts/antivirus_status.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Checks for the presence and active status of third-party antivirus software on the system, excluding Windows/Microsoft Defender. Reports the active product name and boolean state to SuperOps custom fields for monitoring. - + Usage Notes ----------- - Validates that SuperOps module is available @@ -18,7 +18,7 @@ readme: | - Outputs AV name and enabled state (TRUE/FALSE) to SuperOps custom fields - Confirms Windows Defender status in console output - No configurable settings; all logic is fixed for third-party AV detection - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - SuperOps module available via $SuperOpsModule variable (provided by RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMg -lastPushedChecksum: sha256:1a20a2caeb5024b5 -lastPushedMetaChecksum: sha256:9921764b52986cbc +lastPushedChecksum: "sha256:1a20a2caeb5024b5" +lastPushedMetaChecksum: "sha256:5b017870223f77e8" \ No newline at end of file diff --git a/scripts/antivirus_uninstall.level.yaml b/scripts/antivirus_uninstall.level.yaml index 8f630ab..bf47e27 100644 --- a/scripts/antivirus_uninstall.level.yaml +++ b/scripts/antivirus_uninstall.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Detects and uninstalls common third-party antivirus software from Windows systems including McAfee, Sophos, AVG, and Microsoft Security Essentials. Designed for scenarios where existing AV must be removed before deploying a new endpoint protection solution. - + Usage Notes ----------- - Validates execution environment (must run as Administrator) @@ -18,18 +18,18 @@ readme: | - Downloads AVG Clear tool if needed - Uses silent/quiet uninstall methods where possible - No reboot is forced, though some AV may require it for complete removal - + Requirements ------------ - Windows PowerShell 5.1 or PowerShell 7+ - Administrator privileges - Internet access (optional, for downloading MCPR and AVG Clear tools) - + Security -------- - Some antivirus may require tamper protection to be disabled first - A reboot may be required after uninstallation for complete removal groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMw -lastPushedChecksum: sha256:20975b8efcf885c8 -lastPushedMetaChecksum: sha256:2c0a2e10efba6916 +lastPushedChecksum: "sha256:20975b8efcf885c8" +lastPushedMetaChecksum: "sha256:7636ffdc64216add" \ No newline at end of file diff --git a/scripts/arch_update_verbose.level.yaml b/scripts/arch_update_verbose.level.yaml index 77b9152..0d4f678 100644 --- a/scripts/arch_update_verbose.level.yaml +++ b/scripts/arch_update_verbose.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Automates system package updates for Arch Linux and Omarchy systems with verbose output and error handling. Syncs package databases, upgrades all packages, removes orphaned dependencies, and cleans package cache. Provides color-coded status messages. - + Usage Notes ----------- - Run with sudo or as root @@ -15,7 +15,7 @@ readme: | - ENABLE_ORPHAN_REMOVAL: Remove orphaned packages after upgrade - ENABLE_CACHE_CLEAN: Clean pacman cache to free disk space - ENABLE_COLOR_OUTPUT: Use colored terminal output - + Requirements ------------ - Root/sudo access required @@ -24,5 +24,5 @@ readme: | - pacman package manager groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNA -lastPushedChecksum: sha256:132e3b80eb80e9b3 -lastPushedMetaChecksum: sha256:e86e5fb919dea6e6 +lastPushedChecksum: "sha256:132e3b80eb80e9b3" +lastPushedMetaChecksum: "sha256:3428fcdf23541e8f" \ No newline at end of file diff --git a/scripts/bitlocker_superops_enable.level.yaml b/scripts/bitlocker_superops_enable.level.yaml index 9a521a2..2bfade1 100644 --- a/scripts/bitlocker_superops_enable.level.yaml +++ b/scripts/bitlocker_superops_enable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Enables BitLocker on the OS drive using TPM and Recovery Password protectors. Ensures protectors are not duplicated, prints recovery key to console for RMM log capture, and syncs the recovery key to SuperOps custom fields. - + Usage Notes ----------- - Validates administrative privileges and SuperOps module @@ -18,19 +18,19 @@ readme: | - No reboot required to start encryption (skip hardware test enabled) - Retrieves and displays recovery key, then syncs to SuperOps custom fields - Target drive default: C: - + Requirements ------------ - PowerShell 5.1 or later - Windows 10/11 Pro or Enterprise with BitLocker feature enabled - Administrator privileges - SuperOps module available via $SuperOpsModule - + Security -------- - Recovery Password is printed to console (captured by RMM logs) - Recovery Password is synced to SuperOps custom fields groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNQ -lastPushedChecksum: sha256:5bb054e2cc26dc88 -lastPushedMetaChecksum: sha256:0ebcd91749abf43d +lastPushedChecksum: "sha256:5bb054e2cc26dc88" +lastPushedMetaChecksum: "sha256:11f42b6a601fee19" \ No newline at end of file diff --git a/scripts/canon_mf455dw_driver_install.level.yaml b/scripts/canon_mf455dw_driver_install.level.yaml index a7bf0f1..3e8a839 100644 --- a/scripts/canon_mf455dw_driver_install.level.yaml +++ b/scripts/canon_mf455dw_driver_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads the Canon imageCLASS MF455dw MF Driver package from Canon's CDN, extracts it, and installs the UFR II LT printer driver to the Windows driver store using pnputil. Optionally creates a TCP/IP printer queue if an IP address is specified. - + Usage Notes ----------- - Downloads Canon MF Driver package from official CDN @@ -16,7 +16,7 @@ readme: | - Leave $printerIp empty to install driver only without creating a queue - Driver extracts to C:\Temp\CanonMF455dw and is cleaned up after install - Configurable variables: $driverUrl, $printerIp, $printerName, $installScanner - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -25,5 +25,5 @@ readme: | - curl.exe (included in Windows 10 1803+) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNg -lastPushedChecksum: sha256:9422dc3b1c79a3bf -lastPushedMetaChecksum: sha256:1762be2079eff365 +lastPushedChecksum: "sha256:9422dc3b1c79a3bf" +lastPushedMetaChecksum: "sha256:e349be0ff10b0ac4" \ No newline at end of file diff --git a/scripts/choco_upgrade_all.level.yaml b/scripts/choco_upgrade_all.level.yaml index 1253659..0b01041 100644 --- a/scripts/choco_upgrade_all.level.yaml +++ b/scripts/choco_upgrade_all.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Upgrades all Chocolatey-managed packages to their latest versions using the choco upgrade all command with automatic confirmation. - + Usage Notes ----------- - Checks if Chocolatey is installed before proceeding - Runs choco upgrade all with auto-confirmation flag (-y) for unattended operation - Operates on all installed Chocolatey packages; no configuration required - + Requirements ------------ - Windows OS @@ -21,5 +21,5 @@ readme: | - Chocolatey package manager installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNw -lastPushedChecksum: sha256:bf35638a77698431 -lastPushedMetaChecksum: sha256:65500a7aac11fe33 +lastPushedChecksum: "sha256:bf35638a77698431" +lastPushedMetaChecksum: "sha256:4bd74471548ae687" \ No newline at end of file diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index e1b8ce9..3e84d73 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Onboards a Windows endpoint to a Cloudflare named tunnel by installing the Cloudflare.cloudflared package via winget and registering the Cloudflare Tunnel service with a connector token supplied through SuperOps runtime replacement. The connector token is treated as a secret and is masked on any output path. - + Usage Notes ----------- - Validates connector token is present and was replaced by SuperOps @@ -21,7 +21,7 @@ readme: | - Package Id is Cloudflare.cloudflared - Service name is Cloudflare Tunnel - Winget flags --exact --silent --accept-package-agreements --accept-source-agreements - + Requirements ------------ - CloudflaredTunnelToken runtime variable (required, non-empty) @@ -29,15 +29,15 @@ readme: | - SYSTEM or Administrator privileges - Winget installed (run winget_setup.ps1 first if missing) - Outbound internet connectivity to Cloudflare edge (port 7844) - + Security -------- - No secrets in logs - Connector token is never printed; if it appears in an error message it is masked as **** - Runtime variable validated against unreplaced placeholder variables: -- name: CloudflaredTunnelToken + - name: CloudflaredTunnelToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA -lastPushedChecksum: sha256:13f478410f8c5064 -lastPushedMetaChecksum: sha256:47404ab047e3dae0 +lastPushedChecksum: "sha256:13f478410f8c5064" +lastPushedMetaChecksum: "sha256:41ac2c5193674e37" \ No newline at end of file diff --git a/scripts/cloudflared_status.level.yaml b/scripts/cloudflared_status.level.yaml index cd6b423..a720763 100644 --- a/scripts/cloudflared_status.level.yaml +++ b/scripts/cloudflared_status.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Field-triage view of a Windows endpoint's Cloudflare Tunnel connector. Reports the cloudflared binary version and install path, the Cloudflare Tunnel service Status and StartType, and a best-effort tunnel connectivity verdict pulled from the Windows Event Log with an outbound-socket fallback signal. Always exits 0 - absence of target is itself a valid status, not an error. - + Usage Notes ----------- - Resolves cloudflared.exe; if absent reports Not installed and exits 0 @@ -20,7 +20,7 @@ readme: | - Event log window is last 15 minutes - Event log source is cloudflared (verify on a registered host with Get-WinEvent -ListProvider *cloud*) - Connector port is 7844 (TCP and UDP) - + Requirements ------------ - Windows 10 1809+ / Windows Server 2019+ @@ -28,5 +28,5 @@ readme: | - PowerShell 5.1 or later groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOQ -lastPushedChecksum: sha256:e7d61d1e9ee15f74 -lastPushedMetaChecksum: sha256:5c8b6271ad7eea70 +lastPushedChecksum: "sha256:e7d61d1e9ee15f74" +lastPushedMetaChecksum: "sha256:206aba65dfe46ef5" \ No newline at end of file diff --git a/scripts/cloudflared_uninstall.level.yaml b/scripts/cloudflared_uninstall.level.yaml index 00c5232..a74a4bd 100644 --- a/scripts/cloudflared_uninstall.level.yaml +++ b/scripts/cloudflared_uninstall.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Tears down a Cloudflare Tunnel connector on a Windows endpoint by uninstalling the Cloudflare Tunnel service and removing the Cloudflare.cloudflared package via winget. Idempotent: a clean machine results in a no-op success. - + Usage Notes ----------- - Detects current state (service present, binary present) @@ -18,7 +18,7 @@ readme: | - Reports a clean-state result (idempotent on already-clean machines) - Package Id is Cloudflare.cloudflared - Service name is Cloudflare Tunnel - + Requirements ------------ - Windows 10 1809+ / Windows Server 2019+ @@ -26,5 +26,5 @@ readme: | - Winget installed (used only if the package is registered) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MA -lastPushedChecksum: sha256:f9aa02bdaa9c4cda -lastPushedMetaChecksum: sha256:9a784a9efc33d424 +lastPushedChecksum: "sha256:f9aa02bdaa9c4cda" +lastPushedMetaChecksum: "sha256:96af2573cd164559" \ No newline at end of file diff --git a/scripts/cloudflared_upgrade.level.yaml b/scripts/cloudflared_upgrade.level.yaml index 4165463..3b21a52 100644 --- a/scripts/cloudflared_upgrade.level.yaml +++ b/scripts/cloudflared_upgrade.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Patches the Cloudflare.cloudflared package on a Windows endpoint via winget and confirms the Cloudflare Tunnel service remains healthy after the upgrade. Idempotent: machines without cloudflared installed exit 0 with a no-op. - + Usage Notes ----------- - Pre-checks for an existing cloudflared install (no-op exit 0 if absent) @@ -20,7 +20,7 @@ readme: | - Reports old to new version transition - Package Id is Cloudflare.cloudflared - Service name is Cloudflare Tunnel - + Requirements ------------ - Windows 10 1809+ / Windows Server 2019+ @@ -29,5 +29,5 @@ readme: | - Outbound internet connectivity to Cloudflare edge (port 7844) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MQ -lastPushedChecksum: sha256:df3c507b8b3e95a9 -lastPushedMetaChecksum: sha256:0aa53c9c3e2e7781 +lastPushedChecksum: "sha256:df3c507b8b3e95a9" +lastPushedMetaChecksum: "sha256:3373f7312efde2c3" \ No newline at end of file diff --git a/scripts/cups_toggle_macos.level.yaml b/scripts/cups_toggle_macos.level.yaml index 6ab9d5c..5cbc1ba 100644 --- a/scripts/cups_toggle_macos.level.yaml +++ b/scripts/cups_toggle_macos.level.yaml @@ -7,24 +7,24 @@ readme: | Purpose ------- Toggles the CUPS (Common Unix Printing System) web interface on or off. If currently enabled, disables it. If disabled, enables it. Useful for managing printer administration access on macOS and Linux systems. - + Usage Notes ----------- - Verifies root/sudo privileges before proceeding - Auto-detects current CUPS web interface status via cupsctl - Toggles to opposite state and reports the new status - Web interface URL when enabled: http://localhost:631 - + Requirements ------------ - macOS or Linux with CUPS installed - cupsctl command available - Root/sudo privileges - + Security -------- - Enabling the web interface exposes printer admin on localhost:631 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mg -lastPushedChecksum: sha256:798218624bddb90d -lastPushedMetaChecksum: sha256:0da26de587a9eca0 +lastPushedChecksum: "sha256:798218624bddb90d" +lastPushedMetaChecksum: "sha256:7bef159aaef40079" \ No newline at end of file diff --git a/scripts/dell_command_update.level.yaml b/scripts/dell_command_update.level.yaml index a39af98..8409375 100644 --- a/scripts/dell_command_update.level.yaml +++ b/scripts/dell_command_update.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs Dell Command Update via winget and runs it to scan and apply driver/firmware updates silently. Designed for automated Dell system maintenance in RMM environments. - + Usage Notes ----------- - Verifies winget is available, then installs Dell Command Update if not present @@ -16,7 +16,7 @@ readme: | - Applies updates without rebooting (reboot=disable) - Logs scan and apply operations to C:\dell\logs - Hardcoded variables: DcuCliPath, DcuLogPath, WingetId - + Requirements ------------ - Windows 10 1809+ or Windows 11 with winget @@ -24,5 +24,5 @@ readme: | - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mw -lastPushedChecksum: sha256:a83e3d86b27a7bd3 -lastPushedMetaChecksum: sha256:3c5296736f6ee2d8 +lastPushedChecksum: "sha256:a83e3d86b27a7bd3" +lastPushedMetaChecksum: "sha256:eadb4546b18be516" \ No newline at end of file diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index cdc8f41..340fc2d 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Deletes Windows user profiles older than a specified number of days. Uses DelProf2 utility downloaded directly from helgeklein.com. - + Usage Notes ----------- - Downloads and extracts DelProf2 if not already cached @@ -15,20 +15,20 @@ readme: | - Always protects gaia and administrator profiles - Cleans up cached files after execution - Set $days_old runtime variable to control threshold (default: 30 days) - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet access for DelProf2 download from helgeklein.com - Runtime variable: $days_old (number of days; default 30) - + Security -------- - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered variables: -- name: days_old + - name: days_old groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA -lastPushedChecksum: sha256:106abf51d75cdcc5 -lastPushedMetaChecksum: sha256:0d7430406cd3b1ef +lastPushedChecksum: "sha256:106abf51d75cdcc5" +lastPushedMetaChecksum: "sha256:45eda28e538bbc87" \ No newline at end of file diff --git a/scripts/delprof2_profiles_delete_all.level.yaml b/scripts/delprof2_profiles_delete_all.level.yaml index b86d21a..c7ac4e2 100644 --- a/scripts/delprof2_profiles_delete_all.level.yaml +++ b/scripts/delprof2_profiles_delete_all.level.yaml @@ -7,24 +7,24 @@ readme: | Purpose ------- Deletes ALL Windows user profiles except protected ones (gaia, administrator). Uses DelProf2 utility downloaded directly from helgeklein.com. - + Usage Notes ----------- - Downloads and extracts DelProf2 if not already cached - Executes delprof2.exe /u /ed:gaia /ed:administrator - Always protects gaia and administrator profiles - Cleans up cached files after execution - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet access for DelProf2 download from helgeklein.com - + Security -------- - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NQ -lastPushedChecksum: sha256:c59f7c3794206023 -lastPushedMetaChecksum: sha256:658453b1d29e0654 +lastPushedChecksum: "sha256:c59f7c3794206023" +lastPushedMetaChecksum: "sha256:8b23afa16016e13f" \ No newline at end of file diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 9d4943f..7843006 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -7,27 +7,27 @@ readme: | Purpose ------- Deletes ALL Windows user profiles EXCEPT the specified profile and protected ones (gaia, administrator). Uses DelProf2 utility downloaded directly from helgeklein.com. - + Usage Notes ----------- - Downloads and extracts DelProf2 if not already cached - Executes delprof2.exe /u /ed:PROFILENAME /ed:gaia /ed:administrator - Always protects gaia and administrator profiles in addition to the specified profile - Cleans up cached files after execution - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet access for DelProf2 download from helgeklein.com - Runtime variable: $profile_to_keep (username of profile to preserve) - + Security -------- - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered variables: -- name: profile_to_keep + - name: profile_to_keep groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng -lastPushedChecksum: sha256:e42a9370705203ab -lastPushedMetaChecksum: sha256:ab62cf018f194a88 +lastPushedChecksum: "sha256:e42a9370705203ab" +lastPushedMetaChecksum: "sha256:49643449ff35aa03" \ No newline at end of file diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index 58adc41..fb6a38a 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Deletes ONLY the specified Windows user profile. All other profiles are left untouched. Uses DelProf2 utility downloaded directly from helgeklein.com. - + Usage Notes ----------- - Validates that the target profile is not a protected profile @@ -15,21 +15,21 @@ readme: | - Executes delprof2.exe /u /id:PROFILENAME - Refuses to delete gaia or administrator profiles - Cleans up cached files after execution - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet access for DelProf2 download from helgeklein.com - Runtime variable: $profile_to_delete (username of profile to delete) - + Security -------- - DESTRUCTIVE OPERATION - deleted profile cannot be recovered - Refuses to delete protected profiles (gaia, administrator) variables: -- name: profile_to_delete + - name: profile_to_delete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw -lastPushedChecksum: sha256:15ac32c141b8896a -lastPushedMetaChecksum: sha256:40e645d4cff3be38 +lastPushedChecksum: "sha256:15ac32c141b8896a" +lastPushedMetaChecksum: "sha256:9c5478b2c6449217" \ No newline at end of file diff --git a/scripts/deskview_install.level.yaml b/scripts/deskview_install.level.yaml index 6f46a95..3130adb 100644 --- a/scripts/deskview_install.level.yaml +++ b/scripts/deskview_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Downloads deskview.exe utility to the Windows Startup folder so it runs automatically at user login. DeskView displays desktop icons in a compact window. - + Usage Notes ----------- - Validates input parameters before proceeding - Downloads deskview.exe to the common Startup folder for all users - Runs automatically at user login after installation - Configurable variable: $downloadUrl - + Requirements ------------ - Windows OS @@ -22,5 +22,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OA -lastPushedChecksum: sha256:dca5111c6a4c7b0b -lastPushedMetaChecksum: sha256:a07891418b832461 +lastPushedChecksum: "sha256:dca5111c6a4c7b0b" +lastPushedMetaChecksum: "sha256:7ef724d49a76be6b" \ No newline at end of file diff --git a/scripts/dietpi_proxmox_install.level.yaml b/scripts/dietpi_proxmox_install.level.yaml index 04270f5..d3e0774 100644 --- a/scripts/dietpi_proxmox_install.level.yaml +++ b/scripts/dietpi_proxmox_install.level.yaml @@ -7,24 +7,24 @@ readme: | Purpose ------- Downloads and runs the DietPi Debian 12 Bookworm VM installer for Proxmox. Creates a lightweight Debian-based VM optimized for low resource usage. - + Usage Notes ----------- - Downloads the installer script from limehawk/proxmox-scripts repository on GitHub - Executes the installer via bash and returns its exit code - No hardcoded inputs required; installer is fetched from remote source - + Requirements ------------ - Proxmox VE host - Run from Proxmox shell (not inside a VM) - Internet access to GitHub - curl installed - + Security -------- - Executes remote code fetched over HTTPS - review source before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OQ -lastPushedChecksum: sha256:4267f99c659dd43a -lastPushedMetaChecksum: sha256:536ea7fe127cdae8 +lastPushedChecksum: "sha256:4267f99c659dd43a" +lastPushedMetaChecksum: "sha256:2f4e1b1163ebac18" \ No newline at end of file diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index 56ba5b9..99eb06e 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -7,22 +7,22 @@ readme: | Purpose ------- Cleans up files and directories older than a specified number of days. Logs deleted items to a file in the target folder. - + Usage Notes ----------- - Recursively scans subdirectories for files older than the specified threshold - Deletes matching files and removes empty directories afterward - Creates deleted_files.log in the target folder with details of each deletion - + Requirements ------------ - Windows OS - Runtime variable: $runtime_folderPath (path to the folder to clean up) - Runtime variable: $runtime_days (number of days old a file must be to be deleted) variables: -- name: runtime_folderPath -- name: runtime_days + - name: runtime_folderPath + - name: runtime_days groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA -lastPushedChecksum: sha256:c4b0a0caf6528904 -lastPushedMetaChecksum: sha256:6718561e686bac8b +lastPushedChecksum: "sha256:c4b0a0caf6528904" +lastPushedMetaChecksum: "sha256:1f6a7057f5136bfa" \ No newline at end of file diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index 51a7272..1e53713 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Runs a command-line disk usage analysis on a specified directory using gdu (Go Disk Usage analyzer). Downloads gdu from GitHub releases if not already present, extracts it to a local cache directory, and executes it against the target path in non-interactive mode. - + Usage Notes ----------- - Set $YourTargetDirectoryHere runtime variable to the path to scan (e.g., C:\Users) @@ -17,7 +17,7 @@ readme: | - Includes timeout protection for long-running scans (ScanTimeout setting) - Optional cleanup of downloaded files after completion (CleanupAfterRun setting) - Configurable scan depth controls top N items shown - + Requirements ------------ - PowerShell 5.1 or later @@ -25,8 +25,8 @@ readme: | - Write permissions to the cache directory - Runtime variable: $YourTargetDirectoryHere (target directory to scan) variables: -- name: YourTargetDirectoryHere + - name: YourTargetDirectoryHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ -lastPushedChecksum: sha256:341a3b130cb083e0 -lastPushedMetaChecksum: sha256:aa7d02021e1079aa +lastPushedChecksum: "sha256:341a3b130cb083e0" +lastPushedMetaChecksum: "sha256:146b1ba375ba3718" \ No newline at end of file diff --git a/scripts/disk_cleanup.level.yaml b/scripts/disk_cleanup.level.yaml index 13b7019..cef0288 100644 --- a/scripts/disk_cleanup.level.yaml +++ b/scripts/disk_cleanup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Runs Windows Disk Cleanup utility on all fixed local drives, plus targeted cleanups for SoftwareDistribution, WinSxS, and Search Index to free up disk space. Shows disk space before and after with progress updates during long-running operations. - + Usage Notes ----------- - Queries WMI for all fixed local drives (DriveType 3) @@ -17,7 +17,7 @@ readme: | - Shows free space before/after and total freed at completion - Cleanups run sequentially to avoid conflicts - CleanupProfile: verylow (hardcoded) - + Requirements ------------ - Windows 10/11 with cleanmgr.exe and DISM @@ -25,5 +25,5 @@ readme: | - Administrator privileges for DISM and service operations groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mg -lastPushedChecksum: sha256:2496e05767011ab7 -lastPushedMetaChecksum: sha256:c095ce3f634ef78c +lastPushedChecksum: "sha256:2496e05767011ab7" +lastPushedMetaChecksum: "sha256:de5fe20e298cb237" \ No newline at end of file diff --git a/scripts/disk_scan_fix.level.yaml b/scripts/disk_scan_fix.level.yaml index 12e6180..61df3e1 100644 --- a/scripts/disk_scan_fix.level.yaml +++ b/scripts/disk_scan_fix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a comprehensive health check on all mounted disks and volumes on macOS. Verifies partition maps, file systems, and SMART status where supported. - + Usage Notes ----------- - Auto-detects all mounted disks @@ -15,12 +15,12 @@ readme: | - Checks file system health for HFS and APFS volumes - Reports SMART status when available - Read-only operations (verification only, no modifications) - + Requirements ------------ - macOS operating system - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mw -lastPushedChecksum: sha256:9afd6590971bc04f -lastPushedMetaChecksum: sha256:523bcc3dd18ef47d +lastPushedChecksum: "sha256:9afd6590971bc04f" +lastPushedMetaChecksum: "sha256:1c1a1727ae0a66b7" \ No newline at end of file diff --git a/scripts/disk_smart_status.level.yaml b/scripts/disk_smart_status.level.yaml index 3c1b7c1..a0d0044 100644 --- a/scripts/disk_smart_status.level.yaml +++ b/scripts/disk_smart_status.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Reports the S.M.A.R.T. / predictive-failure health of every physical disk on the machine so the RMM dashboard can flag failing drives. Combines PowerShell storage health, WMI predictive-failure status, and SMART reliability counters into a single per-machine verdict. - + Data Sources ------------ - Get-PhysicalDisk: primary per-disk health (HealthStatus, OperationalStatus) - MSStorageDriver_FailurePredictStatus (root\wmi): SMART predictive-failure flag - Get-StorageReliabilityCounter: best-effort wear / temperature / read-error counters - + Usage Notes ----------- - Enumerates physical disks via Get-PhysicalDisk and reports FriendlyName, MediaType, Size (GB), HealthStatus, and OperationalStatus per disk @@ -23,19 +23,19 @@ readme: | - Exits 0 when all disks are healthy or SMART data is undeterminable (e.g. a VM); exits 1 when a disk reports a predicted failure or unhealthy HealthStatus - No configurable settings and no inputs; the verdict comes directly from disk-reported HealthStatus and the SMART PredictFailure flag, with no tunable thresholds - All data is queried locally; no network endpoints are contacted - + Requirements ------------ - Windows 10/11 or Windows Server - PowerShell 5.1 or later - Administrator privileges - Storage subsystem that exposes SMART data (physical hardware) - + Security -------- - Read-only; makes no changes to disks or configuration - Requires elevated privileges to query the storage subsystem groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NA -lastPushedChecksum: sha256:cf1b77bc78f75a11 -lastPushedMetaChecksum: sha256:6011b3b05389e096 +lastPushedChecksum: "sha256:cf1b77bc78f75a11" +lastPushedMetaChecksum: "sha256:e422188da0dbb90f" \ No newline at end of file diff --git a/scripts/dns_flush.level.yaml b/scripts/dns_flush.level.yaml index 2f15edf..6f9a617 100644 --- a/scripts/dns_flush.level.yaml +++ b/scripts/dns_flush.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Flushes the DNS cache on macOS to resolve DNS-related connectivity issues. Automatically detects macOS version and uses the appropriate flush method. - + Usage Notes ----------- - Detects macOS version automatically - Selects appropriate DNS flush method for the detected version - Executes flush command and reports success or failure - Version-specific flush commands used for compatibility - + Requirements ------------ - macOS 10.6 or later - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NQ -lastPushedChecksum: sha256:5124eb497016d01a -lastPushedMetaChecksum: sha256:e33ad4e260063f77 +lastPushedChecksum: "sha256:5124eb497016d01a" +lastPushedMetaChecksum: "sha256:b30b775f27b8f160" \ No newline at end of file diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index c09f471..558eccf 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Quickly switches all active physical IPv4 network adapters to a known public DNS provider chosen by number. Designed for SuperOps runtime replacement so a tech can pick the desired DNS from a numbered list without typing IP addresses or worrying about syntax. - + Provider Selection (set DnsProviderSelection to one of these numbers) -------------------------------------------------------------------- 1 DHCP / Automatic - clear static DNS, return to DHCP @@ -24,7 +24,7 @@ readme: | 12 CleanBrowsing Security - 185.228.168.9, 185.228.169.9 13 CleanBrowsing Family - 185.228.168.168, 185.228.169.168 14 Control D Free - 76.76.2.0, 76.76.10.0 - + Usage Notes ----------- - Targets active Ethernet (InterfaceType 6) and Wi-Fi (InterfaceType 71) adapters @@ -32,7 +32,7 @@ readme: | - Selection 1 resets the adapters to DHCP (clears static DNS) - Flushes the resolver cache after the change - Reports per-adapter success / failure - + Requirements ------------ - DnsProviderSelection runtime variable (required, integer 1..14) @@ -40,8 +40,8 @@ readme: | - SYSTEM or Administrator privileges - At least one active Ethernet or Wi-Fi adapter variables: -- name: DnsProviderSelection + - name: DnsProviderSelection groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng -lastPushedChecksum: sha256:c5ae635e195d07c1 -lastPushedMetaChecksum: sha256:3253019f100fd555 +lastPushedChecksum: "sha256:c5ae635e195d07c1" +lastPushedMetaChecksum: "sha256:1f9fcc34a71f8c97" \ No newline at end of file diff --git a/scripts/dnsfilter_uninstall.level.yaml b/scripts/dnsfilter_uninstall.level.yaml index 29a0beb..00387cc 100644 --- a/scripts/dnsfilter_uninstall.level.yaml +++ b/scripts/dnsfilter_uninstall.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Completely removes DNSFilter agent from a Windows system including uninstalling the MSI package, stopping and removing services, deleting installation folders, cleaning up registry keys, and resetting DNS settings to DHCP. - + Usage Notes ----------- - Uninstalls DNS Agent via WMI if installed @@ -15,16 +15,16 @@ readme: | - Removes installation folders and registry keys - Resets all NICs to use DHCP for DNS - Flushes DNS cache - + Requirements ------------ - Windows 10/11 or Windows Server - Administrator privileges - + Security -------- - Resets DNS to DHCP, which may temporarily affect network connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Nw -lastPushedChecksum: sha256:09f70a00c2649337 -lastPushedMetaChecksum: sha256:7afc2e123c4be5bf +lastPushedChecksum: "sha256:09f70a00c2649337" +lastPushedMetaChecksum: "sha256:501bc8d986832e7c" \ No newline at end of file diff --git a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml index 31d1dc1..72e6079 100644 --- a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml +++ b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Scans Docker containers and Swarm services to identify volumes that are not currently mounted or in use. Provides detailed information about orphaned volumes including size, creation date, and mount point. Can optionally remove orphaned volumes automatically to free up disk space. - + Usage Notes ----------- - Scans all Docker containers (running and stopped) for volume mounts @@ -16,18 +16,18 @@ readme: | - Displays detailed information for each orphaned volume - Optionally removes orphaned volumes if AUTO_REMOVE is true - Set AUTO_REMOVE to true to automatically remove orphaned volumes, false for safe mode (list only) - + Requirements ------------ - Docker installed and running - Root/sudo access for volume inspection and removal - Docker Swarm (optional, script works without it) - + Security -------- - Requires privileged access to Docker daemon - Volume data is permanently deleted when removed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OA -lastPushedChecksum: sha256:4aa76efabe2abc10 -lastPushedMetaChecksum: sha256:7f3790c06ea343d1 +lastPushedChecksum: "sha256:4aa76efabe2abc10" +lastPushedMetaChecksum: "sha256:9ca2594fd1af8904" \ No newline at end of file diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml index e853168..fca16b6 100644 --- a/scripts/dokploy_running_apps_deploy.level.yaml +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Automates redeployment of all running Dokploy applications with no stored secret, then verifies what actually happened. Reads each app's status and built-in deploy webhook token from the Dokploy database, triggers the webhook on localhost, waits for the deploy to finish, and reports the real outcome plus whether the running image changed. Idle applications are skipped. - + Usage Notes ----------- - Queries project, name, status, sourceType, branch, watchPaths, deploy webhook token, appName, and applicationId from the Dokploy database @@ -16,14 +16,14 @@ readme: | - docker-source apps redeploy on a bare webhook POST; git-source apps get a GitHub-style push payload carrying the branch plus a file path matching any watchPaths filter - After triggering, waits for the deployment table to report done/error, then compares the running container image id before and after to classify each app as updated / no change / failed - Reports per-app duration and a summary; exits 1 if any app failed or could not be verified - + Requirements ------------ - Must run on the Dokploy host server (Dokploy schedule or cron) - Dokploy postgres container accessible via docker exec - docker and curl installed - Each target app must have "Auto Deploy" enabled — the webhook rejects apps with auto deploy turned off - + Security -------- - No API key or stored secret anywhere — the per-app webhook token is read from the local database at runtime @@ -31,5 +31,5 @@ readme: | - All calls are localhost-only, no external network traffic groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OQ -lastPushedChecksum: sha256:fe4c759579dc9eeb -lastPushedMetaChecksum: sha256:1f2c3f494768a3db +lastPushedChecksum: "sha256:fe4c759579dc9eeb" +lastPushedMetaChecksum: "sha256:0b2bcda32ff05b6a" \ No newline at end of file diff --git a/scripts/ds_store_disable_macos.level.yaml b/scripts/ds_store_disable_macos.level.yaml index 80f3aa5..d89c5e2 100644 --- a/scripts/ds_store_disable_macos.level.yaml +++ b/scripts/ds_store_disable_macos.level.yaml @@ -7,18 +7,18 @@ readme: | Purpose ------- Prevents macOS from creating .DS_Store files on network shares. These files contain folder metadata and can clutter network drives, causing issues for non-Mac users accessing shared folders. - + Usage Notes ----------- - Sets DSDontWriteNetworkStores to true via defaults command - Displays confirmation message - Logout or reboot is required for changes to take effect - + Requirements ------------ - macOS operating system - No special privileges required (runs as current user) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MA -lastPushedChecksum: sha256:6a32e8ee9e2fd422 -lastPushedMetaChecksum: sha256:920cbbac4768c8df +lastPushedChecksum: "sha256:6a32e8ee9e2fd422" +lastPushedMetaChecksum: "sha256:8e86e6ae0cbd6469" \ No newline at end of file diff --git a/scripts/duplicati_backup_status.level.yaml b/scripts/duplicati_backup_status.level.yaml index 8bd2c8f..0a4ffdf 100644 --- a/scripts/duplicati_backup_status.level.yaml +++ b/scripts/duplicati_backup_status.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Monitors Duplicati backup jobs via the local API. Authenticates to the Duplicati web service, queries configured backups, and reports their status including metrics like backup size, file count, and next scheduled run. - + Usage Notes ----------- - Validates input parameters @@ -18,7 +18,7 @@ readme: | - Exits with code 1 if any job has failed - $duplicatiPassword: set to your Duplicati Web UI password (leave empty if no password) - $duplicatiPort: port where Duplicati runs (default 8200) - + Requirements ------------ - Windows OS @@ -26,5 +26,5 @@ readme: | - Web UI password set (or empty for no password) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MQ -lastPushedChecksum: sha256:360e0d7aeefcb55f -lastPushedMetaChecksum: sha256:bb4d478828725f54 +lastPushedChecksum: "sha256:360e0d7aeefcb55f" +lastPushedMetaChecksum: "sha256:99b08cfd11cb087a" \ No newline at end of file diff --git a/scripts/edge_chrome_default_user_set.level.yaml b/scripts/edge_chrome_default_user_set.level.yaml index 9b0f2ab..17b42cf 100644 --- a/scripts/edge_chrome_default_user_set.level.yaml +++ b/scripts/edge_chrome_default_user_set.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Sets Google Chrome as the default browser for the current user. Uses SetUserFTA to properly set file associations with the correct UserChoice hash that Windows 10/11 requires. Must run as the logged-in user (not SYSTEM) because default browser settings are per-user and stored in HKCU with hash validation. - + Usage Notes ----------- - Verifies Chrome is installed @@ -17,7 +17,7 @@ readme: | - All options default to $true; set individual booleans to $false to skip specific associations - $cleanUserStartup: remove Edge from user's startup programs - SetUserFTA is hosted in the limehawk rmm-scripts repo; change URL if hosted elsewhere - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - Internet access (to download SetUserFTA if needed) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mg -lastPushedChecksum: sha256:b213f84130bd8aa5 -lastPushedMetaChecksum: sha256:fe6a65d630f22435 +lastPushedChecksum: "sha256:b213f84130bd8aa5" +lastPushedMetaChecksum: "sha256:6a06dcfc14b57ff9" \ No newline at end of file diff --git a/scripts/edge_suppress_policies_system.level.yaml b/scripts/edge_suppress_policies_system.level.yaml index f820776..7b76b71 100644 --- a/scripts/edge_suppress_policies_system.level.yaml +++ b/scripts/edge_suppress_policies_system.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Applies machine-wide policies to suppress Microsoft Edge nagging behaviors. Stops Edge from prompting to become default, auto-importing from other browsers, running in background, and showing promotional UI elements. Run as SYSTEM via RMM as the machine policy script. - + Usage Notes ----------- - Verifies admin privileges @@ -18,7 +18,7 @@ readme: | - All options default to $true (suppress everything) - Set individual options to $false to keep specific Edge behaviors - Covers UI prompts, features (Collections, Shopping, Sidebar, Copilot), and background behavior (startup boost, prelaunch, background mode) - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - Windows 10/11 with Microsoft Edge installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mw -lastPushedChecksum: sha256:1151af7b4680d90b -lastPushedMetaChecksum: sha256:0d32dd123269bb61 +lastPushedChecksum: "sha256:1151af7b4680d90b" +lastPushedMetaChecksum: "sha256:2a6d3291bd957604" \ No newline at end of file diff --git a/scripts/emsisoft_url_install.level.yaml b/scripts/emsisoft_url_install.level.yaml index 9b76c34..0f6e957 100644 --- a/scripts/emsisoft_url_install.level.yaml +++ b/scripts/emsisoft_url_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs Emsisoft Anti-Malware from a specified URL. Designed for deployments where the Emsisoft installer is hosted on a web server or cloud storage and needs to be deployed to endpoints via RMM. - + Usage Notes ----------- - Validates inputs (URL format, download path exists) @@ -20,14 +20,14 @@ readme: | - No installation flags are passed (interactive install) - $installerUrl: full URL to Emsisoft installer executable - $downloadPath: local directory to download installer to (default: $env:TEMP) - + Requirements ------------ - Windows PowerShell 5.1 or PowerShell 7+ - Internet connectivity to download URL - Administrator privileges recommended (for installation) - Sufficient disk space for installer download - + Security -------- - Ensure download URL is from a trusted source only @@ -35,5 +35,5 @@ readme: | - Use HTTPS URLs for secure downloads groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NA -lastPushedChecksum: sha256:192d86d6bb9b656b -lastPushedMetaChecksum: sha256:7c7087decdec3af1 +lastPushedChecksum: "sha256:192d86d6bb9b656b" +lastPushedMetaChecksum: "sha256:1060d5e76886618a" \ No newline at end of file diff --git a/scripts/eset_cleanup.level.yaml b/scripts/eset_cleanup.level.yaml index 9b95173..f3df1c4 100644 --- a/scripts/eset_cleanup.level.yaml +++ b/scripts/eset_cleanup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a complete cleanup of ESET antivirus software from Windows systems. Removes services, processes, files, registry entries, and scheduled tasks left behind after ESET uninstallation. Useful when standard uninstall fails or leaves remnants that interfere with new AV deployment. - + Usage Notes ----------- - Validates Administrator privileges @@ -17,13 +17,13 @@ readme: | - Removes ESET registry keys (HKLM and HKCU) - Removes ESET scheduled tasks (matching *ESET* pattern) - No inputs required; all cleanup targets are predefined - + Requirements ------------ - Windows PowerShell 5.1 or PowerShell 7+ - Administrator privileges (required) - No modules required - + Security -------- - Forcefully terminates processes (may lose unsaved ESET settings) @@ -31,5 +31,5 @@ readme: | - Backup important data before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NQ -lastPushedChecksum: sha256:be3fe66de9f75c4b -lastPushedMetaChecksum: sha256:af64984081b93bcb +lastPushedChecksum: "sha256:be3fe66de9f75c4b" +lastPushedMetaChecksum: "sha256:5957f4b8651c11bf" \ No newline at end of file diff --git a/scripts/everything_file_search.level.yaml b/scripts/everything_file_search.level.yaml index bd1c40a..e134e37 100644 --- a/scripts/everything_file_search.level.yaml +++ b/scripts/everything_file_search.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Searches all fixed NTFS drives by reading the Master File Table directly via fsutil. Much faster than Get-ChildItem because it reads the MFT sequentially instead of walking the directory tree. No third-party tools. - + Usage Notes ----------- - Reads NTFS MFT via fsutil usn enumdata per drive - Filters filenames inline using wildcard match - Resolves full paths only for matches (low memory) - May show recently deleted files not yet overwritten in MFT - + Requirements ------------ - Windows 10/11 with NTFS volumes @@ -23,5 +23,5 @@ readme: | - $searchPattern: wildcard pattern (e.g., *landtrust*, *.pdf) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Ng -lastPushedChecksum: sha256:0cd3f77917c59864 -lastPushedMetaChecksum: sha256:17fb9475f301125e +lastPushedChecksum: "sha256:0cd3f77917c59864" +lastPushedMetaChecksum: "sha256:3ed0fcc21402ddcd" \ No newline at end of file diff --git a/scripts/file_secure_delete.level.yaml b/scripts/file_secure_delete.level.yaml index 5a33e07..723fb33 100644 --- a/scripts/file_secure_delete.level.yaml +++ b/scripts/file_secure_delete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Interactive wizard for secure file deletion using Microsoft SDelete with DoD 5220.22-M compliant overwriting. Guides users through configuration options step-by-step before performing deletion. Creates comprehensive documentation suitable for legal proceedings. - + Usage Notes ----------- - Step-by-step prompts for target path, operator name, case reference, and settings @@ -19,19 +19,19 @@ readme: | - Shows summary of all selections for confirmation before proceeding - Supports recursive deletion of directories - Configurable number of overwrite passes (default: 3) - + Requirements ------------ - Interactive terminal (not suitable for RMM/headless execution) - Microsoft SDelete (auto-installed via winget if enabled) - PowerShell 5.1 or later - Administrator rights recommended for complete metadata access - + Security -------- - Certificate contains file paths and hashes which may be sensitive - Store certificates securely according to legal requirements groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Nw -lastPushedChecksum: sha256:99d45673e39aa403 -lastPushedMetaChecksum: sha256:0123bccdfee36c60 +lastPushedChecksum: "sha256:99d45673e39aa403" +lastPushedMetaChecksum: "sha256:847473a95ebefd70" \ No newline at end of file diff --git a/scripts/file_secure_delete_certificate.level.yaml b/scripts/file_secure_delete_certificate.level.yaml index 473d885..38c51fc 100644 --- a/scripts/file_secure_delete_certificate.level.yaml +++ b/scripts/file_secure_delete_certificate.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Securely deletes files using Microsoft SDelete with DoD 5220.22-M compliant overwriting, generating comprehensive documentation suitable for legal proceedings. Creates a detailed certificate of destruction with file hashes, metadata, system information, and timestamped audit trail. - + Usage Notes ----------- - Configure $targetPath, $outputDirectory, and $operatorName before running @@ -21,19 +21,19 @@ readme: | - Optional HTML certificate generation via $generateHtml - Configurable overwrite passes via $overwritePasses (default: 3) - Optional $caseReference, $witnessName, and $notes fields for legal documentation - + Requirements ------------ - Windows 10/11 or Windows Server - PowerShell 5.1 or later - Administrator privileges recommended for complete metadata access - Microsoft SDelete (auto-installed via winget if $autoInstallSDelete is enabled) - + Security -------- - Certificate contains file paths and hashes which may be sensitive - Store certificates securely according to legal requirements groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OA -lastPushedChecksum: sha256:a041287d0a535364 -lastPushedMetaChecksum: sha256:d41e1e527ada9c40 +lastPushedChecksum: "sha256:a041287d0a535364" +lastPushedMetaChecksum: "sha256:af3c6b286fb45f01" \ No newline at end of file diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index b764ce8..73a283e 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Recursively renames all files and folders in a directory to snake_case format. Converts spaces, hyphens, and other non-alphanumeric characters to underscores and lowercases all characters. - + Usage Notes ----------- - Set target directory via SuperOps runtime variable $YourTargetPathHere @@ -17,15 +17,15 @@ readme: | - Skips items already in snake_case format - Reports each rename operation and final counts - WARNING: Cannot be undone -- backup important directories first - + Requirements ------------ - Windows 10/11 - Write permissions to target directory - PowerShell 5.1+ variables: -- name: YourTargetPathHere + - name: YourTargetPathHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ -lastPushedChecksum: sha256:1667beeb231b76e8 -lastPushedMetaChecksum: sha256:a33af910f402d56e +lastPushedChecksum: "sha256:1667beeb231b76e8" +lastPushedMetaChecksum: "sha256:bc3b55f30c8a680c" \ No newline at end of file diff --git a/scripts/foxit_pdf_editor_plus_install.level.yaml b/scripts/foxit_pdf_editor_plus_install.level.yaml index f1a55fc..0c44d30 100644 --- a/scripts/foxit_pdf_editor_plus_install.level.yaml +++ b/scripts/foxit_pdf_editor_plus_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs Foxit PDF Editor from Microsoft Store source via winget. The MS Store version validates licenses server-side, supporting all Foxit subscription types including PDF Editor+, Suite Pro Teams, and other subscription SKUs. - + Usage Notes ----------- - Verifies winget is available @@ -16,7 +16,7 @@ readme: | - Uses msstore source for proper subscription license validation - User must sign into Foxit account post-install to activate license - No inputs required; package ID is hardcoded - + Requirements ------------ - Windows 10/11 with winget installed @@ -24,5 +24,5 @@ readme: | - Internet connectivity to Microsoft Store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MA -lastPushedChecksum: sha256:46dc5587c5f2c2bf -lastPushedMetaChecksum: sha256:3efe9782e758d831 +lastPushedChecksum: "sha256:46dc5587c5f2c2bf" +lastPushedMetaChecksum: "sha256:160c15923aa5a8ea" \ No newline at end of file diff --git a/scripts/gcpw_cleanup.level.yaml b/scripts/gcpw_cleanup.level.yaml index 9957374..fb6d2c6 100644 --- a/scripts/gcpw_cleanup.level.yaml +++ b/scripts/gcpw_cleanup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes Google Credential Provider for Windows (GCPW) registry keys and folders to allow for a clean reinstallation or complete removal. - + Usage Notes ----------- - Deletes GCPW-related registry keys @@ -16,12 +16,12 @@ readme: | - Reports results for each operation - No inputs required - Does NOT uninstall GCPW itself (use Programs and Features for that) - + Requirements ------------ - Windows 10/11 or Windows Server - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MQ -lastPushedChecksum: sha256:ac2a1fbb15510a20 -lastPushedMetaChecksum: sha256:581039248e95e965 +lastPushedChecksum: "sha256:ac2a1fbb15510a20" +lastPushedMetaChecksum: "sha256:28fb7a5f2f13c17e" \ No newline at end of file diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index 10f1019..2a5eb2d 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads, installs, and configures Google Credential Provider for Windows (GCPW). Sets allowed domains and enrollment token in the system registry. - + Usage Notes ----------- - Validates administrative privileges @@ -17,22 +17,22 @@ readme: | - Configures enrollment token in registry - $YourDomainsHere: comma-separated list of allowed Google Workspace domains (SuperOps runtime variable) - $YourEnrollmentTokenHere: GCPW enrollment token from Google Admin Console (SuperOps runtime variable) - + Requirements ------------ - Windows 10/11 or Windows Server - Administrator privileges - Internet access - Valid Google Workspace enrollment token - + Security -------- - Enrollment token should be kept confidential - Only listed domains will be allowed to login variables: -- name: YourDomainsHere -- name: YourEnrollmentTokenHere + - name: YourDomainsHere + - name: YourEnrollmentTokenHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg -lastPushedChecksum: sha256:6a01156dccfaf3c8 -lastPushedMetaChecksum: sha256:ca88ab36d1e69165 +lastPushedChecksum: "sha256:6a01156dccfaf3c8" +lastPushedMetaChecksum: "sha256:880437223931dfcc" \ No newline at end of file diff --git a/scripts/google_update_trigger.level.yaml b/scripts/google_update_trigger.level.yaml index d628073..6723a23 100644 --- a/scripts/google_update_trigger.level.yaml +++ b/scripts/google_update_trigger.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Triggers the Google Update scheduled task to force an immediate check for Chrome and other Google product updates. - + Usage Notes ----------- - Searches for scheduled tasks matching "GoogleUpdateTaskMachineUA" - Starts matching tasks and reports status - No inputs required; task name pattern is hardcoded - + Requirements ------------ - Windows 10/11 @@ -21,5 +21,5 @@ readme: | - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mw -lastPushedChecksum: sha256:4646ca9e91cf3598 -lastPushedMetaChecksum: sha256:5ed2105bea021ba7 +lastPushedChecksum: "sha256:4646ca9e91cf3598" +lastPushedMetaChecksum: "sha256:930281525914cc22" \ No newline at end of file diff --git a/scripts/hardware_report.level.yaml b/scripts/hardware_report.level.yaml index 6f3209c..d0ec187 100644 --- a/scripts/hardware_report.level.yaml +++ b/scripts/hardware_report.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Generates a comprehensive hardware inventory report for the local machine. Collects system information, CPU, memory, storage, GPU, network adapters, and BIOS details. Designed for unattended execution in RMM environments to gather standardized hardware data for asset management and documentation. - + Usage Notes ----------- - Collects hardware information from local system via CIM queries @@ -20,7 +20,7 @@ readme: | - $IncludeNetwork: include network adapter information (default $true) - $IncludeBios: include BIOS information (default $true) - $IncludeMemoryModules: include individual RAM module details (default $true) - + Requirements ------------ - PowerShell 5.1 or later @@ -28,5 +28,5 @@ readme: | - No special permissions required (runs in user context) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NA -lastPushedChecksum: sha256:de8ba9756cb4a9ce -lastPushedMetaChecksum: sha256:8957a65b1dbb70ed +lastPushedChecksum: "sha256:de8ba9756cb4a9ce" +lastPushedMetaChecksum: "sha256:e1b39419b7764e89" \ No newline at end of file diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index d0f36ff..72ccc43 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs the Huntress Agent on macOS systems. Huntress provides managed detection and response (MDR) services. This script handles the download, validation, and installation of the agent with proper logging. - + Usage Notes ----------- - Validates root privileges @@ -21,7 +21,7 @@ readme: | - ACCOUNT_KEY: your Huntress account secret key (32-char hex, SuperOps runtime variable) - ORG_KEY: organization key for agent affiliation (SuperOps runtime variable) - INSTALL_SYSTEM_EXTENSION: set to true if MDM is pre-configured (SuperOps runtime variable) - + Requirements ------------ - macOS operating system @@ -29,16 +29,16 @@ readme: | - Network connectivity to huntress.io - Valid Huntress account key and organization key - For system extension: MDM pre-configuration required - + Security -------- - Account key is masked in logs (shows first/last 4 chars only) - Installer downloaded over HTTPS variables: -- name: ACCOUNT_KEY -- name: ORG_KEY -- name: INSTALL_SYSTEM_EXTENSION + - name: ACCOUNT_KEY + - name: ORG_KEY + - name: INSTALL_SYSTEM_EXTENSION groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ -lastPushedChecksum: sha256:910ea6231cde662c -lastPushedMetaChecksum: sha256:340818797dfe9216 +lastPushedChecksum: "sha256:910ea6231cde662c" +lastPushedMetaChecksum: "sha256:73eff8d4395d583a" \ No newline at end of file diff --git a/scripts/ipconfig_release_renew.level.yaml b/scripts/ipconfig_release_renew.level.yaml index 8f8d25d..27f1359 100644 --- a/scripts/ipconfig_release_renew.level.yaml +++ b/scripts/ipconfig_release_renew.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Releases and renews IP addresses on all DHCP-enabled network adapters, and flushes the DNS cache. Useful for resolving network connectivity issues caused by stale DHCP leases or DNS cache problems. - + Usage Notes ----------- - Queries all network adapters for DHCP-enabled interfaces @@ -16,17 +16,17 @@ readme: | - Reports results for each adapter - Targets only DHCP-enabled adapters; static IP adapters are skipped - $FlushDns: whether to flush DNS cache after renewal (default $true) - + Requirements ------------ - Windows OS with network adapters - DHCP-enabled network adapters - Admin privileges recommended for DNS flush - + Security -------- - Temporarily disconnects network during release/renew groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Ng -lastPushedChecksum: sha256:aee4d4bf40d78b00 -lastPushedMetaChecksum: sha256:debc28ca152ba18e +lastPushedChecksum: "sha256:aee4d4bf40d78b00" +lastPushedMetaChecksum: "sha256:25798003fc736bb3" \ No newline at end of file diff --git a/scripts/limehawk_admin_profile_branding.level.yaml b/scripts/limehawk_admin_profile_branding.level.yaml index 283edd6..3cb2c39 100644 --- a/scripts/limehawk_admin_profile_branding.level.yaml +++ b/scripts/limehawk_admin_profile_branding.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Standardized Limehawk MSP automation that renames the built-in Administrator (SID *-500) to "hawkadmin" and disables it, creates or updates the "limehawk" MSP admin account for daily use, generates strong passwords for both accounts and pushes them to SuperOps custom fields, cleans up old MSP accounts (m5sadmin, tlitlocal, clientadmin), and applies account pictures and wallpaper branding. - + Usage Notes ----------- - Built-in admin identified by SID *-500, not by name @@ -16,7 +16,7 @@ readme: | - Requires SuperOps module with Send-CustomField cmdlet - Configure account names, custom field mappings, branding asset paths, and password length via hardcoded settings - Password length defaults to 16 characters - + Requirements ------------ - PowerShell 5.1+ @@ -25,5 +25,5 @@ readme: | - SuperOps custom fields: "Built-in Admin Password", "MSP Admin Password" groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Nw -lastPushedChecksum: sha256:cc11c5cfa54f13ae -lastPushedMetaChecksum: sha256:2fb7aa965824a1d7 +lastPushedChecksum: "sha256:cc11c5cfa54f13ae" +lastPushedMetaChecksum: "sha256:362c6097924b03a1" \ No newline at end of file diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 3738ab8..9ef8116 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Creates or updates a local administrator account with a cryptographically secure random password. If the account exists, resets the password. If not, creates the account and adds it to the Administrators group. - + Usage Notes ----------- - Generates cryptographically secure random password (16 characters) @@ -16,20 +16,20 @@ readme: | - Password output to console for RMM custom field capture - Password includes uppercase, lowercase, numbers, and special characters - $NewAdminUsername: username for the local admin account (SuperOps runtime variable) - + Requirements ------------ - Windows 10/11 - Admin privileges required - PowerShell 5.1+ - + Security -------- - Password generated using RNGCryptoServiceProvider - Consider storing password securely in RMM custom fields variables: -- name: NewAdminUsername + - name: NewAdminUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA -lastPushedChecksum: sha256:b00a562a4847602e -lastPushedMetaChecksum: sha256:c26853472629463a +lastPushedChecksum: "sha256:b00a562a4847602e" +lastPushedMetaChecksum: "sha256:61d433d4a7a80a87" \ No newline at end of file diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index c829056..be2cc75 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Creates a new local administrator account intended for employee onboarding. The account is created with a blank password and configured to force a password change at first interactive logon. The account is visible on the Windows login screen so the new employee can select it and set their own password immediately. - + Usage Notes ----------- - Account is created with a blank password by design @@ -16,14 +16,14 @@ readme: | - Account is added to the local Administrators group - $NewAdminUsername: account username (SuperOps runtime variable) - $NewAdminFullName: display name shown on login screen (SuperOps runtime variable) - + Requirements ------------ - Windows 10/11 - Admin privileges required (runs as SYSTEM via RMM) - PowerShell 5.1+ - LocalAccounts module (built-in on Windows 10/11) - + Security -------- - Blank password is intentional for onboarding workflow @@ -31,9 +31,9 @@ readme: | - Network logon with blank password is blocked by default - Employee must set a password at first interactive logon variables: -- name: NewAdminUsername -- name: NewAdminFullName + - name: NewAdminUsername + - name: NewAdminFullName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ -lastPushedChecksum: sha256:5b01541855959832 -lastPushedMetaChecksum: sha256:710d963e302a88e4 +lastPushedChecksum: "sha256:5b01541855959832" +lastPushedMetaChecksum: "sha256:86171da53af2f9b2" \ No newline at end of file diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 58e4f19..459ae9f 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Adds or removes a local user from the Administrators group. Idempotent operation that ensures the user's group membership aligns with the requested action. - + Usage Notes ----------- - Validates user exists before operation @@ -17,15 +17,15 @@ readme: | - Operates on the built-in Administrators group - $TargetUsername: the local user account to manage (SuperOps runtime variable) - $Action: set to "add" or "remove" (hardcoded setting) - + Requirements ------------ - Windows 10/11 - Admin privileges required - Target user must exist locally variables: -- name: TargetUsername + - name: TargetUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA -lastPushedChecksum: sha256:d8f47d2d007aaf4c -lastPushedMetaChecksum: sha256:994e1fa3fdc37dbb +lastPushedChecksum: "sha256:d8f47d2d007aaf4c" +lastPushedMetaChecksum: "sha256:54181962d9b2027c" \ No newline at end of file diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index 00640e1..49e26dc 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Creates a new local user account with specified username and password. Optionally adds the user to the Administrators group. - + Usage Notes ----------- - Validates inputs before creating the account - Creates a standard local user account - Optionally adds the user to the Administrators group - Reports final status with user details - + Requirements ------------ - Windows 10/11 @@ -23,14 +23,14 @@ readme: | - Username provided via SuperOps $NewUsername variable - Password provided via SuperOps $NewPassword variable - AddToAdmin set to "Yes" or "No" (default: "No") - + Security -------- - Password visible in script -- use RMM variables for production variables: -- name: NewUsername -- name: NewPassword + - name: NewUsername + - name: NewPassword groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ -lastPushedChecksum: sha256:67aa5c484662ae59 -lastPushedMetaChecksum: sha256:4b3b9d350d20211a +lastPushedChecksum: "sha256:67aa5c484662ae59" +lastPushedMetaChecksum: "sha256:94771c55fb5c84e7" \ No newline at end of file diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index 5a44326..ea9042e 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Deletes a local user account and its associated profile directory. Completely removes the user from the system including their files. - + Usage Notes ----------- - Set to "listusers" mode to list all local users without deleting @@ -15,21 +15,21 @@ readme: | - Removes user profile via CIM, falls back to direct filesystem removal - Removes the local user account after profile cleanup - Reports final status - + Requirements ------------ - Windows 10/11 - Admin privileges required - PowerShell 5.1+ - Username provided via SuperOps $UsernameToDelete variable - + Security -------- - Destructive operation -- data cannot be recovered - Backup important data before running variables: -- name: UsernameToDelete + - name: UsernameToDelete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg -lastPushedChecksum: sha256:16d8ccc7f3be11d4 -lastPushedMetaChecksum: sha256:9fa507b2e4462cfb +lastPushedChecksum: "sha256:16d8ccc7f3be11d4" +lastPushedMetaChecksum: "sha256:0f393df64c07732d" \ No newline at end of file diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index c8e1619..308e503 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Disables a local user account so it cannot be used to log in. The user profile and all data are preserved on disk. Use this for offboarding when data retention is required. - + Usage Notes ----------- - Validates username input @@ -16,7 +16,7 @@ readme: | - Logs off any active sessions for that user - Preserves user profile and all files - Account can be re-enabled with Enable-LocalUser - + Requirements ------------ - Windows 10/11 @@ -24,8 +24,8 @@ readme: | - PowerShell 5.1+ - $UsernameToDisable: local username to disable (SuperOps runtime variable) variables: -- name: UsernameToDisable + - name: UsernameToDisable groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw -lastPushedChecksum: sha256:0f2f743bc9b235f6 -lastPushedMetaChecksum: sha256:6490af4ace127f5d +lastPushedChecksum: "sha256:0f2f743bc9b235f6" +lastPushedMetaChecksum: "sha256:eba8d0314e5c6723" \ No newline at end of file diff --git a/scripts/macos_auto_updates_enable.level.yaml b/scripts/macos_auto_updates_enable.level.yaml index 35f1f17..11cc34d 100644 --- a/scripts/macos_auto_updates_enable.level.yaml +++ b/scripts/macos_auto_updates_enable.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Enables all automatic update settings on macOS including automatic checking, downloading, and installation of macOS updates, App Store updates, and security/critical updates. Ensures systems stay patched and secure. - + Usage Notes ----------- - Verifies root/sudo privileges before making changes - Enables AutomaticCheckEnabled, AutomaticDownload, AutoUpdate - Enables ConfigDataInstall, CriticalUpdateInstall, AutomaticallyInstallMacOSUpdates - Verifies all settings were applied after enabling - + Requirements ------------ - macOS 10.14 or later - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NA -lastPushedChecksum: sha256:25ead792bd41f224 -lastPushedMetaChecksum: sha256:035e124b9744fe83 +lastPushedChecksum: "sha256:25ead792bd41f224" +lastPushedMetaChecksum: "sha256:e926644f2c75c652" \ No newline at end of file diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index 654b4f1..6c5da61 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs system reboot when uptime exceeds threshold or reboot flags are detected. Supports graceful mode (default) for servers/workstations with active users, which warns users and skips reboot if critical apps are running, and force mode for after-hours maintenance windows with immediate reboot. - + Usage Notes ----------- - Calculates current uptime from last boot time @@ -18,19 +18,19 @@ readme: | - If neither uptime nor flags trigger, no action taken - $GracefulReboot default: true - $DefaultMaxUptimeDays default: 7 - + Requirements ------------ - PowerShell 5.1+ - Local Administrator rights - + Security -------- - Force mode will not prompt users -- use for empty machines only variables: -- name: graceful_true_or_false -- name: maxuptimedays + - name: graceful_true_or_false + - name: maxuptimedays groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ -lastPushedChecksum: sha256:7f7bd5e13d21a1a0 -lastPushedMetaChecksum: sha256:214fb32bb86f3bcc +lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" +lastPushedMetaChecksum: "sha256:85c1b2921e55f927" \ No newline at end of file diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index 9d8420e..0e1d8ad 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Executes the built-in Windows Malicious Software Removal Tool (MRT.exe) with configurable scan mode. Designed for RMM deployment via SuperOps, allowing administrators to trigger Quick or Full silent scans on target endpoints. Displays scan status and log preview upon completion. - + Usage Notes ----------- - Validates administrative privileges before scanning @@ -16,7 +16,7 @@ readme: | - Waits for scan completion (minutes to hours depending on mode) - Displays last 50 lines of MRT log file for review - RMM variable injection configures $ScanMode at runtime - + Requirements ------------ - Windows OS with MRT.exe (included by default) @@ -25,8 +25,8 @@ readme: | - SuperOps module available via $SuperOpsModule variable - $ScanMode set to Quick or Full (case-insensitive) variables: -- name: QuickOrFull + - name: QuickOrFull groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng -lastPushedChecksum: sha256:869633f2768cf87a -lastPushedMetaChecksum: sha256:f63fe826aa0235d2 +lastPushedChecksum: "sha256:869633f2768cf87a" +lastPushedMetaChecksum: "sha256:298ebcaea2f0aeee" \ No newline at end of file diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index 7e59cb6..c899f1d 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and silently installs an MSI package from the URL specified in the MSIURL runtime variable. The file is saved to the temporary directory and cleaned up after installation completes. - + Usage Notes ----------- - Uses curl for fast, reliable downloads with redirect support @@ -15,7 +15,7 @@ readme: | - Runs msiexec with /qn (quiet, no UI) and /norestart flags - Cleans up the temporary MSI file after installation - Exit code 3010 indicates success but reboot required - + Requirements ------------ - PowerShell 5.1+ @@ -23,8 +23,8 @@ readme: | - Network connectivity - $MsiScriptUrl set to the full URL of the MSI file (via SuperOps $MSIURL) variables: -- name: MSIURL + - name: MSIURL groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw -lastPushedChecksum: sha256:11645faa554f4b42 -lastPushedMetaChecksum: sha256:197a024abb12f1c5 +lastPushedChecksum: "sha256:11645faa554f4b42" +lastPushedMetaChecksum: "sha256:be454a596a8cd0fc" \ No newline at end of file diff --git a/scripts/network_dhcp_set_macos.level.yaml b/scripts/network_dhcp_set_macos.level.yaml index ca828f7..3c0f7a3 100644 --- a/scripts/network_dhcp_set_macos.level.yaml +++ b/scripts/network_dhcp_set_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Configures a macOS network interface to use DHCP for automatic IP addressing. Toggles the network service off and on to ensure the new DHCP settings take effect immediately. - + Usage Notes ----------- - Detects primary network interface automatically, falls back to en0 @@ -16,7 +16,7 @@ readme: | - Verifies DHCP configuration after applying - TOGGLE_DELAY controls wait time between off/on (default: 2 seconds) - Temporarily disrupts network connectivity during toggle - + Requirements ------------ - Root/sudo access required @@ -24,5 +24,5 @@ readme: | - networksetup command available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OA -lastPushedChecksum: sha256:0aedf22695283c5f -lastPushedMetaChecksum: sha256:0d4f2a9d71945341 +lastPushedChecksum: "sha256:0aedf22695283c5f" +lastPushedMetaChecksum: "sha256:c3477f1b63965c80" \ No newline at end of file diff --git a/scripts/network_scan.level.yaml b/scripts/network_scan.level.yaml index 3106502..773a925 100644 --- a/scripts/network_scan.level.yaml +++ b/scripts/network_scan.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Scans a range of IP addresses using multi-threaded ping requests to discover active hosts on the network. Optionally resolves hostnames via DNS. - + Usage Notes ----------- - Edit $startIP and $endIP variables to set scan range @@ -17,12 +17,12 @@ readme: | - Adjust $threads variable to control concurrency (default: 32) - $pingAttempts controls number of ping attempts per IP (default: 1) - Results sorted by IP address with hostname if DNS enabled - + Requirements ------------ - Windows PowerShell 5.1 or later - Network access to target IP range groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OQ -lastPushedChecksum: sha256:a9fb4a959015c576 -lastPushedMetaChecksum: sha256:9627aa094342241a +lastPushedChecksum: "sha256:a9fb4a959015c576" +lastPushedMetaChecksum: "sha256:88599d9458f65c54" \ No newline at end of file diff --git a/scripts/network_service_refresh_macos.level.yaml b/scripts/network_service_refresh_macos.level.yaml index c85a079..0e1ca95 100644 --- a/scripts/network_service_refresh_macos.level.yaml +++ b/scripts/network_service_refresh_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Refreshes all network services on macOS by toggling them off and on. Preserves the original enabled/disabled state of each service. Useful for resolving DHCP lease issues, DNS problems, or general network connectivity problems without requiring a full system restart. - + Usage Notes ----------- - Lists all network services and processes each one @@ -16,7 +16,7 @@ readme: | - Restores original state if a service was previously disabled - TOGGLE_DELAY controls wait time between off/on (default: 2 seconds) - Temporarily disrupts network connectivity during refresh - + Requirements ------------ - Root/sudo access required @@ -24,5 +24,5 @@ readme: | - networksetup command available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MA -lastPushedChecksum: sha256:5c518394b55357ae -lastPushedMetaChecksum: sha256:7c95b07322a8922c +lastPushedChecksum: "sha256:5c518394b55357ae" +lastPushedMetaChecksum: "sha256:fe2e2f62010c9d29" \ No newline at end of file diff --git a/scripts/ninjaone_uninstall.level.yaml b/scripts/ninjaone_uninstall.level.yaml index 8fc18c3..22a5250 100644 --- a/scripts/ninjaone_uninstall.level.yaml +++ b/scripts/ninjaone_uninstall.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Completely removes NinjaOne RMM agent and Ninja Remote from a Windows system. Includes disabling uninstall prevention, removing services, cleaning up registry entries, and removing the virtual display driver. - + Usage Notes ----------- - Auto-detects NinjaOne installation path from registry @@ -18,12 +18,12 @@ readme: | - Cleans up registry entries in HKLM - Removes Ninja Remote components and virtual display driver - Creates transcript log in Windows\temp for review - + Requirements ------------ - Windows OS - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MQ -lastPushedChecksum: sha256:c5cf794d589cf8bc -lastPushedMetaChecksum: sha256:a35cc2f208441104 +lastPushedChecksum: "sha256:c5cf794d589cf8bc" +lastPushedMetaChecksum: "sha256:532209566417fd2b" \ No newline at end of file diff --git a/scripts/nircmd_resolution_set.level.yaml b/scripts/nircmd_resolution_set.level.yaml index 6cfee3f..44b8549 100644 --- a/scripts/nircmd_resolution_set.level.yaml +++ b/scripts/nircmd_resolution_set.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Changes the display resolution using NirSoft's NirCmd utility. Downloads NirCmd if not already present, then sets the specified resolution. - + Usage Notes ----------- - Creates destination directory if it does not exist @@ -16,7 +16,7 @@ readme: | - Sets display resolution to specified values and cleans up zip file - Edit $resolutionWidth, $resolutionHeight, and $colorDepth variables - $destinationFolder default: C:\limehawk\nircmd - + Requirements ------------ - Windows 10/11 or Windows Server @@ -24,5 +24,5 @@ readme: | - Display must support the requested resolution groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mg -lastPushedChecksum: sha256:144f3fde5574868a -lastPushedMetaChecksum: sha256:afa4779d28f44bd5 +lastPushedChecksum: "sha256:144f3fde5574868a" +lastPushedMetaChecksum: "sha256:fd32d84b847ee22e" \ No newline at end of file diff --git a/scripts/nircmd_screenshot.level.yaml b/scripts/nircmd_screenshot.level.yaml index 4721772..f2b50fe 100644 --- a/scripts/nircmd_screenshot.level.yaml +++ b/scripts/nircmd_screenshot.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Captures a screenshot of the current display using NirSoft's NirCmd utility. Downloads NirCmd if not already present, then saves a timestamped screenshot. - + Usage Notes ----------- - Creates destination directories if they do not exist @@ -17,7 +17,7 @@ readme: | - Cleans up temporary zip file after extraction - $destinationFolder default: C:\limehawk\nirsoft - $screenshotFolder default: C:\limehawk\nirsoft\screenshots - + Requirements ------------ - Windows 10/11 or Windows Server @@ -25,5 +25,5 @@ readme: | - Write permissions to destination folder groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mw -lastPushedChecksum: sha256:1796923bd56b59bc -lastPushedMetaChecksum: sha256:9fb9093589e0bdda +lastPushedChecksum: "sha256:1796923bd56b59bc" +lastPushedMetaChecksum: "sha256:363678f9014ac04b" \ No newline at end of file diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index ef91133..cce0e95 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads NirSoft UninstallView utility and uses it to uninstall software matching a specified pattern using wildcard matching. - + Usage Notes ----------- - Set the SuperOps runtime variable $YourAppPatternHere to the application name or pattern to uninstall @@ -17,7 +17,7 @@ readme: | - Runs uninstall command with wildcard matching - Cleans up downloaded zip file after extraction - Check manually after execution to confirm uninstallation - + Requirements ------------ - Windows OS @@ -25,8 +25,8 @@ readme: | - Internet connectivity (downloads from official NirSoft website) - $YourAppPatternHere: application name or pattern to uninstall (SuperOps runtime variable) variables: -- name: YourAppPatternHere + - name: YourAppPatternHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA -lastPushedChecksum: sha256:87cabcfd5f2ac46f -lastPushedMetaChecksum: sha256:0afc0a4c2d40fd91 +lastPushedChecksum: "sha256:87cabcfd5f2ac46f" +lastPushedMetaChecksum: "sha256:b04fe16c62d6bfe6" \ No newline at end of file diff --git a/scripts/nvram_reset_reboot_macos.level.yaml b/scripts/nvram_reset_reboot_macos.level.yaml index 1cf7ab4..43fd4b9 100644 --- a/scripts/nvram_reset_reboot_macos.level.yaml +++ b/scripts/nvram_reset_reboot_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Schedules an NVRAM reset on the next reboot and immediately reboots the Mac. NVRAM (Non-Volatile Random-Access Memory) stores system settings that macOS accesses quickly, including startup disk selection, display resolution, speaker volume, time zone information, and recent kernel panic information. Useful for troubleshooting boot issues, display problems, audio issues, startup disk not found errors, and time/date problems. - + Usage Notes ----------- - Detects Mac architecture (Intel vs Apple Silicon) @@ -15,18 +15,18 @@ readme: | - Sets NVRAM variable to trigger reset on next boot - Immediately reboots the system after setting reset flag - User data is not affected (only system settings reset) - + Requirements ------------ - Root/sudo access required - macOS 10.14 or later - Intel-based Mac (Apple Silicon uses different reset method) - + Security -------- - Runs with elevated privileges (sudo required) - Will immediately reboot the system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NQ -lastPushedChecksum: sha256:706557f66e04e540 -lastPushedMetaChecksum: sha256:735f6934a01f0c1e +lastPushedChecksum: "sha256:706557f66e04e540" +lastPushedMetaChecksum: "sha256:1a4aba2b935e1ace" \ No newline at end of file diff --git a/scripts/onedrive_reenable.level.yaml b/scripts/onedrive_reenable.level.yaml index 13cfc49..9f40429 100644 --- a/scripts/onedrive_reenable.level.yaml +++ b/scripts/onedrive_reenable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Reverses the registry policies set by onedrive_remove_complete.ps1 and reinstalls OneDrive. Use this when a machine needs to switch back to Microsoft services. - + Usage Notes ----------- - Validates administrative privileges @@ -18,7 +18,7 @@ readme: | - $installOneDrive: download and install OneDrive (default: true) - $cleanDefaultProfile: also clean Default User profile (default: true) - OneDrive download URL: https://go.microsoft.com/fwlink/?linkid=844652 - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - Network connectivity to Microsoft CDN (for installation) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Ng -lastPushedChecksum: sha256:640ca7ab752253cc -lastPushedMetaChecksum: sha256:3ac0b751a37c0e4a +lastPushedChecksum: "sha256:640ca7ab752253cc" +lastPushedMetaChecksum: "sha256:11da2fa083a2e32c" \ No newline at end of file diff --git a/scripts/onedrive_remove_complete.level.yaml b/scripts/onedrive_remove_complete.level.yaml index 26efb25..e4d5863 100644 --- a/scripts/onedrive_remove_complete.level.yaml +++ b/scripts/onedrive_remove_complete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a complete, multi-path uninstallation of Microsoft OneDrive with permanent startup suppression. Stops running processes, executes the official Microsoft uninstall utility against all known install paths (system and Office), removes scheduled tasks, and applies registry policies to prevent reinstallation. - + Usage Notes ----------- - Stops all running OneDrive processes @@ -19,7 +19,7 @@ readme: | - Cleans Default User profile to prevent OneDrive on new accounts - $cleanDefaultProfile controls Default User cleanup (default: true) - Reboot recommended for full cleanup - + Requirements ------------ - PowerShell 5.1 or later @@ -27,5 +27,5 @@ readme: | - No network requirements (local operations only) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Nw -lastPushedChecksum: sha256:e1f4ee52cb2ad974 -lastPushedMetaChecksum: sha256:58a800e021ecdbb5 +lastPushedChecksum: "sha256:e1f4ee52cb2ad974" +lastPushedMetaChecksum: "sha256:537407ec22480492" \ No newline at end of file diff --git a/scripts/onestart_remove_complete.level.yaml b/scripts/onestart_remove_complete.level.yaml index 3a5492a..3003b7b 100644 --- a/scripts/onestart_remove_complete.level.yaml +++ b/scripts/onestart_remove_complete.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Completely removes OneStart.ai browser/PUP from Windows systems. First attempts a clean uninstall via NirSoft UninstallView, then performs manual cleanup of any remaining processes, files, registry keys, and scheduled tasks. - + Usage Notes ----------- - Downloads NirSoft UninstallView (architecture-appropriate) @@ -18,18 +18,18 @@ readme: | - Backs up registry keys to SystemDrive\limehawk\registry_backup before removal - Cleans up registry keys in HKCU and HKLM - $appName default: OneStart - + Requirements ------------ - Windows PowerShell 5.1+ - Administrative privileges required - Internet access for UninstallView download - + Security -------- - Only removes OneStart-related items using known paths and patterns - Registry keys are backed up before removal for recovery if needed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OA -lastPushedChecksum: sha256:a672ec29a7dc6a4b -lastPushedMetaChecksum: sha256:c837a107f39ba3f8 +lastPushedChecksum: "sha256:a672ec29a7dc6a4b" +lastPushedMetaChecksum: "sha256:3ab2f45b842594af" \ No newline at end of file diff --git a/scripts/onlyoffice_install.level.yaml b/scripts/onlyoffice_install.level.yaml index 8ae46a4..e9d364e 100644 --- a/scripts/onlyoffice_install.level.yaml +++ b/scripts/onlyoffice_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and silently installs OnlyOffice Desktop Editors, a free office suite compatible with Microsoft Office formats. - + Usage Notes ----------- - Validates input parameters before proceeding @@ -15,7 +15,7 @@ readme: | - Installs silently using msiexec - Cleans up installer file after completion - $downloadUrl points to official OnlyOffice website - + Requirements ------------ - Windows OS (64-bit) @@ -23,5 +23,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OQ -lastPushedChecksum: sha256:85daf10183a79aef -lastPushedMetaChecksum: sha256:5e0bdd51b39500d8 +lastPushedChecksum: "sha256:85daf10183a79aef" +lastPushedMetaChecksum: "sha256:1907853c3c0fe7ae" \ No newline at end of file diff --git a/scripts/openssh_server_remove.level.yaml b/scripts/openssh_server_remove.level.yaml index f8c5900..09c7fe7 100644 --- a/scripts/openssh_server_remove.level.yaml +++ b/scripts/openssh_server_remove.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Stops and removes the OpenSSH Server from Windows. Removes the firewall rule, uninstalls the Windows capability, and optionally cleans up the sshd configuration directory. - + Usage Notes ----------- - Stops the sshd and ssh-agent services @@ -17,17 +17,17 @@ readme: | - Removes sshd config directory if configured (default: true) - $RemoveConfig controls whether to delete C:\ProgramData\ssh (default: true) - $RemoveHostKeys controls whether to delete host keys with config (default: true) - + Requirements ------------ - Windows Server 2019+ or Windows 10 1809+ - Administrator privileges - + Security -------- - Host keys are deleted by default to prevent reuse - Config removal ensures no stale authorized_keys remain groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMA -lastPushedChecksum: sha256:71f9a649c4db3f9b -lastPushedMetaChecksum: sha256:900e1ba807cbcc8c +lastPushedChecksum: "sha256:71f9a649c4db3f9b" +lastPushedMetaChecksum: "sha256:a67c53a71027433f" \ No newline at end of file diff --git a/scripts/openssh_server_setup.level.yaml b/scripts/openssh_server_setup.level.yaml index 2ff752f..72d3d29 100644 --- a/scripts/openssh_server_setup.level.yaml +++ b/scripts/openssh_server_setup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs the OpenSSH Server Windows capability, configures the sshd service for automatic startup, enables public key authentication, and opens the Windows Firewall for SSH traffic on port 22. - + Usage Notes ----------- - Checks if OpenSSH Server is already installed before proceeding @@ -22,13 +22,13 @@ readme: | - $AllowedUsersGroup default: Administrators - Password authentication: enabled - Public key authentication: enabled - + Requirements ------------ - Windows Server 2019+ or Windows 10 1809+ - Administrator privileges - Internet access if OpenSSH capability not already present - + Security -------- - Access restricted to Administrators group by default @@ -36,5 +36,5 @@ readme: | - Password authentication left enabled for initial setup convenience groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMQ -lastPushedChecksum: sha256:c182f7aae76eb7a9 -lastPushedMetaChecksum: sha256:17819875107cbdfb +lastPushedChecksum: "sha256:c182f7aae76eb7a9" +lastPushedMetaChecksum: "sha256:0e96d2f5fd84a2a2" \ No newline at end of file diff --git a/scripts/outlook_link_handling_fix.level.yaml b/scripts/outlook_link_handling_fix.level.yaml index c428e5e..122bc40 100644 --- a/scripts/outlook_link_handling_fix.level.yaml +++ b/scripts/outlook_link_handling_fix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Fixes an issue where clicking shared file links (OneDrive, SharePoint) in Outlook incorrectly launches Outlook Classic instead of opening in the default web browser. Sets the documented Office link handling registry values to use the system default browser. - + Usage Notes ----------- - Checks if the Office Links registry path exists and creates it if missing @@ -15,7 +15,7 @@ readme: | - Sets DecisionComplete to 1 (locks in the preference) - Restart Outlook after running for changes to take effect - $registryPath: HKCU:\Software\Microsoft\Office\16.0\Common\Links - + Requirements ------------ - PowerShell 5.1 or later @@ -23,5 +23,5 @@ readme: | - Microsoft Office 2016 or later (Office 16.0) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMg -lastPushedChecksum: sha256:bfcb50c6b844cef4 -lastPushedMetaChecksum: sha256:79061dc158cf2c00 +lastPushedChecksum: "sha256:bfcb50c6b844cef4" +lastPushedMetaChecksum: "sha256:b88dd093aabe460a" \ No newline at end of file diff --git a/scripts/outlook_new_force_migrate.level.yaml b/scripts/outlook_new_force_migrate.level.yaml index f6e24d9..ccff223 100644 --- a/scripts/outlook_new_force_migrate.level.yaml +++ b/scripts/outlook_new_force_migrate.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Forces all user profiles on a machine to migrate to New Outlook and prevents them from switching back to Classic Outlook. Applies per-user registry keys across all loaded and unloaded user hives (runs as SYSTEM via RMM), and sets machine-wide HKLM policies to enforce New Outlook as the default mail client. - + Usage Notes ----------- - Enumerates all user profiles from the registry ProfileList @@ -18,7 +18,7 @@ readme: | - All four options default to $true (full lockdown to New Outlook) - Set individual options to $false to keep specific behaviors - Users will not be able to revert to Classic Outlook without admin intervention - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - Windows 10/11 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMw -lastPushedChecksum: sha256:e983e27a747703ea -lastPushedMetaChecksum: sha256:91cb9d28d4f70525 +lastPushedChecksum: "sha256:e983e27a747703ea" +lastPushedMetaChecksum: "sha256:3a478b14847eb321" \ No newline at end of file diff --git a/scripts/outlook_new_remove.level.yaml b/scripts/outlook_new_remove.level.yaml index 45ff540..fd72c64 100644 --- a/scripts/outlook_new_remove.level.yaml +++ b/scripts/outlook_new_remove.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes the "New Outlook" (Microsoft.OutlookForWindows) Appx package from all user profiles on a Windows machine and prevents it from being reprovisioned. Used when organizations want to keep users on Classic Outlook and prevent the new Outlook from appearing via Windows Update or new user provisioning. - + Usage Notes ----------- - Checks if Microsoft.OutlookForWindows is installed via Get-AppxPackage @@ -15,7 +15,7 @@ readme: | - Removes the provisioned package so new user profiles do not get it - Deletes the OutlookUpdate registry key under UScheduler to prevent re-provisioning via Windows Update - No configurable inputs required - targets Microsoft.OutlookForWindows specifically - + Requirements ------------ - PowerShell 5.1 or later @@ -23,5 +23,5 @@ readme: | - No network requirements (local operations only) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNA -lastPushedChecksum: sha256:b2ff05e51e2d5e97 -lastPushedMetaChecksum: sha256:27df834824275479 +lastPushedChecksum: "sha256:b2ff05e51e2d5e97" +lastPushedMetaChecksum: "sha256:3e35cca047acfa31" \ No newline at end of file diff --git a/scripts/outlook_new_restore.level.yaml b/scripts/outlook_new_restore.level.yaml index c30fe0a..169edea 100644 --- a/scripts/outlook_new_restore.level.yaml +++ b/scripts/outlook_new_restore.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Reverses the remove_new_outlook.ps1 script by reinstalling the New Outlook (Microsoft.OutlookForWindows) app and re-enabling the "Try the new Outlook" toggle in Classic Outlook. Used when an organization wants to roll back the removal and allow users to access New Outlook again. - + Usage Notes ----------- - Resolves winget path with SYSTEM context awareness for RMM compatibility @@ -16,7 +16,7 @@ readme: | - Recreates the OutlookUpdate registry key under UScheduler so Windows Update can provision the app again - Removes the HideNewOutlookToggle registry value from loaded user hives to re-enable the toggle in Classic Outlook - No configurable inputs required - targets Microsoft.OutlookForWindows specifically - + Requirements ------------ - PowerShell 5.1 or later @@ -24,5 +24,5 @@ readme: | - winget recommended (falls back to Store URI if unavailable) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNQ -lastPushedChecksum: sha256:45a3649ff7a97649 -lastPushedMetaChecksum: sha256:e070c53a7ac78405 +lastPushedChecksum: "sha256:45a3649ff7a97649" +lastPushedMetaChecksum: "sha256:8c3fa4096c9dfb8d" \ No newline at end of file diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index 51e68b2..431893a 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Scans all user profiles on a Windows machine for files that may contain passwords or credentials. Useful for security audits to identify exposed sensitive data in common user directories. - + Usage Notes ----------- - Enumerates all user profiles in C:\Users (excludes Public, Default) @@ -19,15 +19,15 @@ readme: | - Optional Google Chat webhook alert via $GoogleChatWebhook variable (sent only when files found) - Read-only operation -- does not modify or delete files - File contents are NOT read, only metadata reported (path, size, modified date) - + Requirements ------------ - PowerShell 5.1 or later - Administrator privileges (to access other user profiles) - SuperOps runtime variable: GoogleChatWebhook (optional) variables: -- name: GoogleChatWebhook + - name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg -lastPushedChecksum: sha256:74b41d5efc2d9aad -lastPushedMetaChecksum: sha256:188d802d9b0cc223 +lastPushedChecksum: "sha256:74b41d5efc2d9aad" +lastPushedMetaChecksum: "sha256:ed1aba780cad8382" \ No newline at end of file diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index 85c08c4..0b63534 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Scans all user profiles on a Windows machine for files that may contain passwords or credentials. Creates a SuperOps ticket assigned to the requester associated with the asset when findings are detected. - + Usage Notes ----------- - Enumerates all user profiles in C:\Users (excludes Public, Default) @@ -19,21 +19,21 @@ readme: | - Optional Google Chat webhook alert in addition to ticket creation - Read-only file operation -- does not modify or delete files - File contents are NOT read, only metadata reported - + Requirements ------------ - PowerShell 5.1 or later - Administrator privileges (to access other user profiles) - SuperOps API key with ticket creation permissions ($SuperOpsApiKey runtime variable) - Optional: GoogleChatWebhook runtime variable for webhook alerts - + Security -------- - API key should be stored securely in SuperOps variables variables: -- name: SuperOpsApiKey -- name: GoogleChatWebhook + - name: SuperOpsApiKey + - name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw -lastPushedChecksum: sha256:e3aaedff2a6342a9 -lastPushedMetaChecksum: sha256:728175b6f9dbb426 +lastPushedChecksum: "sha256:e3aaedff2a6342a9" +lastPushedMetaChecksum: "sha256:0f4362f9c256c817" \ No newline at end of file diff --git a/scripts/potplayer_install.level.yaml b/scripts/potplayer_install.level.yaml index 4668029..5c5693e 100644 --- a/scripts/potplayer_install.level.yaml +++ b/scripts/potplayer_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and silently installs PotPlayer media player. Automatically selects the correct version (32-bit or 64-bit) based on system architecture. - + Usage Notes ----------- - Fetches PotPlayer website to find download links @@ -15,7 +15,7 @@ readme: | - Downloads installer to temp directory - Installs silently using /S switch - Cleans up installer file after completion - + Requirements ------------ - Windows OS @@ -24,5 +24,5 @@ readme: | - $baseUrl: Base URL for PotPlayer website to scrape download links groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOA -lastPushedChecksum: sha256:7533ac610d424652 -lastPushedMetaChecksum: sha256:07aba7081c21593d +lastPushedChecksum: "sha256:7533ac610d424652" +lastPushedMetaChecksum: "sha256:26f2612e2732f0f5" \ No newline at end of file diff --git a/scripts/power_plans_default_add.level.yaml b/scripts/power_plans_default_add.level.yaml index 337da0f..6a030ec 100644 --- a/scripts/power_plans_default_add.level.yaml +++ b/scripts/power_plans_default_add.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Adds the four standard Windows power plans (High Performance, Ultimate Performance, Power Saver, and Balanced) by duplicating them from their default GUIDs. Useful for restoring missing power plans on systems where they have been removed or are unavailable. - + Usage Notes ----------- - Duplicates High Performance power plan @@ -16,7 +16,7 @@ readme: | - Duplicates Balanced power plan - Reports success/failure for each plan - Skips plans that already exist - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -24,5 +24,5 @@ readme: | - powercfg.exe available (standard Windows component) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOQ -lastPushedChecksum: sha256:3bb8c3a5422e2db1 -lastPushedMetaChecksum: sha256:e1ae7ff1a07d1198 +lastPushedChecksum: "sha256:3bb8c3a5422e2db1" +lastPushedMetaChecksum: "sha256:8c984ade33d1295e" \ No newline at end of file diff --git a/scripts/power_profile_always_on_set.level.yaml b/scripts/power_profile_always_on_set.level.yaml index d9759c5..5f05014 100644 --- a/scripts/power_profile_always_on_set.level.yaml +++ b/scripts/power_profile_always_on_set.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Creates a custom "Always On - Limehawk" power plan optimized for workstations that should never sleep while on AC power. If the plan already exists, it will be reused and reconfigured. The plan is based on High Performance settings. - + Usage Notes ----------- - Creates or reuses custom power plan based on High Performance @@ -17,7 +17,7 @@ readme: | - Default settings: Display 30min AC, Sleep never AC, Hibernate never AC - Windows 11: Custom plans work but are hidden in Settings app - To verify: Run control powercfg.cpl or powercfg /getactivescheme - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -27,5 +27,5 @@ readme: | - Timeout variables: $displayTimeoutAC/DC, $diskTimeoutAC/DC, $standbyTimeoutAC/DC, $hibernateTimeoutAC/DC groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMA -lastPushedChecksum: sha256:27bd0adef334e036 -lastPushedMetaChecksum: sha256:fde306b7b6c6b0be +lastPushedChecksum: "sha256:27bd0adef334e036" +lastPushedMetaChecksum: "sha256:23ec334680a78a54" \ No newline at end of file diff --git a/scripts/power_profile_set_macos.level.yaml b/scripts/power_profile_set_macos.level.yaml index 18c10bd..41f6782 100644 --- a/scripts/power_profile_set_macos.level.yaml +++ b/scripts/power_profile_set_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Configures an "always-on" power profile for macOS laptops and desktops. Sets display sleep, disk sleep, system sleep, and hibernation settings based on whether the device has a battery (laptop vs desktop). - + Usage Notes ----------- - Auto-detects battery presence to identify laptop vs desktop - Desktop (no battery): Display 30min, Disk 60min, System Sleep never, Hibernation disabled - Laptop (with battery): Display 30min AC / 10min DC, Disk 60min AC / 30min DC, System Sleep 20min DC, Hibernation enabled - Configures all settings via pmset - + Requirements ------------ - macOS 10.12 or later @@ -22,5 +22,5 @@ readme: | - pmset utility (standard macOS component) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMQ -lastPushedChecksum: sha256:6f8c56d312326c36 -lastPushedMetaChecksum: sha256:e49365d74164d55b +lastPushedChecksum: "sha256:6f8c56d312326c36" +lastPushedMetaChecksum: "sha256:11e2afb2d0118b2d" \ No newline at end of file diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 5390175..02ca6ea 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs a printer on Windows using prinstall 0.3.0+. Network mode walks the full four-tier driver resolution pipeline (local store -> manufacturer download -> Microsoft Update Catalog HWID match -> IPP Class Driver fallback) automatically. USB mode swaps the driver on an existing PnP-created queue via Set-Printer. - + Usage Notes ----------- - Set $usbMode to $true for USB printers (driver swap on existing queue) @@ -16,7 +16,7 @@ readme: | - Driver name optional via $YourDriverNameHere (auto-detects if not set) - Display name optional via $YourPrinterNameHere (uses model name if not set) - Requires prinstall.exe installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -28,11 +28,11 @@ readme: | - $YourDriverNameHere: (optional) Specific driver name - $YourPrinterNameHere: (optional) Display name for the printer variables: -- name: YourPrinterIpHere -- name: YourUsbQueueNameHere -- name: YourDriverNameHere -- name: YourPrinterNameHere + - name: YourPrinterIpHere + - name: YourUsbQueueNameHere + - name: YourDriverNameHere + - name: YourPrinterNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg -lastPushedChecksum: sha256:14ba5595155d0539 -lastPushedMetaChecksum: sha256:162472ae27f79c20 +lastPushedChecksum: "sha256:14ba5595155d0539" +lastPushedMetaChecksum: "sha256:beb21cab1348b941" \ No newline at end of file diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index 9b5e3f8..50c7b73 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Stages a print driver on Windows using prinstall 0.4.12+ without creating a printer queue. Target auto-detects as either a filesystem path (INF or folder) or a model string ("HP LaserJet 1320"). Model-string targets download the manufacturer pack from prinstall's embedded manifest and stage it. - + Usage Notes ----------- - Set $YourDriverTargetHere to a path OR a model string - For model strings with multiple matches, set $YourDriverNameHere to pick one explicitly (ignored for path targets) - Leave $noVerify $false unless a vendor pack ships without .cat signatures - Requires prinstall.exe 0.4.12+ installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -24,9 +24,9 @@ readme: | - $YourDriverTargetHere: Path or model string - $YourDriverNameHere: (optional) Explicit driver pick for model targets variables: -- name: YourDriverTargetHere -- name: YourDriverNameHere + - name: YourDriverTargetHere + - name: YourDriverNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw -lastPushedChecksum: sha256:a65408cecc70eaf4 -lastPushedMetaChecksum: sha256:11ee28649ed652fe +lastPushedChecksum: "sha256:a65408cecc70eaf4" +lastPushedMetaChecksum: "sha256:0db8b2b55018917e" \ No newline at end of file diff --git a/scripts/prinstall_driver_list.level.yaml b/scripts/prinstall_driver_list.level.yaml index 85eb5e3..2801ebd 100644 --- a/scripts/prinstall_driver_list.level.yaml +++ b/scripts/prinstall_driver_list.level.yaml @@ -7,18 +7,18 @@ readme: | Purpose ------- Enumerates every driver in the Windows driver store via prinstall 0.4.13+. Useful for RMM audits and for discovering the exact driver name to feed into `prinstall_driver_remove.ps1`. Date column populates from Get-PrinterDriver's DriverDate field, with an INF DriverVer fallback for drivers Windows doesn't report a date for directly. - + Usage Notes ----------- - Default output is a pretty table; set $asJson $true for a parseable JSON payload - Read-only — no admin privileges required - Requires prinstall.exe 0.4.13+ installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS - prinstall.exe 0.4.13 or newer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNA -lastPushedChecksum: sha256:feaf37e6d0aa7773 -lastPushedMetaChecksum: sha256:b24b8e54eda74952 +lastPushedChecksum: "sha256:feaf37e6d0aa7773" +lastPushedMetaChecksum: "sha256:79e2fb2359627660" \ No newline at end of file diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index 1a2dd38..fb15fd9 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Removes a print driver from the Windows driver store using prinstall 0.4.13+. Target is either an exact driver name or a fuzzy/model string that resolves to one staged driver. If the driver is in use by any printer queue, refuses unless $force = $true (cascade — removes dependent queues first). - + Usage Notes ----------- - Set $YourDriverTargetHere to the driver name from `prinstall driver list` or a fuzzy string - Leave $force $false by default — only set to $true when you explicitly want to destroy dependent queues - Windows system drivers (Microsoft IPP Class Driver, etc.) cannot be removed - Requires prinstall.exe 0.4.13+ installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -22,8 +22,8 @@ readme: | - prinstall.exe 0.4.13 or newer installed - $YourDriverTargetHere: Exact driver name OR fuzzy/model string variables: -- name: YourDriverTargetHere + - name: YourDriverTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ -lastPushedChecksum: sha256:2807dd15e3ce2e70 -lastPushedMetaChecksum: sha256:b8d947dc1db38418 +lastPushedChecksum: "sha256:2807dd15e3ce2e70" +lastPushedMetaChecksum: "sha256:c808174fcacfa6d9" \ No newline at end of file diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index 9e9ef02..f9a564f 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Wraps `prinstall drivers ` to identify a printer by IP and show the matched + universal driver candidates the installer would pick from. Lets a technician preview driver selection before committing to a `prinstall add` install. Supports SNMP-based model discovery and an optional manual model override for printers that don't respond to SNMP. - + Usage Notes ----------- - Invokes `prinstall drivers ` and streams output to the RMM console @@ -15,7 +15,7 @@ readme: | - Set $YourModelHere to a known model string to bypass SNMP for silent printers - Read-only: this command previews drivers only, it does NOT install anything - Requires prinstall.exe installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -25,9 +25,9 @@ readme: | - $YourIpHere: IPv4 address of the target printer (required) - $YourModelHere: Optional model override — leave blank for SNMP auto-detect variables: -- name: YourIpHere -- name: YourModelHere + - name: YourIpHere + - name: YourModelHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg -lastPushedChecksum: sha256:460ee74ac32197ed -lastPushedMetaChecksum: sha256:dcd670c6969ab58c +lastPushedChecksum: "sha256:460ee74ac32197ed" +lastPushedMetaChecksum: "sha256:87a5edca23c67935" \ No newline at end of file diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index 43c6932..b09a88b 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Wraps the `prinstall id ` subcommand to query a single printer via SNMP and return model, serial number, and device status. Used by techs to verify a printer's identity and reachability before running an add, or to confirm SNMP is answering on an expected IP. - + Usage Notes ----------- - Runs `prinstall id ` and streams output to the console - $YourIpHere is required — an unreplaced placeholder is treated as an input error - Unlike prinstall_scan, this script does not auto-detect anything; the target IP must be supplied - Requires prinstall.exe installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -23,8 +23,8 @@ readme: | - UDP 161 (SNMP) open to the printer - $YourIpHere: Target printer IP address (e.g. 192.168.1.10) variables: -- name: YourIpHere + - name: YourIpHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw -lastPushedChecksum: sha256:6b982f78a98d4882 -lastPushedMetaChecksum: sha256:29e2e50289ee129a +lastPushedChecksum: "sha256:6b982f78a98d4882" +lastPushedMetaChecksum: "sha256:3ed01cf300eeb016" \ No newline at end of file diff --git a/scripts/prinstall_list.level.yaml b/scripts/prinstall_list.level.yaml index 96a15d5..f21aa7b 100644 --- a/scripts/prinstall_list.level.yaml +++ b/scripts/prinstall_list.level.yaml @@ -7,18 +7,18 @@ readme: | Purpose ------- Lists all locally installed printers (USB, network, virtual) using prinstall's list command. Useful for auditing printer installations via RMM or verifying a printer was added successfully. - + Usage Notes ----------- - Enumerates all printers Windows knows about via Get-Printer - No runtime variables required - Requires prinstall.exe installed (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS - prinstall.exe installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOA -lastPushedChecksum: sha256:d8c62d94975b0077 -lastPushedMetaChecksum: sha256:d4e45f28a7e235d4 +lastPushedChecksum: "sha256:d8c62d94975b0077" +lastPushedMetaChecksum: "sha256:36e56d6b28500324" \ No newline at end of file diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index fbd4509..fb9b8ff 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -11,7 +11,7 @@ readme: | underlying oem.inf package with it) -> port. System drivers and non-IP ports are automatically skipped. Idempotent — removing a non-existent printer returns success. - + Usage Notes ----------- - Target can be an IP address or the exact printer queue name @@ -20,7 +20,7 @@ readme: | - Set $keepPort to $true to skip port cleanup (leave port registered) - Settle sleep + retry loop smooths over Windows spooler reference lag - Requires prinstall.exe 0.3.0 or newer (run prinstall_setup.ps1 first) - + Requirements ------------ - Windows OS @@ -28,8 +28,8 @@ readme: | - prinstall.exe 0.3.0 or newer installed - $YourPrinterTargetHere: Printer IP (e.g. "192.168.1.50") or exact queue name variables: -- name: YourPrinterTargetHere + - name: YourPrinterTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ -lastPushedChecksum: sha256:d68a04864344e349 -lastPushedMetaChecksum: sha256:a65531c4c9a5913d +lastPushedChecksum: "sha256:d68a04864344e349" +lastPushedMetaChecksum: "sha256:ad6e4f3a01fab412" \ No newline at end of file diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index 287b33c..4534adc 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Scans a subnet for network printers using prinstall 0.3.1's full multi-method discovery pipeline: TCP port probe (9100/631/515), IPP Get-Printer-Attributes, SNMPv2c, and mDNS/Bonjour multicast browse. Catches even silent AirPrint printers that ignore SNMP. Returns printer IPs, models, discovery method(s), and status. - + Usage Notes ----------- - Uses `prinstall scan [subnet] --verbose` with the default `all` method (port + IPP + SNMP + mDNS merged) - Leave $YourSubnetHere blank to auto-detect the local subnet from the primary NIC - Requires prinstall.exe installed (run prinstall_setup.ps1 first) - prinstall_setup.ps1 pre-creates a firewall rule so the mDNS pass works under SYSTEM execution - + Requirements ------------ - Windows OS @@ -25,9 +25,9 @@ readme: | - $YourSubnetHere: Subnet in CIDR notation (e.g. 192.168.1.0/24) or blank for auto-detect - $ScanModeAllNetworkUsb: 'all' / 'network' / 'usb' — blank defaults to 'all' (full network + USB scan). 'usb' ignores $YourSubnetHere. variables: -- name: YourSubnetHere -- name: ScanModeAllNetworkUsb + - name: YourSubnetHere + - name: ScanModeAllNetworkUsb groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA -lastPushedChecksum: sha256:97d57bd6f9b1475b -lastPushedMetaChecksum: sha256:b3716797c9a57993 +lastPushedChecksum: "sha256:97d57bd6f9b1475b" +lastPushedMetaChecksum: "sha256:e5dff4946008a525" \ No newline at end of file diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 9529e23..7d2bac5 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs or uninstalls prinstall. Install mode downloads the latest release from GitHub, extracts the binary to C:\ProgramData\prinstall\, pre-creates a Windows Firewall rule for mDNS discovery (UDP 5353), and adds the install directory to the machine PATH so techs can run `prinstall scan` (etc.) without the full path. Uninstall mode reverses all three — removes the directory, the firewall rule, and the PATH entry. Prinstall is a CLI/TUI tool for discovering network printers, matching drivers, and installing them on Windows. - + Usage Notes ----------- - Set InstallOrUninstall to 'install' or 'uninstall' @@ -15,15 +15,15 @@ readme: | - Uninstall: removes install directory, firewall rule, and PATH entry - Verifies binary by running prinstall --version after install - PATH changes apply immediately to new shells; the current session is patched in-memory too so follow-up commands in the same RMM run work without a reboot - + Requirements ------------ - Windows OS - Administrator privileges (required to modify machine PATH and firewall rules) - Internet connectivity to github.com (install only) variables: -- name: InstallOrUninstall + - name: InstallOrUninstall groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ -lastPushedChecksum: sha256:91001c70808f9cc5 -lastPushedMetaChecksum: sha256:3cfeae82845db7f4 +lastPushedChecksum: "sha256:91001c70808f9cc5" +lastPushedMetaChecksum: "sha256:47d407fa0a966e32" \ No newline at end of file diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index 1d72480..8deeda4 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -12,7 +12,7 @@ readme: | signed prinstall.exe release binaries (v0.4.10+) pass Smart App Control without requiring a publicly-trusted commercial code signing cert. Idempotent — checks thumbprint before importing, safe to re-run. - + Usage Notes ----------- - Deploy once per endpoint, typically as part of agent provisioning @@ -22,15 +22,15 @@ readme: | - Pair with docs/selfsign-setup.md in the prinstall repo for the full signing flow (cert generation + GitHub Actions secret upload) - Cert is valid 10 years; renew by regenerating and re-running this script - + Requirements ------------ - Windows OS - Administrator / SYSTEM privileges (LocalMachine stores require elevation) - prinstall-codesign.cer accessible (co-located with script, or via CertPath) variables: -- name: CertPath + - name: CertPath groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg -lastPushedChecksum: sha256:cb3d19fc839edbb8 -lastPushedMetaChecksum: sha256:a5a5411f237f401c +lastPushedChecksum: "sha256:cb3d19fc839edbb8" +lastPushedMetaChecksum: "sha256:3cdec3d18899e001" \ No newline at end of file diff --git a/scripts/print_queue_clear.level.yaml b/scripts/print_queue_clear.level.yaml index ae6233c..4b46f9c 100644 --- a/scripts/print_queue_clear.level.yaml +++ b/scripts/print_queue_clear.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Resets and clears the Windows print queue by stopping the Print Spooler service, removing all queued print jobs from the spooler directory, and restarting the service. Resolves common printing issues caused by stuck or corrupted print jobs. - + Usage Notes ----------- - Checks current status of Print Spooler service @@ -15,7 +15,7 @@ readme: | - Removes print job files with retry logic (3 attempts per file) - Reports successfully removed and locked files separately - Restarts the Print Spooler service and verifies it is running - + Requirements ------------ - Windows 10/11 or Windows Server @@ -25,5 +25,5 @@ readme: | - $stopTimeout / $startTimeout: Service timeout in seconds (default: 30) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMw -lastPushedChecksum: sha256:a2439d52ec6601ab -lastPushedMetaChecksum: sha256:9dc71ff892be23cc +lastPushedChecksum: "sha256:a2439d52ec6601ab" +lastPushedMetaChecksum: "sha256:8511c2df4e70e0cb" \ No newline at end of file diff --git a/scripts/print_queue_reset.level.yaml b/scripts/print_queue_reset.level.yaml index 0c53bf5..d366433 100644 --- a/scripts/print_queue_reset.level.yaml +++ b/scripts/print_queue_reset.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Resets and clears the Windows print queue by stopping the Print Spooler service, removing all queued print jobs from the spooler directory, and restarting the service. Resolves common printing issues caused by stuck or corrupted print jobs that prevent new documents from printing. - + Usage Notes ----------- - Stops the Print Spooler service if running and waits for handles to release @@ -16,7 +16,7 @@ readme: | - Locked files are removed when service restarts - Spooler directory: %SystemRoot%\System32\spool\PRINTERS - Service stop/start timeout: 30 seconds each - + Requirements ------------ - Windows operating system @@ -26,5 +26,5 @@ readme: | - $stopTimeout / $startTimeout: Timeout in seconds (default: 30) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNA -lastPushedChecksum: sha256:96b72c3fc16240ef -lastPushedMetaChecksum: sha256:602b6d64d7c335eb +lastPushedChecksum: "sha256:96b72c3fc16240ef" +lastPushedMetaChecksum: "sha256:12affd7af1c9959f" \ No newline at end of file diff --git a/scripts/printer_connection_test.level.yaml b/scripts/printer_connection_test.level.yaml index 498f6f7..602aeb8 100644 --- a/scripts/printer_connection_test.level.yaml +++ b/scripts/printer_connection_test.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Tests network connectivity to configured printers by pinging their hostnames/IPs. Reports success/failure for each printer and optionally sends an email alert if any tests fail. - + Usage Notes ----------- - Pings each configured printer and records pass/fail status @@ -15,7 +15,7 @@ readme: | - Optional email alerts via sendmail when failures occur - Ping count: 2 packets, timeout: 5 seconds - Email alerts disabled by default - + Requirements ------------ - macOS or Linux @@ -25,5 +25,5 @@ readme: | - (Optional) sendmail for email alerts groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNQ -lastPushedChecksum: sha256:80e00c348b5ea77c -lastPushedMetaChecksum: sha256:7b965730669e73ed +lastPushedChecksum: "sha256:80e00c348b5ea77c" +lastPushedMetaChecksum: "sha256:de688f9dec1da77a" \ No newline at end of file diff --git a/scripts/printer_install_linux.level.yaml b/scripts/printer_install_linux.level.yaml index 460e7b1..ca42fb2 100644 --- a/scripts/printer_install_linux.level.yaml +++ b/scripts/printer_install_linux.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs network printers on Linux using CUPS/lpadmin. Supports PPD files for driver functionality. Automatically installs CUPS and required packages if not present. - + Usage Notes ----------- - Detects OS and verifies Linux @@ -18,7 +18,7 @@ readme: | - Enables and accepts jobs for each printer - Default protocol: lpd - PPD search paths: /usr/share/cups/model/, /usr/share/ppd/, /etc/cups/ppd/ - + Requirements ------------ - Debian/Ubuntu or compatible Linux (apt, yum, or dnf) @@ -31,5 +31,5 @@ readme: | - AUTO_INSTALL_CUPS: Whether to install CUPS if missing groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNg -lastPushedChecksum: sha256:d721fe27c531e96a -lastPushedMetaChecksum: sha256:19e0fa6d30856a15 +lastPushedChecksum: "sha256:d721fe27c531e96a" +lastPushedMetaChecksum: "sha256:84153bfeffa1e5f1" \ No newline at end of file diff --git a/scripts/printer_install_macos.level.yaml b/scripts/printer_install_macos.level.yaml index 5ceb25e..64de69a 100644 --- a/scripts/printer_install_macos.level.yaml +++ b/scripts/printer_install_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs network printers on macOS using CUPS/lpadmin. Supports PPD files for full driver functionality. Can install from local PPD or download from a URL. - + Usage Notes ----------- - Downloads driver package if URL provided @@ -16,7 +16,7 @@ readme: | - Installs each configured printer via lpadmin - Supports lpd, ipp, and ipps protocols - Default: lpd protocol, local PPD source, sharing disabled, abort-job error policy - + Requirements ------------ - macOS 10.12 or later @@ -30,5 +30,5 @@ readme: | - DRIVER_URL: Optional driver package URL groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNw -lastPushedChecksum: sha256:629c0f1457ee7d88 -lastPushedMetaChecksum: sha256:19c8ff6bb775e782 +lastPushedChecksum: "sha256:629c0f1457ee7d88" +lastPushedMetaChecksum: "sha256:23d54f6695356c10" \ No newline at end of file diff --git a/scripts/printers_remove_all.level.yaml b/scripts/printers_remove_all.level.yaml index 882b865..68d5080 100644 --- a/scripts/printers_remove_all.level.yaml +++ b/scripts/printers_remove_all.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes ALL installed printers, their associated ports, and unused printer drivers from Windows. Use with caution -- this is a destructive operation that cannot be undone. - + Usage Notes ----------- - Enumerates and removes all installed printers @@ -15,18 +15,18 @@ readme: | - Removes unused printer drivers (optional) - $removeDrivers: Control driver removal (default: true) - $removePorts: Control orphaned port removal (default: true) - + Requirements ------------ - Windows 10/11 or Windows Server - Administrator privileges - Print Spooler service running - + Security -------- - Destructive operation -- removes ALL printers - Cannot be undone without reinstalling printers groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOA -lastPushedChecksum: sha256:f5ff959c9835072b -lastPushedMetaChecksum: sha256:ffc18af523c904cd +lastPushedChecksum: "sha256:f5ff959c9835072b" +lastPushedMetaChecksum: "sha256:8d1c50a752d5f761" \ No newline at end of file diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml index f08802a..8eceead 100644 --- a/scripts/public_ip_export_superops.level.yaml +++ b/scripts/public_ip_export_superops.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Queries wtfismyip.com/json to retrieve public IP address, ISP, geolocation, and hostname information. Formats the results into a readable multiline string and sends it to a SuperOps custom field for network visibility and auditing. - + Usage Notes ----------- - Queries wtfismyip.com/json for public IP details @@ -15,7 +15,7 @@ readme: | - Formats IP, Location, Hostname, ISP, Country, and Tor Exit status - Sends formatted text to SuperOps "Public IP" custom field - Uses Invoke-RestMethod (no external binaries required) - + Requirements ------------ - SuperOps PowerShell module must be available and authenticated @@ -26,5 +26,5 @@ readme: | - $customFieldName: SuperOps custom field name groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOQ -lastPushedChecksum: sha256:e613d96669eff586 -lastPushedMetaChecksum: sha256:8c33af23a6d2d9fa +lastPushedChecksum: "sha256:e613d96669eff586" +lastPushedMetaChecksum: "sha256:5332ba552c143a0e" \ No newline at end of file diff --git a/scripts/public_ip_export_superops_macos.level.yaml b/scripts/public_ip_export_superops_macos.level.yaml index c091915..5267e9c 100644 --- a/scripts/public_ip_export_superops_macos.level.yaml +++ b/scripts/public_ip_export_superops_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Queries wtfismyip.com/json to retrieve public IP address, ISP, geolocation, and hostname information. Formats the results into readable stdout output. Note: macOS/Linux SuperOps agents do not support Send-CustomField, so results are output only. - + Usage Notes ----------- - Queries wtfismyip.com/json for public IP details @@ -15,7 +15,7 @@ readme: | - Formats IP, Location, Hostname, ISP, Country, and Tor Exit status - Outputs to stdout (no custom field sync on macOS/Linux) - Curl timeout: 30 seconds - + Requirements ------------ - curl and python3 installed (both pre-installed on macOS) @@ -23,5 +23,5 @@ readme: | - API_URL: wtfismyip.com JSON endpoint (hardcoded) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMA -lastPushedChecksum: sha256:c115a7ff0b97c23b -lastPushedMetaChecksum: sha256:ab7c3493ceb64f95 +lastPushedChecksum: "sha256:c115a7ff0b97c23b" +lastPushedMetaChecksum: "sha256:8b2b8e3452284be9" \ No newline at end of file diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index 6e252c5..b51d112 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- All-in-one installer for Restic backup to Backblaze B2 with immutable storage. Downloads Restic via winget, initializes an encrypted B2 repository scoped to the machine hostname, generates a daily backup script with embedded credentials, and creates a Windows Scheduled Task. Designed for deployment via SuperOps RMM to client workstations and servers. - + Usage Notes ----------- - Validates all hardcoded inputs are non-empty before proceeding @@ -20,7 +20,7 @@ readme: | - Default backup paths: Documents, Desktop, Downloads, Pictures, Videos - Default excludes: temp files, cache directories, OneDrive, Recycle Bin - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -28,19 +28,19 @@ readme: | - winget (App Installer) available on the system - Network access to Backblaze B2 - SuperOps runtime variables: B2KeyId, B2AppKey, B2BucketName, RepoPassword, ClientName - + Security -------- - B2 credentials are embedded in the generated backup script - Install directory is ACL-locked to SYSTEM + Administrators - Repo password encrypts all backup data at rest variables: -- name: B2KeyId -- name: B2AppKey -- name: B2BucketName -- name: RepoPassword -- name: ClientName + - name: B2KeyId + - name: B2AppKey + - name: B2BucketName + - name: RepoPassword + - name: ClientName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ -lastPushedChecksum: sha256:c09fd6b042b511b6 -lastPushedMetaChecksum: sha256:e0c9372e694ca5da +lastPushedChecksum: "sha256:c09fd6b042b511b6" +lastPushedMetaChecksum: "sha256:2198efbe56d0dc69" \ No newline at end of file diff --git a/scripts/rustic_backup.level.yaml b/scripts/rustic_backup.level.yaml index d556626..378b48b 100644 --- a/scripts/rustic_backup.level.yaml +++ b/scripts/rustic_backup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Scheduled backup runner for Rustic. Reads configuration from the TOML profile written by rustic_install.ps1 and executes a full backup cycle: backup snapshot, retention prune, and a lightweight integrity check on a random 1% data subset. Intended to be invoked by the Windows Scheduled Task created during installation, or manually via SuperOps RMM. - + Usage Notes ----------- - No runtime variables required — all configuration is read from the TOML profile @@ -19,7 +19,7 @@ readme: | - Integrity check is non-fatal: warns and continues if rustic check fails - Integrity check scope: --read-data-subset=1/100 (1% of data per run) - Reports duration and per-step status in the final summary - + Requirements ------------ - rustic_install.ps1 must have been run successfully on this machine @@ -29,5 +29,5 @@ readme: | - Administrator privileges (runs as SYSTEM via RMM or Scheduled Task) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMg -lastPushedChecksum: sha256:37d4d46a94882a30 -lastPushedMetaChecksum: sha256:023021562849fcae +lastPushedChecksum: "sha256:37d4d46a94882a30" +lastPushedMetaChecksum: "sha256:d1e6bbc60f822ce1" \ No newline at end of file diff --git a/scripts/rustic_backup_unix.level.yaml b/scripts/rustic_backup_unix.level.yaml index 3fc058e..38ea2fd 100644 --- a/scripts/rustic_backup_unix.level.yaml +++ b/scripts/rustic_backup_unix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Executes a full Rustic backup cycle on Linux and macOS: runs a backup against the configured repository, applies retention policy with prune, and performs a partial integrity check on the repository. Reads all configuration from /etc/rustic/rustic.toml. Intended to be run on a schedule (systemd timer or launchd plist) or invoked directly via SuperOps RMM. - + Usage Notes ----------- - Verifies rustic binary (/usr/local/bin/rustic) and config (/etc/rustic/rustic.toml) exist before running @@ -17,7 +17,7 @@ readme: | - Integrity check scope: --read-data-subset=1/100 (1% of data per run) - Reports total duration in the final status block - No runtime variables required; all settings come from the TOML config - + Requirements ------------ - Linux or macOS @@ -25,12 +25,12 @@ readme: | - rustic installed at /usr/local/bin/rustic - /etc/rustic/rustic.toml configured by rustic_install_unix.sh - Network access to the configured backup backend - + Security -------- - No credentials are printed to console output - All secrets remain in /etc/rustic/rustic.toml (chmod 600) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMw -lastPushedChecksum: sha256:a10b4b3cc851a31b -lastPushedMetaChecksum: sha256:288fc641246de33b +lastPushedChecksum: "sha256:a10b4b3cc851a31b" +lastPushedMetaChecksum: "sha256:b92cbb3a761938c1" \ No newline at end of file diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index 1f13c30..2c99588 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- All-in-one installer for Rustic backup with multi-backend support (B2, S3, local, SFTP, REST). Downloads the Rustic binary from GitHub releases (SHA256-verified), generates a TOML configuration profile with backend-specific settings, initializes an encrypted repository scoped to the machine hostname, deploys a daily backup runner script, and creates a Windows Scheduled Task. Designed for deployment via SuperOps RMM to client workstations and servers. - + Usage Notes ----------- - Validates all hardcoded inputs including backend-specific conditional requirements @@ -23,7 +23,7 @@ readme: | - Default backup paths: Documents, Desktop, Downloads, Pictures, Videos - Default excludes: temp files, cache directories, OneDrive, Recycle Bin, large binaries, dev artifacts - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -33,7 +33,7 @@ readme: | - SuperOps runtime variables: YourBackendType, YourBackendPath, YourRepoPassword, YourClientName - Conditional: YourBackendKeyId, YourBackendAppKey (B2/S3), YourBackendRegion (S3) - Optional: YourBackupPaths, YourExcludePatterns, YourBackupHour - + Security -------- - Backend credentials are embedded in the TOML config file @@ -41,17 +41,17 @@ readme: | - Repo password encrypts all backup data at rest - No secrets printed to console output variables: -- name: YourBackendType -- name: YourBackendPath -- name: YourRepoPassword -- name: YourClientName -- name: YourBackendKeyId -- name: YourBackendAppKey -- name: YourBackendRegion -- name: YourBackupPaths -- name: YourExcludePatterns -- name: YourBackupHour + - name: YourBackendType + - name: YourBackendPath + - name: YourRepoPassword + - name: YourClientName + - name: YourBackendKeyId + - name: YourBackendAppKey + - name: YourBackendRegion + - name: YourBackupPaths + - name: YourExcludePatterns + - name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA -lastPushedChecksum: sha256:c11a00e8cfcc8fb6 -lastPushedMetaChecksum: sha256:3a7bd21faf090df8 +lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" +lastPushedMetaChecksum: "sha256:7d3711ce667b8853" \ No newline at end of file diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index 40a44d9..a8165b1 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- All-in-one installer for Rustic backup on Linux and macOS with multi-backend support (B2, S3, local, SFTP, REST). Detects OS and architecture, downloads the Rustic binary from GitHub releases (SHA256-verified), generates a TOML configuration profile with backend-specific settings, initializes an encrypted repository scoped to the machine hostname, deploys a daily backup runner script, and creates a systemd timer (Linux) or launchd plist (macOS). Designed for deployment via SuperOps RMM. - + Usage Notes ----------- - Detects OS (Linux/macOS) and architecture (x86_64/aarch64/arm64/armv7l) @@ -25,7 +25,7 @@ readme: | - Default backup paths (macOS): /Users, /etc - Default excludes: temp files, caches, .DS_Store, dev artifacts, large binaries - Retention policy: 7 daily, 4 weekly, 6 monthly snapshots - + Requirements ------------ - Linux (glibc or musl) or macOS 11+ @@ -35,7 +35,7 @@ readme: | - SuperOps runtime variables: YourBackendType, YourBackendPath, YourRepoPassword, YourClientName - Conditional: YourBackendKeyId, YourBackendAppKey (B2/S3), YourBackendRegion (S3) - Optional: YourBackupPaths, YourExcludePatterns, YourBackupHour - + Security -------- - Backend credentials are embedded in the TOML config file @@ -43,17 +43,17 @@ readme: | - Repo password encrypts all backup data at rest - No secrets printed to console output variables: -- name: YourBackendType -- name: YourBackendPath -- name: YourRepoPassword -- name: YourClientName -- name: YourBackendKeyId -- name: YourBackendAppKey -- name: YourBackendRegion -- name: YourBackupPaths -- name: YourExcludePatterns -- name: YourBackupHour + - name: YourBackendType + - name: YourBackendPath + - name: YourRepoPassword + - name: YourClientName + - name: YourBackendKeyId + - name: YourBackendAppKey + - name: YourBackendRegion + - name: YourBackupPaths + - name: YourExcludePatterns + - name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ -lastPushedChecksum: sha256:6f06c1d9e9f5d54b -lastPushedMetaChecksum: sha256:c8454700b37e1a2f +lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" +lastPushedMetaChecksum: "sha256:c0c17cf9df9023a4" \ No newline at end of file diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index cfec98c..dc05fd2 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Targeted file restore from a rustic backup snapshot. Operator provides a snapshot ID (or "latest"), a source path within the snapshot, and a local destination path via SuperOps runtime variables. Uses the existing rustic binary and TOML configuration deployed by rustic_install.ps1. - + Usage Notes ----------- - Snapshot ID defaults to "latest" if left empty or unreplaced @@ -16,7 +16,7 @@ readme: | - Creates the destination directory if it does not exist - Runs: rustic restore ":" - Sets RUSTIC_CONFIG_FILE environment variable and clears it after execution - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ @@ -25,10 +25,10 @@ readme: | - SuperOps runtime variables: YourRestorePath, YourDestination - Optional: YourSnapshotId (defaults to "latest") variables: -- name: YourSnapshotId -- name: YourRestorePath -- name: YourDestination + - name: YourSnapshotId + - name: YourRestorePath + - name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg -lastPushedChecksum: sha256:59f81da920ec0a94 -lastPushedMetaChecksum: sha256:da46f375d20bd6f7 +lastPushedChecksum: "sha256:59f81da920ec0a94" +lastPushedMetaChecksum: "sha256:ffc3dd92fc7b2b31" \ No newline at end of file diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index 41c93d3..2a50736 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Targeted file and directory restore from a rustic backup snapshot on Linux and macOS. Reads the existing rustic TOML configuration to connect to the configured backend, lists available snapshots for reference, then restores the specified path from a chosen snapshot (or "latest") to a given destination directory. Designed for deployment via SuperOps RMM. - + Usage Notes ----------- - Defaults SNAPSHOT_ID to "latest" if left empty or unreplaced @@ -16,7 +16,7 @@ readme: | - Creates the destination directory automatically if it does not exist - Runs: rustic restore ":" "" - Restored files inherit the permissions stored in the snapshot - + Requirements ------------ - rustic installed at /usr/local/bin/rustic (deploy rustic_install_unix.sh first) @@ -25,16 +25,16 @@ readme: | - Network access to the configured backend - SuperOps runtime variables: YourRestorePath, YourDestination - Optional: YourSnapshotId (defaults to "latest") - + Security -------- - No credentials are passed on the command line - rustic reads backend credentials exclusively from the TOML config file variables: -- name: YourSnapshotId -- name: YourRestorePath -- name: YourDestination + - name: YourSnapshotId + - name: YourRestorePath + - name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw -lastPushedChecksum: sha256:83c3c35a5f0ba9bc -lastPushedMetaChecksum: sha256:bbf34301de281b52 +lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" +lastPushedMetaChecksum: "sha256:8863a1063681715e" \ No newline at end of file diff --git a/scripts/rustic_uninstall.level.yaml b/scripts/rustic_uninstall.level.yaml index d8494a5..4328646 100644 --- a/scripts/rustic_uninstall.level.yaml +++ b/scripts/rustic_uninstall.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes all local Rustic components from the machine: the Windows Scheduled Task and the entire install directory (binary, config, backup script, and logs). Does NOT delete the remote backup repository. Safe to run even if components are already absent — partial removal is acceptable. - + Usage Notes ----------- - No runtime variables required @@ -19,12 +19,12 @@ readme: | - Always exits 0 — cleanup is idempotent - Remote backup repository and its data are not affected - Config files (which contain backend credentials) are deleted locally - + Requirements ------------ - Windows 10/11 or Windows Server 2016+ - Administrator privileges (runs as SYSTEM via RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOA -lastPushedChecksum: sha256:3e899b4f1ae514a7 -lastPushedMetaChecksum: sha256:582ed418050fee55 +lastPushedChecksum: "sha256:3e899b4f1ae514a7" +lastPushedMetaChecksum: "sha256:615f9321b711d1e9" \ No newline at end of file diff --git a/scripts/rustic_uninstall_unix.level.yaml b/scripts/rustic_uninstall_unix.level.yaml index 05fd926..edf9d00 100644 --- a/scripts/rustic_uninstall_unix.level.yaml +++ b/scripts/rustic_uninstall_unix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes all components installed by rustic_install_unix.sh. Detects OS (Linux/macOS), stops and disables the backup schedule (systemd timer on Linux, launchd plist on macOS), removes the Rustic binary and backup runner script, and deletes the configuration directory and log directory. The remote backup repository is NOT touched. - + Usage Notes ----------- - No runtime variables required @@ -20,12 +20,12 @@ readme: | - Partial removal is acceptable; script always exits 0 - Remote backup repository and its data are NOT deleted - Config files (which contain backend credentials) are deleted - + Requirements ------------ - Linux or macOS - Root privileges (runs as root via RMM) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOQ -lastPushedChecksum: sha256:6361db8bf61c78a0 -lastPushedMetaChecksum: sha256:dfca3f5572afe860 +lastPushedChecksum: "sha256:6361db8bf61c78a0" +lastPushedMetaChecksum: "sha256:365c81af0d669e74" \ No newline at end of file diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index 7d3dad0..94f8f08 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs SentinelOne endpoint agent silently using a site token. Downloads the installer from ConnectWise CDN (or custom URL) and performs installation with verification. Skips if already installed. The installed version will auto-update based on your S1 console Auto-Upgrade Policy settings, so the initial installer version does not matter. - + Usage Notes ----------- - Checks if SentinelOne is already installed (optional skip) @@ -16,7 +16,7 @@ readme: | - Downloads installer from ConnectWise CDN or custom URL - Verifies installation success with multiple retry attempts - Cleans up temporary files after completion - + Requirements ------------ - Windows 10/11 or Windows Server @@ -24,14 +24,14 @@ readme: | - PowerShell 5.1 or later - Network access to download URL (ConnectWise CDN or custom) - $SiteToken: SentinelOne site token (get from S1 Console > Sentinels > Site Info) - + Security -------- - Site token is embedded in script -- protect accordingly - Default CDN URL uses HTTPS variables: -- name: SiteToken + - name: SiteToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA -lastPushedChecksum: sha256:aab2ea4bf232ddc9 -lastPushedMetaChecksum: sha256:33134c89efab5bf4 +lastPushedChecksum: "sha256:aab2ea4bf232ddc9" +lastPushedMetaChecksum: "sha256:85102e04b3eff31a" \ No newline at end of file diff --git a/scripts/sentinelone_services_start.level.yaml b/scripts/sentinelone_services_start.level.yaml index 99449a3..120d372 100644 --- a/scripts/sentinelone_services_start.level.yaml +++ b/scripts/sentinelone_services_start.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Checks the status of all SentinelOne services on Windows systems and ensures they are running. Enables disabled services and starts stopped services. Useful for troubleshooting SentinelOne agent issues where services may have been stopped or disabled. - + Usage Notes ----------- - No inputs required -- automatically checks all SentinelOne services @@ -17,7 +17,7 @@ readme: | - No action taken if service is already running - Reports final status for all services - Service changes are permanent until manually reversed - + Requirements ------------ - Windows PowerShell 5.1 or PowerShell 7+ @@ -25,5 +25,5 @@ readme: | - SentinelOne agent must be installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MQ -lastPushedChecksum: sha256:4f61d11ab3baffb7 -lastPushedMetaChecksum: sha256:69957f670b941093 +lastPushedChecksum: "sha256:4f61d11ab3baffb7" +lastPushedMetaChecksum: "sha256:291f408df180ee0e" \ No newline at end of file diff --git a/scripts/sentinelone_uninstall_linux.level.yaml b/scripts/sentinelone_uninstall_linux.level.yaml index d03014b..86915e9 100644 --- a/scripts/sentinelone_uninstall_linux.level.yaml +++ b/scripts/sentinelone_uninstall_linux.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Uninstalls the SentinelOne agent from Linux systems using the sentinelctl command. Verifies the agent is installed and sentinelctl is available before attempting removal. - + Usage Notes ----------- - No hardcoded inputs required @@ -15,7 +15,7 @@ readme: | - Checks if sentinelctl command is available in PATH - Runs sentinelctl uninstall to remove the agent - Agent may have tamper protection enabled which could block removal - + Requirements ------------ - Linux system with SentinelOne agent installed @@ -23,5 +23,5 @@ readme: | - sentinelctl must be in PATH (/usr/local/bin or /opt/sentinelone/bin) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mg -lastPushedChecksum: sha256:14d539a27befd82d -lastPushedMetaChecksum: sha256:9b737727ffa2bc88 +lastPushedChecksum: "sha256:14d539a27befd82d" +lastPushedMetaChecksum: "sha256:ec8a82144399d2f9" \ No newline at end of file diff --git a/scripts/shutdown_toggle.level.yaml b/scripts/shutdown_toggle.level.yaml index b704f0b..81df4db 100644 --- a/scripts/shutdown_toggle.level.yaml +++ b/scripts/shutdown_toggle.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Schedules a system shutdown with a warning message, or cancels an existing scheduled shutdown if one is already pending. Acts as a toggle -- run once to schedule, run again to cancel. - + Usage Notes ----------- - Default shutdown delay: 60 seconds (configurable via $shutdownTime variable) @@ -15,7 +15,7 @@ readme: | - If scheduled: cancels the pending shutdown - If not scheduled: schedules a new shutdown with on-screen warning countdown - Shutdown can always be canceled by running the script again - + Requirements ------------ - Windows 10/11 or Windows Server @@ -24,5 +24,5 @@ readme: | - $shutdownTime: time in seconds before shutdown (default: 60) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mw -lastPushedChecksum: sha256:469ca706feb53740 -lastPushedMetaChecksum: sha256:8e7bce880a8dabfd +lastPushedChecksum: "sha256:469ca706feb53740" +lastPushedMetaChecksum: "sha256:63e65b100e9702ef" \ No newline at end of file diff --git a/scripts/speedtest_export_superops.level.yaml b/scripts/speedtest_export_superops.level.yaml index 5a2e530..5f26637 100644 --- a/scripts/speedtest_export_superops.level.yaml +++ b/scripts/speedtest_export_superops.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and runs Ookla Speedtest CLI, captures network performance metrics, and synchronizes the results to SuperOps custom fields for monitoring and reporting. Designed for RMM automation to track internet connectivity quality. - + Usage Notes ----------- - Automatically downloads and extracts Speedtest CLI ZIP if not already present @@ -17,7 +17,7 @@ readme: | - Reports detailed metrics to console including ping, jitter, packet loss, and server info - Downloads from https://install.speedtest.net/app/cli/ - Extraction path: $env:TEMP\SpeedtestCLI - + Requirements ------------ - SuperOps PowerShell module must be available and authenticated @@ -27,5 +27,5 @@ readme: | - SuperOps custom fields must exist: Download Speed (Decimal), Upload Speed (Decimal), ISP (Short Text), Speedtest URL (Short Text) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NA -lastPushedChecksum: sha256:f0b07e25413d5fec -lastPushedMetaChecksum: sha256:fc860d2d07b27672 +lastPushedChecksum: "sha256:f0b07e25413d5fec" +lastPushedMetaChecksum: "sha256:fe6125a40e76fcc4" \ No newline at end of file diff --git a/scripts/splashtop_business_install.level.yaml b/scripts/splashtop_business_install.level.yaml index 7b9a386..1bef3ef 100644 --- a/scripts/splashtop_business_install.level.yaml +++ b/scripts/splashtop_business_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Installs the Splashtop Business client application using winget (Windows Package Manager). This is the end-user remote access client, not the streamer agent. - + Usage Notes ----------- - Uses winget to install Splashtop.SplashtopBusiness package - Detects SYSTEM vs user context for winget path resolution - Handles already-installed case gracefully - Silent installation with automatic agreement acceptance - + Requirements ------------ - Windows OS @@ -23,5 +23,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NQ -lastPushedChecksum: sha256:de86051d4da42af9 -lastPushedMetaChecksum: sha256:3015f61c063eff5d +lastPushedChecksum: "sha256:de86051d4da42af9" +lastPushedMetaChecksum: "sha256:7dcf516e31340c48" \ No newline at end of file diff --git a/scripts/splashtop_business_install_macos.level.yaml b/scripts/splashtop_business_install_macos.level.yaml index d43e96d..d39c2e1 100644 --- a/scripts/splashtop_business_install_macos.level.yaml +++ b/scripts/splashtop_business_install_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Downloads and installs the Splashtop Business client application on macOS. The Business client allows users to connect to remote computers with Splashtop Streamer installed. - + Usage Notes ----------- - Downloads installer DMG from official Splashtop servers (v3.7.2.0) - Mounts the DMG, installs the package, then unmounts - Installer DMG is removed after installation - Mount directory: /Volumes/Splashtop Business - + Requirements ------------ - macOS @@ -22,5 +22,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Ng -lastPushedChecksum: sha256:687707d59ce4a3d6 -lastPushedMetaChecksum: sha256:53912782089f5e00 +lastPushedChecksum: "sha256:687707d59ce4a3d6" +lastPushedMetaChecksum: "sha256:73bbf405c008a3a1" \ No newline at end of file diff --git a/scripts/splashtop_service_restart.level.yaml b/scripts/splashtop_service_restart.level.yaml index 598d665..5e6bf7a 100644 --- a/scripts/splashtop_service_restart.level.yaml +++ b/scripts/splashtop_service_restart.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Restarts the Splashtop Remote Service to resolve connectivity or performance issues with Splashtop remote access. - + Usage Notes ----------- - Validates service name input and checks service exists - Default service: SplashtopRemoteService - Restarts the service and waits 3 seconds - Reports final service status (Running or warning) - + Requirements ------------ - Windows OS @@ -23,5 +23,5 @@ readme: | - $serviceName: name of the Splashtop service to restart groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Nw -lastPushedChecksum: sha256:af58133e2ca89fc7 -lastPushedMetaChecksum: sha256:b53bacdec4b0fead +lastPushedChecksum: "sha256:af58133e2ca89fc7" +lastPushedMetaChecksum: "sha256:0379b5f3dec11c2e" \ No newline at end of file diff --git a/scripts/splashtop_service_restart_macos.level.yaml b/scripts/splashtop_service_restart_macos.level.yaml index 50749ef..f883b8b 100644 --- a/scripts/splashtop_service_restart_macos.level.yaml +++ b/scripts/splashtop_service_restart_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Restarts the Splashtop Streamer service on macOS when remote access becomes unresponsive or connections fail. Useful for resolving connectivity issues without requiring a full system reboot. - + Usage Notes ----------- - Validates that the plist path is configured and exists - Uses launchctl to manage the service lifecycle - Unloads the Splashtop launch daemon (stops it), then reloads it (starts it) - Plist path: /Library/LaunchDaemons/com.splashtop.streamer-for-admin.plist - + Requirements ------------ - macOS operating system @@ -22,5 +22,5 @@ readme: | - Splashtop Streamer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OA -lastPushedChecksum: sha256:e0bc68bd45e5ac0e -lastPushedMetaChecksum: sha256:1e0119a698767716 +lastPushedChecksum: "sha256:e0bc68bd45e5ac0e" +lastPushedMetaChecksum: "sha256:15f9402ea2e6eb59" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install.level.yaml b/scripts/splashtop_streamer_install.level.yaml index 6b430a6..01cf8a5 100644 --- a/scripts/splashtop_streamer_install.level.yaml +++ b/scripts/splashtop_streamer_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Silently installs or upgrades the Splashtop Streamer agent for remote access. Configured to hide the system tray icon by default. - + Usage Notes ----------- - Validates installer path is provided and file exists - Runs silent installation with parameters: prevercheck, no confirmation, hidden window, hidden tray icon - Installer must be pre-staged at the specified path before running - Default path: C:\temp\Splashtop_Streamer_Windows_DEPLOY_INSTALLER.exe - + Requirements ------------ - Windows OS @@ -23,5 +23,5 @@ readme: | - $installerPath: full path to the Splashtop Streamer deploy installer EXE groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OQ -lastPushedChecksum: sha256:ba206f1ad3a5419d -lastPushedMetaChecksum: sha256:65dcfecd8199e9b2 +lastPushedChecksum: "sha256:ba206f1ad3a5419d" +lastPushedMetaChecksum: "sha256:bcdb7310d335173e" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_amd64.level.yaml b/scripts/splashtop_streamer_install_debian_amd64.level.yaml index 58c5013..125b652 100644 --- a/scripts/splashtop_streamer_install_debian_amd64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_amd64.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs the Splashtop Streamer agent on Debian/Ubuntu systems running AMD64 architecture. - + Usage Notes ----------- - Updates package lists before installation @@ -15,7 +15,7 @@ readme: | - Extracts to /opt/splashtop install directory - Installs deb package with automatic dependency resolution - Cleans up downloaded tarball after installation - + Requirements ------------ - Debian/Ubuntu Linux (AMD64 architecture) @@ -24,5 +24,5 @@ readme: | - wget and tar packages groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MA -lastPushedChecksum: sha256:0d1eb15b627f4539 -lastPushedMetaChecksum: sha256:b2c0a676e13609f0 +lastPushedChecksum: "sha256:0d1eb15b627f4539" +lastPushedMetaChecksum: "sha256:d7f24c8fc5aebb5d" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_arm64.level.yaml b/scripts/splashtop_streamer_install_debian_arm64.level.yaml index d5f119d..7b6e014 100644 --- a/scripts/splashtop_streamer_install_debian_arm64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_arm64.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs the Splashtop Streamer agent on Debian systems running ARM64 architecture (e.g., Raspberry Pi, ARM servers). - + Usage Notes ----------- - Updates package lists and installs prerequisites (wget, tar) @@ -16,7 +16,7 @@ readme: | - Installs deb package with automatic dependency resolution - Enables and starts systemd service (splashtop-streamer.service) - Cleans up downloaded tarball after installation - + Requirements ------------ - Debian Linux (ARM64 architecture) @@ -24,5 +24,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MQ -lastPushedChecksum: sha256:4fb1452893ccc28c -lastPushedMetaChecksum: sha256:a888773ea8c3cb23 +lastPushedChecksum: "sha256:4fb1452893ccc28c" +lastPushedMetaChecksum: "sha256:702c91687481a735" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_macos.level.yaml b/scripts/splashtop_streamer_install_macos.level.yaml index 51e6801..a66ff46 100644 --- a/scripts/splashtop_streamer_install_macos.level.yaml +++ b/scripts/splashtop_streamer_install_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Downloads and installs the Splashtop Streamer agent on macOS for remote access capabilities. The Streamer runs on computers to allow remote connections from Splashtop Business clients. - + Usage Notes ----------- - Downloads installer DMG to /tmp/splashtop_streamer.dmg - Installer URL points to v3.7.0.0 - Mounts DMG, installs package, then unmounts and cleans up - Installer is removed after installation - + Requirements ------------ - macOS @@ -22,5 +22,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mg -lastPushedChecksum: sha256:7962109ca8b9e885 -lastPushedMetaChecksum: sha256:ebee0a6a268fe55d +lastPushedChecksum: "sha256:7962109ca8b9e885" +lastPushedMetaChecksum: "sha256:dbd2bc84ab9fc824" \ No newline at end of file diff --git a/scripts/splashtop_uninstall.level.yaml b/scripts/splashtop_uninstall.level.yaml index 868adca..1267485 100644 --- a/scripts/splashtop_uninstall.level.yaml +++ b/scripts/splashtop_uninstall.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Uninstalls Splashtop Streamer from a Windows system using the Windows Installer service (MSI uninstall). - + Usage Notes ----------- - Searches for Splashtop Streamer in installed products - Retrieves the product GUID automatically - Executes silent uninstall via CIM method - Product name can be customized via $productName variable - + Requirements ------------ - Windows OS @@ -22,5 +22,5 @@ readme: | - Splashtop Streamer installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mw -lastPushedChecksum: sha256:0800aca199e5aa18 -lastPushedMetaChecksum: sha256:26c9052ba7560ecc +lastPushedChecksum: "sha256:0800aca199e5aa18" +lastPushedMetaChecksum: "sha256:9be935a1ec698f10" \ No newline at end of file diff --git a/scripts/splashtop_uninstall_macos.level.yaml b/scripts/splashtop_uninstall_macos.level.yaml index 0ffb4a6..72aa64e 100644 --- a/scripts/splashtop_uninstall_macos.level.yaml +++ b/scripts/splashtop_uninstall_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Completely removes Splashtop Streamer from macOS including all related files, launch daemons, kernel extensions, and preferences. Performs a thorough cleanup of all Splashtop components. - + Usage Notes ----------- - Kills all running Splashtop processes @@ -15,12 +15,12 @@ readme: | - Removes Splashtop Streamer, Splashtop Streamer for Business, and SplashtopRemote applications - Removes kernel extensions, audio plugins, preferences, caches, and package receipts - Data removal is permanent - + Requirements ------------ - macOS - Root/sudo privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NA -lastPushedChecksum: sha256:b9213924115309e4 -lastPushedMetaChecksum: sha256:ffa17928a86e1115 +lastPushedChecksum: "sha256:b9213924115309e4" +lastPushedMetaChecksum: "sha256:31813ec18a421a60" \ No newline at end of file diff --git a/scripts/start_menu_tiles_clear.level.yaml b/scripts/start_menu_tiles_clear.level.yaml index bc41423..ea494bb 100644 --- a/scripts/start_menu_tiles_clear.level.yaml +++ b/scripts/start_menu_tiles_clear.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Removes all default pinned app tiles from the Windows 10 Start menu by modifying the registry. Restarts Explorer to apply changes immediately. Creates a clean Start menu without pre-configured tiles. - + Usage Notes ----------- - Must run in user context (not SYSTEM) to affect user's Start menu @@ -16,12 +16,12 @@ readme: | - Opens Start menu after restart to initialize new layout - Only affects current user's Start menu - Registry modification is reversible - + Requirements ------------ - Windows 10 (does not apply to Windows 11) - Registry access to HKCU groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NQ -lastPushedChecksum: sha256:e5c2f1f84776bf20 -lastPushedMetaChecksum: sha256:8a3c42166a3732e1 +lastPushedChecksum: "sha256:e5c2f1f84776bf20" +lastPushedMetaChecksum: "sha256:a83594d7f53d0397" \ No newline at end of file diff --git a/scripts/stdrename_install_toggle.level.yaml b/scripts/stdrename_install_toggle.level.yaml index 4e46c72..f387416 100644 --- a/scripts/stdrename_install_toggle.level.yaml +++ b/scripts/stdrename_install_toggle.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Toggles installation of stdrename, a command-line file and folder renaming utility. If installed, uninstalls it. If not installed, downloads and installs it. Installs to System32 for system-wide availability. - + Usage Notes ----------- - Toggle behavior: if installed it uninstalls, if not installed it installs - Downloads from GitHub releases (latest version) - Installs to C:\Windows\System32 for PATH accessibility - + Requirements ------------ - Windows 10/11 @@ -22,5 +22,5 @@ readme: | - $DownloadUrl and $InstallPath variables defined in script groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Ng -lastPushedChecksum: sha256:6fb3442faa559a1f -lastPushedMetaChecksum: sha256:e3177be33f859cf2 +lastPushedChecksum: "sha256:6fb3442faa559a1f" +lastPushedMetaChecksum: "sha256:8add225b2d770828" \ No newline at end of file diff --git a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml index b076fd0..07ccefe 100644 --- a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml +++ b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Uninstalls the SuperOps agent from macOS systems by executing the agent's built-in uninstall script from an alternate path (/Library/limehawk). Use this for agents installed to the alternate limehawk path instead of the default SuperOps path. - + Usage Notes ----------- - Uses uninstall script at /Library/limehawk/uninstall.sh - Executes with sudo privileges - Reports completion status after uninstall - + Requirements ------------ - macOS operating system @@ -21,5 +21,5 @@ readme: | - Uninstall script must exist at /Library/limehawk/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Nw -lastPushedChecksum: sha256:8863ba4e5a0a2968 -lastPushedMetaChecksum: sha256:696e1fcbff6500f0 +lastPushedChecksum: "sha256:8863ba4e5a0a2968" +lastPushedMetaChecksum: "sha256:902345f5e07fe135" \ No newline at end of file diff --git a/scripts/superops_agent_install.level.yaml b/scripts/superops_agent_install.level.yaml index 2bfe781..6da9093 100644 --- a/scripts/superops_agent_install.level.yaml +++ b/scripts/superops_agent_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs the SuperOps RMM agent on Windows using the MSI installer. Designed for automated deployment where the agent download URL is provided as an environment variable. - + Usage Notes ----------- - AGENT_URL environment variable must be set by RMM platform @@ -15,7 +15,7 @@ readme: | - Automatically accepts license agreement - Downloads installer to current working directory - Cleans up installer file after successful installation - + Requirements ------------ - PowerShell 5.1 or later @@ -24,5 +24,5 @@ readme: | - AGENT_URL environment variable set by RMM platform groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OA -lastPushedChecksum: sha256:52ab8410999a4df7 -lastPushedMetaChecksum: sha256:7ba7eecd3b33f560 +lastPushedChecksum: "sha256:52ab8410999a4df7" +lastPushedMetaChecksum: "sha256:f9272867ca5911e4" \ No newline at end of file diff --git a/scripts/superops_agent_install_macos.level.yaml b/scripts/superops_agent_install_macos.level.yaml index 7febeee..f072530 100644 --- a/scripts/superops_agent_install_macos.level.yaml +++ b/scripts/superops_agent_install_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Downloads and installs the SuperOps RMM agent on macOS systems using the PKG installer format. Designed for automated deployment where the package download URL is provided as an environment variable. - + Usage Notes ----------- - PKGURL environment variable must be set by RMM platform @@ -15,7 +15,7 @@ readme: | - Uses macOS installer command with -dumplog for detailed logging - Installs silently to root (/) target - Installer handles cleanup after installation - + Requirements ------------ - macOS @@ -25,5 +25,5 @@ readme: | - curl command (standard on macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OQ -lastPushedChecksum: sha256:6fc3490acf5c28f8 -lastPushedMetaChecksum: sha256:918d6fe1dde8ee8c +lastPushedChecksum: "sha256:6fc3490acf5c28f8" +lastPushedMetaChecksum: "sha256:ae026ce0c61159b5" \ No newline at end of file diff --git a/scripts/superops_agent_legacy_uninstall.level.yaml b/scripts/superops_agent_legacy_uninstall.level.yaml index 2536907..b9819c5 100644 --- a/scripts/superops_agent_legacy_uninstall.level.yaml +++ b/scripts/superops_agent_legacy_uninstall.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Uninstalls the legacy SuperOps agent on Windows systems using the product's IdentifyingNumber. Intended for environments where the agent cannot be uninstalled via standard methods or newer uninstallers. - + Usage Notes ----------- - No inputs required - IdentifyingNumber is hardcoded - Queries WMI Win32_Product class to locate and uninstall - Designed for silent, unattended execution - Use this for older SuperOps agent installations - + Requirements ------------ - PowerShell 2.0 or later @@ -22,5 +22,5 @@ readme: | - WMI service must be running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MA -lastPushedChecksum: sha256:b7ce686565594ba9 -lastPushedMetaChecksum: sha256:e3676a66642ef508 +lastPushedChecksum: "sha256:b7ce686565594ba9" +lastPushedMetaChecksum: "sha256:cb704d2efc278fc6" \ No newline at end of file diff --git a/scripts/superops_agent_reinstall_macos.level.yaml b/scripts/superops_agent_reinstall_macos.level.yaml index 208db9a..2a3d2f5 100644 --- a/scripts/superops_agent_reinstall_macos.level.yaml +++ b/scripts/superops_agent_reinstall_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a complete reinstallation of the SuperOps RMM agent on macOS by uninstalling the current agent and installing a new version from a provided URL. Useful for agent upgrades or fixing corrupted installations. - + Usage Notes ----------- - PKGURL environment variable must be set by RMM platform @@ -16,7 +16,7 @@ readme: | - 5-second polling interval for uninstall completion - Uses official SuperOps uninstall script at /Library/superops/uninstall.sh - Monitors agent processes to ensure clean uninstall before installing - + Requirements ------------ - macOS @@ -27,5 +27,5 @@ readme: | - curl command (standard on macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MQ -lastPushedChecksum: sha256:174ea4eea6e05f07 -lastPushedMetaChecksum: sha256:1da9dc67deeb1fb5 +lastPushedChecksum: "sha256:174ea4eea6e05f07" +lastPushedMetaChecksum: "sha256:f94198327e45540f" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall.level.yaml b/scripts/superops_agent_uninstall.level.yaml index ff9a2bc..5ea6558 100644 --- a/scripts/superops_agent_uninstall.level.yaml +++ b/scripts/superops_agent_uninstall.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Uninstalls the SuperOps RMM agent from Windows systems. Attempts to use the vendor's official uninstall program first, then falls back to registry-based MSI uninstallation if the official uninstaller is not found. - + Usage Notes ----------- - No inputs required - auto-detects installed SuperOps agent - Searches for SuperOps uninstall.exe in common installation directories - Falls back to registry search (including WOW6432Node) for MSI uninstall information - Executes MSI uninstall with silent parameters (/qn /norestart) if needed - + Requirements ------------ - Windows PowerShell 5.1 or later @@ -22,5 +22,5 @@ readme: | - SuperOps RMM agent currently installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mg -lastPushedChecksum: sha256:76c7e150cfacff89 -lastPushedMetaChecksum: sha256:8dd9fbac6276cdde +lastPushedChecksum: "sha256:76c7e150cfacff89" +lastPushedMetaChecksum: "sha256:294f643ddaa2a23a" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_alt.level.yaml b/scripts/superops_agent_uninstall_alt.level.yaml index f8035fe..9ec8723 100644 --- a/scripts/superops_agent_uninstall_alt.level.yaml +++ b/scripts/superops_agent_uninstall_alt.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a quiet uninstallation of the SuperOps RMM Agent using the MSI ProductCode GUID. Reports which uninstall method (WMI or CIM) was used, provides diagnostic information, and checks for leftover services to suggest manual cleanup commands. - + Usage Notes ----------- - No runtime inputs required - ProductCode GUID is hardcoded @@ -16,7 +16,7 @@ readme: | - Missing product treated as success (already removed) - Post-uninstall service check displays cleanup commands if needed - Designed for execution inside SuperOps RMM - + Requirements ------------ - PowerShell 5.1+ @@ -24,5 +24,5 @@ readme: | - Windows operating system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mw -lastPushedChecksum: sha256:d389b242c9fa2afc -lastPushedMetaChecksum: sha256:ff331e65813e62a6 +lastPushedChecksum: "sha256:d389b242c9fa2afc" +lastPushedMetaChecksum: "sha256:ef5e54cbf8f7cfae" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_linux.level.yaml b/scripts/superops_agent_uninstall_linux.level.yaml index 0e5d018..94d9011 100644 --- a/scripts/superops_agent_uninstall_linux.level.yaml +++ b/scripts/superops_agent_uninstall_linux.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Uninstalls the SuperOps RMM agent from Linux systems by executing the agent's built-in uninstall script. Provides a clean removal of the agent and all associated components. - + Usage Notes ----------- - Uses official SuperOps uninstall script at /opt/superopsrmm/uninstall.sh - Sets executable permissions on the uninstall script before running - Validates script existence before execution - All-or-nothing: any failure stops the script immediately - + Requirements ------------ - Bash shell @@ -24,5 +24,5 @@ readme: | - Uninstall script must exist at /opt/superopsrmm/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NA -lastPushedChecksum: sha256:2009c72750ce9121 -lastPushedMetaChecksum: sha256:658b69ed7c41b5db +lastPushedChecksum: "sha256:2009c72750ce9121" +lastPushedMetaChecksum: "sha256:232ed932582ae0de" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_macos.level.yaml b/scripts/superops_agent_uninstall_macos.level.yaml index d7bcd5a..1d86b74 100644 --- a/scripts/superops_agent_uninstall_macos.level.yaml +++ b/scripts/superops_agent_uninstall_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Uninstalls the SuperOps RMM agent from macOS systems by executing the agent's built-in uninstall script. Provides a clean removal of the agent and all associated components. - + Usage Notes ----------- - Uses official SuperOps uninstall script at /Library/superops/uninstall.sh - Executes with sudo privileges - Validates script existence before execution - All-or-nothing: any failure stops the script immediately - + Requirements ------------ - Bash shell @@ -24,5 +24,5 @@ readme: | - Uninstall script must exist at /Library/superops/uninstall.sh groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NQ -lastPushedChecksum: sha256:1f2ddeee28510922 -lastPushedMetaChecksum: sha256:37d04b9a4944d3f8 +lastPushedChecksum: "sha256:1f2ddeee28510922" +lastPushedMetaChecksum: "sha256:f77a43aeb7e1e327" \ No newline at end of file diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index 0c9d7f8..9610a17 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -9,7 +9,7 @@ readme: | Restarts RMM agent services on Windows systems. Automatically detects if the script is being executed by the RMM agent itself and uses a safe background restart approach to avoid terminating mid-execution. - + Usage Notes ----------- - Set service filter via $YourServiceFilterHere (e.g., "limehawk") @@ -17,7 +17,7 @@ readme: | - When running from RMM agent: spawns background process with 30-second delay - When running manually: restarts services directly and waits for completion - Reports status of each service after restart - + Requirements ------------ - Windows 10/11 @@ -25,8 +25,8 @@ readme: | - PowerShell 5.1+ - Target RMM agent installed (matching services must exist) variables: -- name: YourServiceFilterHere + - name: YourServiceFilterHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng -lastPushedChecksum: sha256:21071e206631d4f0 -lastPushedMetaChecksum: sha256:ff0d081422ef10ed +lastPushedChecksum: "sha256:21071e206631d4f0" +lastPushedMetaChecksum: "sha256:12bb1154b50650ea" \ No newline at end of file diff --git a/scripts/superops_tray_icon_show_always.level.yaml b/scripts/superops_tray_icon_show_always.level.yaml index 050cfbf..0651595 100644 --- a/scripts/superops_tray_icon_show_always.level.yaml +++ b/scripts/superops_tray_icon_show_always.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Configures Windows system tray settings to always show the SuperOps RMM agent tray icon. Ensures the SuperOps icon remains visible in the system tray notification area rather than being hidden in the overflow. - + Usage Notes ----------- - MUST RUN AS LOGGED-IN USER - NOT SYSTEM @@ -16,7 +16,7 @@ readme: | - Sets IsPromoted=1 for SuperOps notification entries - Exits gracefully (exit 0) if registry path does not exist yet - No restart required - changes take effect on next tray icon update - + Requirements ------------ - Windows 11 (build 22000 or later) - older Windows not supported @@ -25,5 +25,5 @@ readme: | - SuperOps agent must be installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Nw -lastPushedChecksum: sha256:60705b6f854e0ad7 -lastPushedMetaChecksum: sha256:a71ed8eb386efb00 +lastPushedChecksum: "sha256:60705b6f854e0ad7" +lastPushedMetaChecksum: "sha256:126b041f269b6d65" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install.level.yaml b/scripts/synology_backup_agent_install.level.yaml index 0029bba..682560a 100644 --- a/scripts/synology_backup_agent_install.level.yaml +++ b/scripts/synology_backup_agent_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Installs the Synology Active Backup for Business Agent on Windows using winget. This agent enables centralized backup management from a Synology NAS. - + Usage Notes ----------- - Validates winget availability before installation - Installs silently using winget package manager - Package ID: Synology.ActiveBackupForBusinessAgent - After installation, connect to your Synology NAS to configure backup tasks - + Requirements ------------ - Windows 10 1809+ or Windows 11 @@ -23,5 +23,5 @@ readme: | - Synology NAS with Active Backup for Business package groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OA -lastPushedChecksum: sha256:71047d6fc64e0624 -lastPushedMetaChecksum: sha256:4970382ff803b1cb +lastPushedChecksum: "sha256:71047d6fc64e0624" +lastPushedMetaChecksum: "sha256:44b04888cdc598f4" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install_linux.level.yaml b/scripts/synology_backup_agent_install_linux.level.yaml index 401a9b2..a450ca6 100644 --- a/scripts/synology_backup_agent_install_linux.level.yaml +++ b/scripts/synology_backup_agent_install_linux.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs the Synology Active Backup for Business Agent on Linux systems. Includes prerequisite checks for architecture, kernel headers, and required tools. - + Usage Notes ----------- - Downloads agent from global.download.synology.com @@ -16,7 +16,7 @@ readme: | - Package format: deb (Debian/Ubuntu) - Verifies kernel headers and required tools before installation - Cleans up temporary files after installation - + Requirements ------------ - Debian 10/11/12 or Ubuntu 16.04-24.04 (x86_64 only) @@ -26,5 +26,5 @@ readme: | - unzip, curl or wget groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OQ -lastPushedChecksum: sha256:d25da66ea53f3a05 -lastPushedMetaChecksum: sha256:0a637e9ffc88b7dd +lastPushedChecksum: "sha256:d25da66ea53f3a05" +lastPushedMetaChecksum: "sha256:408e506ed1895585" \ No newline at end of file diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index 81693d4..f483749 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Performs a full local lockout for a terminated employee in a single pass. Locks the workstation, resets the local account password to a random value, disables the account, and forces logoff of all active sessions. - + Usage Notes ----------- - Validates username input @@ -17,7 +17,7 @@ readme: | - Logs off all active sessions - Preserves user profile and all files on disk - Account can be re-enabled with Enable-LocalUser (new password required) - + Requirements ------------ - Windows 10/11 @@ -25,8 +25,8 @@ readme: | - PowerShell 5.1+ - $TerminatedUsername: local username to lock out (SuperOps runtime variable) variables: -- name: TerminatedUsername + - name: TerminatedUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA -lastPushedChecksum: sha256:a2fc53f08fbbf738 -lastPushedMetaChecksum: sha256:51f8598b49425efa +lastPushedChecksum: "sha256:a2fc53f08fbbf738" +lastPushedMetaChecksum: "sha256:d1aaf78447ccbb29" \ No newline at end of file diff --git a/scripts/time_sync_fix.level.yaml b/scripts/time_sync_fix.level.yaml index b61114a..a520182 100644 --- a/scripts/time_sync_fix.level.yaml +++ b/scripts/time_sync_fix.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Fixes Windows time synchronization by setting the timezone, resetting the Windows Time service, configuring NTP servers, and forcing a time sync. Resolves common time drift and synchronization issues. - + Usage Notes ----------- - Sets timezone (configurable via $TimeZone variable) @@ -16,7 +16,7 @@ readme: | - Sets service triggers for network connectivity - Uses pool.ntp.org servers by default - Forces immediate time resync - + Requirements ------------ - Windows 10/11 @@ -25,5 +25,5 @@ readme: | - $TimeZone and $NtpServers variables defined in script groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MQ -lastPushedChecksum: sha256:2a5b7085817c1386 -lastPushedMetaChecksum: sha256:c57355ea4541976f +lastPushedChecksum: "sha256:2a5b7085817c1386" +lastPushedMetaChecksum: "sha256:083897b5ae0e72fe" \ No newline at end of file diff --git a/scripts/time_utc_set.level.yaml b/scripts/time_utc_set.level.yaml index 818f62d..5a20b9a 100644 --- a/scripts/time_utc_set.level.yaml +++ b/scripts/time_utc_set.level.yaml @@ -7,13 +7,13 @@ readme: | Purpose ------- Configures Windows to use UTC for the hardware clock instead of local time. This prevents the clock from being wrong when switching between Windows and Linux on dual-boot systems, as Linux uses UTC by default. - + Usage Notes ----------- - Sets RealTimeIsUniversal DWORD to 1 in HKLM\System\CurrentControlSet\Control\TimeZoneInformation - No configurable inputs required - Run once after installing Windows on a dual-boot system - + Requirements ------------ - PowerShell 5.1 or later @@ -21,5 +21,5 @@ readme: | - Windows 10/11 groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mg -lastPushedChecksum: sha256:4a8bd8317bc76df9 -lastPushedMetaChecksum: sha256:dba9fcdc433cc3c2 +lastPushedChecksum: "sha256:4a8bd8317bc76df9" +lastPushedMetaChecksum: "sha256:18556b80f8fa2272" \ No newline at end of file diff --git a/scripts/ubuntu_debian_update_verbose.level.yaml b/scripts/ubuntu_debian_update_verbose.level.yaml index e7dbae2..aa515c7 100644 --- a/scripts/ubuntu_debian_update_verbose.level.yaml +++ b/scripts/ubuntu_debian_update_verbose.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Automates system package updates for Ubuntu/Debian systems with verbose output and error handling. Updates package lists, upgrades installed packages, removes unused dependencies, and cleans package cache. Provides color-coded status messages and reboot detection. - + Usage Notes ----------- - Run with sudo or as root @@ -17,7 +17,7 @@ readme: | - ENABLE_AUTOREMOVE: Remove unused packages after upgrade - ENABLE_CACHE_CLEAN: Clean apt cache to free disk space - ENABLE_COLOR_OUTPUT: Use colored terminal output - + Requirements ------------ - Root/sudo access required @@ -26,5 +26,5 @@ readme: | - apt package manager groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mw -lastPushedChecksum: sha256:cb32e47af9465ca4 -lastPushedMetaChecksum: sha256:e6eb5911547eaa00 +lastPushedChecksum: "sha256:cb32e47af9465ca4" +lastPushedMetaChecksum: "sha256:e37d862657d9a801" \ No newline at end of file diff --git a/scripts/user_accounts_report.level.yaml b/scripts/user_accounts_report.level.yaml index 9b339ae..569af70 100644 --- a/scripts/user_accounts_report.level.yaml +++ b/scripts/user_accounts_report.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Generates a comprehensive report of all local user accounts, their group memberships, login sessions, and user profiles on the system. Provides a single view of all user-related information for auditing and troubleshooting. - + Usage Notes ----------- - No inputs required - reports on current system state @@ -15,7 +15,7 @@ readme: | - Shows group membership for each user - Displays active login sessions - Lists user profile folders with last use time and size - + Requirements ------------ - Windows 10/11 or Windows Server @@ -23,5 +23,5 @@ readme: | - Admin privileges recommended for full details groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NA -lastPushedChecksum: sha256:5aff121cdaf29830 -lastPushedMetaChecksum: sha256:eb56039b2c2a055c +lastPushedChecksum: "sha256:5aff121cdaf29830" +lastPushedMetaChecksum: "sha256:c616841db34a0e5e" \ No newline at end of file diff --git a/scripts/usmt_lan_migrate.level.yaml b/scripts/usmt_lan_migrate.level.yaml index 0df3c43..cdd7a04 100644 --- a/scripts/usmt_lan_migrate.level.yaml +++ b/scripts/usmt_lan_migrate.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Migrates a Windows local-account user profile from an OLD laptop to a NEW laptop across the same local network using USMT. The same script is dropped on both machines; a role selector decides whether the machine is the Sender (old) or the Receiver (new). The compressed USMT migration store (USMT.MIG) is moved between machines by LocalSend (primary) or a plain file path (UNC/SMB/USB) fallback. Carries profile data and settings only, not installed applications. Targets are local accounts in a workgroup; Entra/Azure AD accounts are out of scope. - + Usage Notes ----------- - Interactive by default (menu asks role first: OLD/Sender vs NEW/Receiver), or unattended via the hardcoded CONFIG block at the top of the script. @@ -17,7 +17,7 @@ readme: | - For very large profiles (>20 GB) over WiFi, the path transport (wired/USB/UNC) is recommended; the Sender warns when the estimate is large. - LocalSend CLI used: 0w0mewo/localsend-cli (Go), release v0.0.7, port 53317. send --ip -f ; recv -d ; scan -t . Verified against the CLI command source, not the stub official README. - Default staging/store path: C:\MigrationStore - + Requirements ------------ - Windows 10/11 or Windows Server, PowerShell 5.1+ @@ -25,7 +25,7 @@ readme: | - Both machines on the same subnet (LocalSend discovery uses mDNS) - Internet connectivity on first run (USMT + LocalSend CLI download) - Sufficient disk for the migration store on both ends - + Security -------- - No secrets in logs: the encryption key and new-account password are never printed and never written to backup_info.json (the key is recorded only as the literal "[ENCRYPTED]" marker). @@ -33,5 +33,5 @@ readme: | - LocalSend transfer is HTTPS by default. groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NQ -lastPushedChecksum: sha256:fc591c1e7cec5da2 -lastPushedMetaChecksum: sha256:d30705f7f91d628a +lastPushedChecksum: "sha256:fc591c1e7cec5da2" +lastPushedMetaChecksum: "sha256:5556293b4acf14b9" \ No newline at end of file diff --git a/scripts/usmt_profile_migrate.level.yaml b/scripts/usmt_profile_migrate.level.yaml index a90d74b..8940227 100644 --- a/scripts/usmt_profile_migrate.level.yaml +++ b/scripts/usmt_profile_migrate.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Interactive USMT (User State Migration Tool) backup and restore utility for remote terminal sessions. Enables backing up user profiles from one machine and restoring them to another, including documents, settings, and application data. - + Usage Notes ----------- - Run interactively via menu-driven interface @@ -16,7 +16,7 @@ readme: | - Restore options: merge to existing account or create new local account - USMT tools are auto-downloaded if not present - Default store path: C:\MigrationStore - + Requirements ------------ - Windows 10/11 or Windows Server @@ -25,5 +25,5 @@ readme: | - Sufficient disk space for migration store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Ng -lastPushedChecksum: sha256:d397fd188deca05c -lastPushedMetaChecksum: sha256:c77f52ec9315ef91 +lastPushedChecksum: "sha256:d397fd188deca05c" +lastPushedMetaChecksum: "sha256:36014b5afd5cbb4b" \ No newline at end of file diff --git a/scripts/webview2_repair_install.level.yaml b/scripts/webview2_repair_install.level.yaml index a3b5cf2..63c5187 100644 --- a/scripts/webview2_repair_install.level.yaml +++ b/scripts/webview2_repair_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Detects broken installations of the Microsoft Edge WebView2 Runtime where the registry still references a version that no longer exists on disk, and repairs them by removing stale ClientState keys and reinstalling the current Evergreen Runtime via Microsoft's official bootstrapper. - + Usage Notes ----------- - Validates input parameters before proceeding @@ -19,7 +19,7 @@ readme: | - Cleans up the installer file on success - Download URL: https://go.microsoft.com/fwlink/p/?LinkId=2124703 - Force Reinstall: false - + Requirements ------------ - Windows PowerShell 5.1 or later @@ -27,5 +27,5 @@ readme: | - Internet connectivity to go.microsoft.com groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Nw -lastPushedChecksum: sha256:eb622de3ac3b06f0 -lastPushedMetaChecksum: sha256:f2879d8e7e8e9065 +lastPushedChecksum: "sha256:eb622de3ac3b06f0" +lastPushedMetaChecksum: "sha256:20ec65a09d4e9240" \ No newline at end of file diff --git a/scripts/wifi_adapters_disable.level.yaml b/scripts/wifi_adapters_disable.level.yaml index ed7e32f..dc730a1 100644 --- a/scripts/wifi_adapters_disable.level.yaml +++ b/scripts/wifi_adapters_disable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Identifies and disables all physical and virtual Wi-Fi network adapters on a Windows system. Enforces a wired-only network policy by ensuring that wireless connectivity is turned off while leaving Ethernet adapters enabled. - + Usage Notes ----------- - Checks for administrative privileges before proceeding @@ -15,7 +15,7 @@ readme: | - Categorizes adapters as Wi-Fi, Wired, or Other - Displays detailed list of all adapters for review - Disables all Wi-Fi adapters; Ethernet/wired adapters are not affected - + Requirements ------------ - Windows 10/11 or Windows Server @@ -23,5 +23,5 @@ readme: | - Get-NetAdapter cmdlet available groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OA -lastPushedChecksum: sha256:16dd67e48b67ceaf -lastPushedMetaChecksum: sha256:e235b3de0a3f16ca +lastPushedChecksum: "sha256:16dd67e48b67ceaf" +lastPushedMetaChecksum: "sha256:3b95ea5a10595d38" \ No newline at end of file diff --git a/scripts/wifi_passwords_show.level.yaml b/scripts/wifi_passwords_show.level.yaml index 9f83e6c..30913c0 100644 --- a/scripts/wifi_passwords_show.level.yaml +++ b/scripts/wifi_passwords_show.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Retrieves and displays all saved Wi-Fi network profiles and their passwords stored on the Windows system. Useful for recovering forgotten passwords or auditing saved wireless credentials. - + Usage Notes ----------- - Queries all saved wireless network profiles via netsh - Retrieves the password (key content) for each profile - Displays results in a formatted table with SSID and password - + Requirements ------------ - Windows 10/11 or Windows Server - Administrator privileges (for key retrieval) - Wireless adapter present (or previously present) - + Security -------- - Displays sensitive credential information in plain text @@ -27,5 +27,5 @@ readme: | - Passwords are retrieved from Windows credential store groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OQ -lastPushedChecksum: sha256:23635bb4bd6d99f9 -lastPushedMetaChecksum: sha256:3494f8256d8a829c +lastPushedChecksum: "sha256:23635bb4bd6d99f9" +lastPushedMetaChecksum: "sha256:83acf59c8627e46a" \ No newline at end of file diff --git a/scripts/wifiman_install.level.yaml b/scripts/wifiman_install.level.yaml index ebe6ef1..fb1a0bf 100644 --- a/scripts/wifiman_install.level.yaml +++ b/scripts/wifiman_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Installs Ubiquiti WiFiman Desktop application using winget. Automatically installs winget if not present on the system. - + Usage Notes ----------- - Package ID is hardcoded (UbiquitiInc.WiFimanDesktop) - Validates input parameters before proceeding - Checks if winget is installed; installs via PowerShell Gallery if missing - Installs WiFiman using winget with unattended options - + Requirements ------------ - Windows 10 1809+ or Windows 11 @@ -22,5 +22,5 @@ readme: | - Internet connectivity groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MA -lastPushedChecksum: sha256:22ab242925134ed1 -lastPushedMetaChecksum: sha256:4213cc25f3080170 +lastPushedChecksum: "sha256:22ab242925134ed1" +lastPushedMetaChecksum: "sha256:e615ee148e606c95" \ No newline at end of file diff --git a/scripts/win11_compatibility_check.level.yaml b/scripts/win11_compatibility_check.level.yaml index 25f5862..808d2a3 100644 --- a/scripts/win11_compatibility_check.level.yaml +++ b/scripts/win11_compatibility_check.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Checks if the current Windows device meets the hardware requirements for Windows 11 upgrade, including processor (2+ cores, 1GHz+), RAM (4GB+), storage (64GB+), TPM 2.0, Secure Boot capability, and UEFI firmware. - + Usage Notes ----------- - Checks processor specifications, RAM capacity, and disk space - Checks TPM version and Secure Boot status - Reports pass/fail for each component independently - Provides overall compatibility verdict with specific issues listed - + Requirements ------------ - Windows 10 - Administrator privileges (for TPM check) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MQ -lastPushedChecksum: sha256:12be2dab9e24d0d4 -lastPushedMetaChecksum: sha256:cb9759f884e01ef0 +lastPushedChecksum: "sha256:12be2dab9e24d0d4" +lastPushedMetaChecksum: "sha256:812e0d355e14b702" \ No newline at end of file diff --git a/scripts/windows11_compatibility_check.level.yaml b/scripts/windows11_compatibility_check.level.yaml index d1baaa2..ad618d8 100644 --- a/scripts/windows11_compatibility_check.level.yaml +++ b/scripts/windows11_compatibility_check.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Evaluates system compatibility for Windows 11 upgrade by checking hardware requirements including TPM 2.0, Secure Boot, CPU compatibility, RAM, storage, and UEFI firmware. Identifies blockers preventing upgrade and attempts to enable required features where possible. Designed for RMM deployment to assess upgrade readiness across a fleet of devices. - + Usage Notes ----------- - Configurable minimum requirements: MinimumRamGB (default 4), MinimumStorageGB (default 64) @@ -15,19 +15,19 @@ readme: | - Optional AttemptAutoFix to enable TPM or Secure Boot if hardware supports it (default: false) - Checks TPM version/status, Secure Boot, CPU against known compatible list, RAM, storage, and UEFI firmware - Reports all blockers with specific remediation steps - + Requirements ------------ - PowerShell 5.1 or later - Administrator privileges required - Windows 10 or Windows 11 operating system - TPM and Secure Boot cmdlets available (built into Windows) - + Security -------- - Changing BIOS settings (TPM, Secure Boot) requires system reboot - Auto-fix operations are potentially disruptive to the system groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mg -lastPushedChecksum: sha256:c2db40bcd9a3a6cf -lastPushedMetaChecksum: sha256:de95f2fc4499a8ad +lastPushedChecksum: "sha256:c2db40bcd9a3a6cf" +lastPushedMetaChecksum: "sha256:9c787947e9859a0b" \ No newline at end of file diff --git a/scripts/windows_dark_mode_enable.level.yaml b/scripts/windows_dark_mode_enable.level.yaml index df7493a..aadaee3 100644 --- a/scripts/windows_dark_mode_enable.level.yaml +++ b/scripts/windows_dark_mode_enable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Bypasses the locked personalization settings on non-activated Windows 11 by applying wallpaper and dark mode settings directly via registry. Also optionally configures UTC hardware clock for dual-boot Linux compatibility. - + Usage Notes ----------- - Downloads wallpaper from configured URL to Public Pictures @@ -16,7 +16,7 @@ readme: | - Restarts Explorer to apply theme changes immediately - Optional UTC clock fix for dual-boot systems (fixUtcClock) - Configurable inputs: wallpaperUrl, wallpaperPath, enableDarkMode, fixUtcClock - + Requirements ------------ - PowerShell 5.1 or later @@ -24,5 +24,5 @@ readme: | - Internet access for wallpaper download groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mw -lastPushedChecksum: sha256:9d07ef367a12f5b9 -lastPushedMetaChecksum: sha256:46ab70a35e52ef06 +lastPushedChecksum: "sha256:9d07ef367a12f5b9" +lastPushedMetaChecksum: "sha256:5ea3e567ac0f2109" \ No newline at end of file diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index 47724bb..4e51187 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Runs standard Windows health checks and repair commands including DISM image health scans, disk checks, system file verification, and component cleanup. Designed for unattended execution in RMM environments to perform routine system maintenance and repair operations. - + Usage Notes ----------- - Configurable operations via hardcoded flags: RunDismScan, RunDismRestore, RunChkdsk, RunSfc @@ -17,19 +17,19 @@ readme: | - Optional RebootAfterMaintenance with 5-minute warning (default: false) - Failed operations are reported but script continues to next operation - DISM operates in online mode against the running Windows installation - + Requirements ------------ - PowerShell 5.1 or later - Administrator privileges required - Windows 8.1/Server 2012 R2 or later for DISM commands - Sufficient disk space for repair operations - + Security -------- - Operations may cause system modifications and require reboots - Requires elevated permissions to modify system components groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA -lastPushedChecksum: sha256:be481319dad82072 -lastPushedMetaChecksum: sha256:c9425b5dcbbd3ead +lastPushedChecksum: "sha256:be481319dad82072" +lastPushedMetaChecksum: "sha256:3723761c092cf42d" \ No newline at end of file diff --git a/scripts/windows_firewall_toggle.level.yaml b/scripts/windows_firewall_toggle.level.yaml index 1753f35..c2e8fb3 100644 --- a/scripts/windows_firewall_toggle.level.yaml +++ b/scripts/windows_firewall_toggle.level.yaml @@ -7,23 +7,23 @@ readme: | Purpose ------- Toggles Windows Firewall state for all profiles (Domain, Private, Public). If firewall is ON, turns it OFF. If firewall is OFF, turns it ON. - + Usage Notes ----------- - No inputs required; automatically detects current state and toggles - Affects all firewall profiles: Domain, Private, Public - Verifies new state after toggle - + Requirements ------------ - Windows 10/11 - Administrator privileges required - + Security -------- - Disabling firewall reduces system security - Use with caution in production environments groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NQ -lastPushedChecksum: sha256:3ababf5f681c4117 -lastPushedMetaChecksum: sha256:244e9f3a61d8f1db +lastPushedChecksum: "sha256:3ababf5f681c4117" +lastPushedMetaChecksum: "sha256:46c11db43ba3b37a" \ No newline at end of file diff --git a/scripts/windows_product_key_export_superops.level.yaml b/scripts/windows_product_key_export_superops.level.yaml index 6da086e..8e8d4b9 100644 --- a/scripts/windows_product_key_export_superops.level.yaml +++ b/scripts/windows_product_key_export_superops.level.yaml @@ -7,25 +7,25 @@ readme: | Purpose ------- Retrieves the Windows product key from the local machine's registry by decoding the DigitalProductId value and sends it to a SuperOps custom field for asset management and license tracking. - + Usage Notes ----------- - Decodes DigitalProductId from HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion - Sends product key to SuperOps custom field via Send-CustomField - CustomFieldName defaults to "Windows Product Key" - Product key format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - + Requirements ------------ - PowerShell 5.1 or later - SuperOps RMM agent installed and module available ($SuperOpsModule) - Registry access to read Windows product information - + Security -------- - Product key is considered sensitive licensing data - Product key is sent to SuperOps; no secrets appear in local logs groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Ng -lastPushedChecksum: sha256:8c4fd9133fdd413e -lastPushedMetaChecksum: sha256:0b1cf48ea7ea8a61 +lastPushedChecksum: "sha256:8c4fd9133fdd413e" +lastPushedMetaChecksum: "sha256:b607d86369c87716" \ No newline at end of file diff --git a/scripts/windows_update_access_restore.level.yaml b/scripts/windows_update_access_restore.level.yaml index a2cef9a..a277809 100644 --- a/scripts/windows_update_access_restore.level.yaml +++ b/scripts/windows_update_access_restore.level.yaml @@ -7,18 +7,18 @@ readme: | Purpose ------- Removes the SetDisableUXWUAccess registry key to restore user access to Windows Update settings in the Settings app. - + Usage Notes ----------- - Checks for SetDisableUXWUAccess registry key under HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate - Removes the key if present; reports success if key did not exist - Counterpart to windows_update_access_toggle script - + Requirements ------------ - Windows 10/11 - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Nw -lastPushedChecksum: sha256:b8d790b668a1b512 -lastPushedMetaChecksum: sha256:818449501b5320ac +lastPushedChecksum: "sha256:b8d790b668a1b512" +lastPushedMetaChecksum: "sha256:6cbf5fc275418651" \ No newline at end of file diff --git a/scripts/windows_update_access_toggle.level.yaml b/scripts/windows_update_access_toggle.level.yaml index 67f18de..f10e73c 100644 --- a/scripts/windows_update_access_toggle.level.yaml +++ b/scripts/windows_update_access_toggle.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Toggles user access to Windows Update settings in the Settings app. If access is currently blocked, it will be enabled. If access is currently allowed, it will be blocked. - + Usage Notes ----------- - Checks current state of SetDisableUXWUAccess registry key under HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate - Toggles the state by adding or removing the key - Reports new state after toggle - Use windows_update_access_restore to always enable access - + Requirements ------------ - Windows 10/11 - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OA -lastPushedChecksum: sha256:f3e6ce36a0c0a34e -lastPushedMetaChecksum: sha256:ee787b5d2983ec6c +lastPushedChecksum: "sha256:f3e6ce36a0c0a34e" +lastPushedMetaChecksum: "sha256:2b6bf3a20ead0305" \ No newline at end of file diff --git a/scripts/windows_update_reset.level.yaml b/scripts/windows_update_reset.level.yaml index e2b322f..0d74631 100644 --- a/scripts/windows_update_reset.level.yaml +++ b/scripts/windows_update_reset.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Completely resets Windows Update components by stopping services, clearing caches, resetting security descriptors, re-registering DLLs, and restarting services. Fixes most Windows Update problems. - + Usage Notes ----------- - Stops BITS, wuauserv, appidsvc, cryptsvc services @@ -18,18 +18,18 @@ readme: | - Resets Winsock - Restarts all services after reset - Optional RebootAfterReset (default: false) - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet connectivity for updates after reset - + Security -------- - Modifies system registry and service configurations - Creates .bak folders for recovery of renamed directories groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OQ -lastPushedChecksum: sha256:dc0660ba30a52b1f -lastPushedMetaChecksum: sha256:7bffae2d85e02bcc +lastPushedChecksum: "sha256:dc0660ba30a52b1f" +lastPushedMetaChecksum: "sha256:8d02cd8cb88afed8" \ No newline at end of file diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index 78774dc..0b6ba8a 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs a software package using winget (Windows Package Manager). Uses SuperOps runtime text replacement for the package name. Handles silent installation with automatic acceptance of agreements. - + Usage Notes ----------- - PackageName runtime variable specifies winget package ID (e.g., "Google.Chrome", "Mozilla.Firefox") @@ -15,15 +15,15 @@ readme: | - Searches for package to verify it exists in the repository - Silent installation mode with machine scope when available - Accepts package and source agreements automatically - + Requirements ------------ - Winget must be installed (use winget_setup first) - Administrator privileges recommended - Internet connectivity variables: -- name: PackageName + - name: PackageName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA -lastPushedChecksum: sha256:81593e032c1092d2 -lastPushedMetaChecksum: sha256:0123c6e2c2a68bd0 +lastPushedChecksum: "sha256:81593e032c1092d2" +lastPushedMetaChecksum: "sha256:9d70bb448f0c4a12" \ No newline at end of file diff --git a/scripts/winget_setup.level.yaml b/scripts/winget_setup.level.yaml index 8a1fe20..b9355ee 100644 --- a/scripts/winget_setup.level.yaml +++ b/scripts/winget_setup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Installs winget (Windows Package Manager) on Windows systems using the most reliable installation method. Optimized for RMM environments running under SYSTEM context. Uses manual AppX installation method which is more reliable than Repair-WinGetPackageManager. Handles all OS versions including Windows 10, 11, and Server 2019+. - + Usage Notes ----------- - Uses manual AppX installation method (most reliable for SYSTEM context) @@ -17,7 +17,7 @@ readme: | - Configurable: forceReinstall (boolean), downloadTimeout (default 120s), skipServerCore (boolean) - Installs for all users when possible - Cleans up temporary files after installation - + Requirements ------------ - Administrator or SYSTEM privileges @@ -26,5 +26,5 @@ readme: | - PowerShell 5.1 or higher groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MQ -lastPushedChecksum: sha256:9c39b0b8e934af79 -lastPushedMetaChecksum: sha256:f64105a38bf30b2c +lastPushedChecksum: "sha256:9c39b0b8e934af79" +lastPushedMetaChecksum: "sha256:9af883bea1716b53" \ No newline at end of file diff --git a/scripts/winget_upgrade_all.level.yaml b/scripts/winget_upgrade_all.level.yaml index 2e7fdb7..f5db12f 100644 --- a/scripts/winget_upgrade_all.level.yaml +++ b/scripts/winget_upgrade_all.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Upgrades all winget-managed packages to their latest versions. Includes logging and automatic cleanup of old log files. - + Usage Notes ----------- - Checks Windows version requirements before proceeding @@ -16,7 +16,7 @@ readme: | - Accepts all package agreements automatically - Logs output to Windows temp directory - Cleans up logs older than 14 days - + Requirements ------------ - Windows 10 1809+ or Windows 11 or Server 2022 @@ -24,5 +24,5 @@ readme: | - Winget (App Installer) installed groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mg -lastPushedChecksum: sha256:a012ab90c5f2a0d1 -lastPushedMetaChecksum: sha256:3ba7c6926c1e1de9 +lastPushedChecksum: "sha256:a012ab90c5f2a0d1" +lastPushedMetaChecksum: "sha256:051cccec6586caf8" \ No newline at end of file diff --git a/scripts/winre_partition_resize.level.yaml b/scripts/winre_partition_resize.level.yaml index 4f87318..1f18276 100644 --- a/scripts/winre_partition_resize.level.yaml +++ b/scripts/winre_partition_resize.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Extends the Windows Recovery Environment (WinRE) partition by 250MB to resolve issues with Windows updates requiring more recovery partition space. This is commonly needed for KB5034441 and similar updates. - + Usage Notes ----------- - Examines current disk layout and WinRE status @@ -17,19 +17,19 @@ readme: | - Extends or recreates WinRE partition, then re-enables WinRE - Verifies new configuration after completion - Reboot recommended before running - + Requirements ------------ - Windows 10/11 - Administrator privileges - Sufficient free space on OS partition - WinRE must be enabled before running - + Security -------- - Modifies disk partitions; use with caution - Creates backup of WinRE content before modification groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mw -lastPushedChecksum: sha256:193e2e8a68f2a4ce -lastPushedMetaChecksum: sha256:1355845eb3b6f5ff +lastPushedChecksum: "sha256:193e2e8a68f2a4ce" +lastPushedMetaChecksum: "sha256:345abe185a3c6e4a" \ No newline at end of file diff --git a/scripts/winre_restore.level.yaml b/scripts/winre_restore.level.yaml index 59b26e6..f062c12 100644 --- a/scripts/winre_restore.level.yaml +++ b/scripts/winre_restore.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Restores Windows Recovery Environment (WinRE) by downloading Winre.wim and ReAgent.xml files from a specified URL and placing them in the Recovery folder. Fixes systems where WinRE has been corrupted or deleted. - + Usage Notes ----------- - Configure WinreWimUrl and ReAgentXmlUrl in script before deployment @@ -15,19 +15,19 @@ readme: | - Downloads files to TEMP then moves to C:\Windows\System32\Recovery - Re-enables WinRE via reagentc /enable after restore - Uses curl with retry and timeout for downloads - + Requirements ------------ - Windows 10/11 - Administrator privileges - Network connectivity to download URLs - Valid WinRE files hosted at specified URLs - + Security -------- - Downloads from specified URLs; ensure URLs are trusted - Modifies system recovery configuration groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NA -lastPushedChecksum: sha256:2ee202fdbbaf51a9 -lastPushedMetaChecksum: sha256:cc7d3576134909a6 +lastPushedChecksum: "sha256:2ee202fdbbaf51a9" +lastPushedMetaChecksum: "sha256:feec4a4defb663e2" \ No newline at end of file diff --git a/scripts/winreagent_cleanup.level.yaml b/scripts/winreagent_cleanup.level.yaml index 9b59a46..f360acf 100644 --- a/scripts/winreagent_cleanup.level.yaml +++ b/scripts/winreagent_cleanup.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Deletes the C:\$WinREAgent folder which contains temporary Windows Recovery Environment update files. This folder can consume significant disk space and is safe to delete after WinRE updates are complete. - + Usage Notes ----------- - FolderPath defaults to C:\$WinREAgent @@ -15,12 +15,12 @@ readme: | - Deletes folder and all contents recursively - Handles hidden/system folder attributes - Exits successfully if folder does not exist - + Requirements ------------ - Windows 10/11 - Administrator privileges recommended groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NQ -lastPushedChecksum: sha256:142834ca4118604e -lastPushedMetaChecksum: sha256:d9413c4ac3cde586 +lastPushedChecksum: "sha256:142834ca4118604e" +lastPushedMetaChecksum: "sha256:98dd75233e437d6d" \ No newline at end of file diff --git a/scripts/wol_enable.level.yaml b/scripts/wol_enable.level.yaml index e1c6f50..1e73d2a 100644 --- a/scripts/wol_enable.level.yaml +++ b/scripts/wol_enable.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Enables Wake-on-LAN (WOL) in both BIOS/UEFI and Windows NIC settings. Supports Dell, HP, and Lenovo systems with manufacturer-specific BIOS modules. Also enables WOL on all capable network adapters in Windows. - + Usage Notes ----------- - Auto-detects system manufacturer via CIM @@ -17,19 +17,19 @@ readme: | - HP: Uses HPCMSL, sets Wake On Lan to Boot to Hard Drive - Lenovo: Uses WMI, sets WakeOnLAN to Primary - Enables MSPower_DeviceWakeEnable on all capable Windows NICs - + Requirements ------------ - Windows 10/11 - Administrator privileges - Internet connectivity for module installation - Supported manufacturer: Dell, HP, or Lenovo - + Security -------- - Modifies BIOS settings (requires admin) - Installs PowerShell modules from PSGallery groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Ng -lastPushedChecksum: sha256:2af7e13609778071 -lastPushedMetaChecksum: sha256:88cffcd9b1053cd2 +lastPushedChecksum: "sha256:2af7e13609778071" +lastPushedMetaChecksum: "sha256:4b798181ed103da2" \ No newline at end of file diff --git a/scripts/wol_status_check.level.yaml b/scripts/wol_status_check.level.yaml index 4430424..64e7238 100644 --- a/scripts/wol_status_check.level.yaml +++ b/scripts/wol_status_check.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Checks the Wake-on-LAN (WOL) status at both BIOS and OS levels. Supports Dell, HP, and Lenovo devices by using manufacturer-specific PowerShell modules to query BIOS settings. - + Usage Notes ----------- - Detects device manufacturer (Dell, HP, or Lenovo) @@ -15,7 +15,7 @@ readme: | - Queries BIOS for WOL settings using manufacturer-specific module - Checks OS-level NIC WOL configuration - Reports combined BIOS and OS WOL status - + Requirements ------------ - Windows 10/11 or Windows Server @@ -24,5 +24,5 @@ readme: | - Supported manufacturer: Dell, HP, or Lenovo groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Nw -lastPushedChecksum: sha256:fd47c8923957702e -lastPushedMetaChecksum: sha256:b66666e156ff500b +lastPushedChecksum: "sha256:fd47c8923957702e" +lastPushedMetaChecksum: "sha256:767c6d3394d223f2" \ No newline at end of file diff --git a/scripts/workstation_info_display.level.yaml b/scripts/workstation_info_display.level.yaml index 824fda0..e9ca335 100644 --- a/scripts/workstation_info_display.level.yaml +++ b/scripts/workstation_info_display.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Collects and displays comprehensive workstation information including operating system details, computer name, current user, CPU specifications, memory capacity, network adapter configuration, and hardware serial number. Designed for quick troubleshooting access via tray icon menu or RMM execution with dual output modes. - + Usage Notes ----------- - DisplayMode: "popup" (Windows Forms message box) or "console" (text output for RMM capture) @@ -17,7 +17,7 @@ readme: | - Network adapter information limited to enabled adapters only - Memory sizes reported in GB with 2 decimal precision - Missing or unavailable information reported as N/A - + Requirements ------------ - PowerShell 5.1 or later @@ -26,5 +26,5 @@ readme: | - No special permissions required (runs in user context) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OA -lastPushedChecksum: sha256:330cc5d8ea5101af -lastPushedMetaChecksum: sha256:5e67e31cb9cfabba +lastPushedChecksum: "sha256:330cc5d8ea5101af" +lastPushedMetaChecksum: "sha256:c29bfa0912d3d52e" \ No newline at end of file diff --git a/scripts/workstation_info_display_macos.level.yaml b/scripts/workstation_info_display_macos.level.yaml index e6c8acf..eba9496 100644 --- a/scripts/workstation_info_display_macos.level.yaml +++ b/scripts/workstation_info_display_macos.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Displays a popup dialog showing system information to the end user on macOS. Designed to be triggered from the RMM tray icon for user self-service. Provides quick access to basic system details without opening System Preferences. - + Usage Notes ----------- - Collects OS name/version (sw_vers), computer name (scutil), CPU/RAM (sysctl), IP address (ipconfig) - Builds and displays an AppleScript dialog with system information - Runs dialog in background so popup remains after script exits - Script exits immediately; popup stays open for the user - + Requirements ------------ - macOS 10.14 or later @@ -22,5 +22,5 @@ readme: | - AppleScript/osascript available (included in macOS) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OQ -lastPushedChecksum: sha256:1308f5b29f92137a -lastPushedMetaChecksum: sha256:b5fe06babde72053 +lastPushedChecksum: "sha256:1308f5b29f92137a" +lastPushedMetaChecksum: "sha256:679ba203f4465b0b" \ No newline at end of file diff --git a/scripts/workstation_oobe_seal.level.yaml b/scripts/workstation_oobe_seal.level.yaml index 1dd5306..307a375 100644 --- a/scripts/workstation_oobe_seal.level.yaml +++ b/scripts/workstation_oobe_seal.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Finishes provisioning an OEM Windows 11 machine that has been configured in audit mode. It removes any stale local admin account left over from a prior run, writes a sysprep answer file that auto-creates a local administrator and silently skips the out-of-box setup screens, then runs sysprep to generalize the image to OOBE and power the machine off. The next power-on runs a silent OOBE that creates the admin account, logs in once, and lands on the desktop. - + Usage Notes ----------- - Run interactively in audit mode as the built-in Administrator, NOT pushed by an RMM agent. The runAs enum is set to SYSTEM_USER as the closest match; the real context is the built-in Administrator on the audit-mode desktop from a USB. @@ -19,13 +19,13 @@ readme: | - AutoLogon enabled once (LogonCount = 1) for the new admin - The OOBE-skip works only because sysprep actively applies the answer file; dropping unattend.xml into C:\Windows\Panther or setting the ChildCompletion registry flag does NOT work on modern Windows 11 - Edit the CONFIG block before running: $adminName, $adminPassword, $timeZone - + Requirements ------------ - Windows 11 (OEM image), sitting in audit mode - Running interactively as the built-in Administrator (audit-mode desktop) - PowerShell 5.1+ with an elevated session - + Security -------- - The admin password is written in plain text into the answer file (a sysprep requirement). Sysprep deletes the answer file on successful generalize, but treat the configured password as sensitive. @@ -33,5 +33,5 @@ readme: | - Change or rotate the OOBE-created admin password after first logon per your provisioning policy. groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMA -lastPushedChecksum: sha256:131faea0ea03ff73 -lastPushedMetaChecksum: sha256:3218c39216b9cf87 +lastPushedChecksum: "sha256:131faea0ea03ff73" +lastPushedMetaChecksum: "sha256:7fa146dbae7cf2e5" \ No newline at end of file diff --git a/scripts/workstation_reboot_force.level.yaml b/scripts/workstation_reboot_force.level.yaml index b2891f2..cd99916 100644 --- a/scripts/workstation_reboot_force.level.yaml +++ b/scripts/workstation_reboot_force.level.yaml @@ -7,19 +7,19 @@ readme: | Purpose ------- Forces an immediate system reboot, closing all applications without saving or prompting. Designed for RMM deployment when a machine needs to be rebooted regardless of user activity or open applications. - + Usage Notes ----------- - Initiates forced immediate reboot via shutdown.exe - Force mode enabled: closes applications without prompting - Timeout: 0 seconds (immediate reboot) - Users will lose unsaved work - + Requirements ------------ - PowerShell 5.1 or later - Administrator privileges groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMQ -lastPushedChecksum: sha256:396ded2032104a45 -lastPushedMetaChecksum: sha256:593dcf9bfb3334f9 +lastPushedChecksum: "sha256:396ded2032104a45" +lastPushedMetaChecksum: "sha256:63abdff245ec4e06" \ No newline at end of file diff --git a/scripts/workstation_remote_wipe.level.yaml b/scripts/workstation_remote_wipe.level.yaml index 5ee576f..07f804f 100644 --- a/scripts/workstation_remote_wipe.level.yaml +++ b/scripts/workstation_remote_wipe.level.yaml @@ -7,20 +7,20 @@ readme: | Purpose ------- Initiates a remote wipe of the Windows device using the MDM RemoteWipe CSP. This completely erases all data on the device and resets it to factory state. WARNING: THIS ACTION IS IRREVERSIBLE. ALL DATA WILL BE PERMANENTLY DELETED. - + Usage Notes ----------- - Creates CIM session to local MDM namespace - Retrieves MDM_RemoteWipe instance and invokes doWipeMethod - Device begins factory reset process immediately - No configurable settings; wipe executes upon script run - + Requirements ------------ - Windows 10/11 (MDM enrolled or Azure AD joined) - Administrator privileges - Device must have MDM RemoteWipe capability - + Security -------- - Use only on lost/stolen devices or for secure decommissioning @@ -28,5 +28,5 @@ readme: | - Ensure proper authorization before running groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMg -lastPushedChecksum: sha256:ee9261e6127e7c42 -lastPushedMetaChecksum: sha256:b4f3ccbd95fa3ea6 +lastPushedChecksum: "sha256:ee9261e6127e7c42" +lastPushedMetaChecksum: "sha256:ed81699ea144dfae" \ No newline at end of file diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 7357b15..2321224 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Renames a Windows device using the pattern CLIENT3-USERUUID (max 15 chars) and syncs the same name to SuperOps. CLIENT3 is a 3-char abbreviation of the client name, USER is the sanitized username (maximized, truncated if needed), and UUID is the SMBIOS UUID tail (at least 3 chars). - + Usage Notes ----------- - Requires SuperOps runtime variables: @@ -19,7 +19,7 @@ readme: | - Always exactly 15 characters - SuperOps asset name updated via GraphQL API - Reboot required for hostname change to take effect - + Requirements ------------ - Windows 10/11 @@ -27,8 +27,8 @@ readme: | - SuperOps agent installed - Internet access for SuperOps API variables: -- name: YourApiKeyHere + - name: YourApiKeyHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw -lastPushedChecksum: sha256:d5996dd1d435f7a6 -lastPushedMetaChecksum: sha256:2030f4b2237f4528 +lastPushedChecksum: "sha256:d5996dd1d435f7a6" +lastPushedMetaChecksum: "sha256:8607275f4cc8dc83" \ No newline at end of file diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml index 35e4df8..3a24252 100644 --- a/scripts/workstation_rename_auto_macos.level.yaml +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Automatically renames a macOS device using a standardized naming pattern: CLIENT3-USER-UUID. Sets HostName, ComputerName, and LocalHostName. Designed for RMM deployment with automatic client/user detection. - + Usage Notes ----------- - Client name from RMM placeholder $YourClientNameHere (3-char abbreviation used) @@ -16,7 +16,7 @@ readme: | - Final hostname is exactly 15 characters (NetBIOS compatible) - Flushes DNS cache after rename - Skips rename if hostname already matches - + Requirements ------------ - macOS 10.14 or later @@ -24,5 +24,5 @@ readme: | - RMM variable $YourClientNameHere must be set groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNA -lastPushedChecksum: sha256:e20d54ceb44212c7 -lastPushedMetaChecksum: sha256:61983d88970fe242 +lastPushedChecksum: "sha256:e20d54ceb44212c7" +lastPushedMetaChecksum: "sha256:d29cd04959201a95" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 2a18050..9a2a69f 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Renames a Windows device using the pattern CLIENT-USERUUID (max 15 chars) and syncs the same name to SuperOps. CLIENT is a custom override from $YourCustomClientHere (variable length, sanitized A-Z0-9), falling back to $YourClientNameHere. USER is the sanitized username (maximized, truncated if needed), and UUID is the SMBIOS UUID tail (at least 3 chars). - + Usage Notes ----------- - Requires SuperOps runtime variables: @@ -20,7 +20,7 @@ readme: | - Always exactly 15 characters - SuperOps asset name updated via GraphQL API - Reboot required for hostname change to take effect - + Requirements ------------ - Windows 10/11 @@ -28,9 +28,9 @@ readme: | - SuperOps agent installed - Internet access for SuperOps API variables: -- name: YourApiKeyHere -- name: YourCustomClientHere + - name: YourApiKeyHere + - name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: sha256:2140a719a807fc81 -lastPushedMetaChecksum: sha256:3c56d6794802d9b0 +lastPushedChecksum: "sha256:2140a719a807fc81" +lastPushedMetaChecksum: "sha256:347fe028bd6e5d94" \ No newline at end of file diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index 93ea415..379d0f7 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Renames a macOS device using a custom client segment with standardized naming pattern: CLIENT-USER-UUID. Allows variable length client segment override. Sets HostName, ComputerName, and LocalHostName. Designed for RMM deployment with custom client naming. - + Usage Notes ----------- - Custom client from $YourCustomClientHere (variable length, primary) @@ -17,15 +17,15 @@ readme: | - Final hostname is exactly 15 characters (NetBIOS compatible) - Flushes DNS cache after rename - Skips rename if hostname already matches - + Requirements ------------ - macOS 10.14 or later - Root/sudo access - RMM variable $YourCustomClientHere or $YourClientNameHere must be set variables: -- name: YourCustomClientHere + - name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg -lastPushedChecksum: sha256:cf6852c71596e859 -lastPushedMetaChecksum: sha256:4a959f95de3ce49e +lastPushedChecksum: "sha256:cf6852c71596e859" +lastPushedMetaChecksum: "sha256:f3ba306ed24ddf0e" \ No newline at end of file diff --git a/scripts/workstation_screenshot_macos.level.yaml b/scripts/workstation_screenshot_macos.level.yaml index 1646842..44ab887 100644 --- a/scripts/workstation_screenshot_macos.level.yaml +++ b/scripts/workstation_screenshot_macos.level.yaml @@ -7,24 +7,24 @@ readme: | Purpose ------- Captures a screenshot on macOS and saves it with a timestamped filename. Uses the native screencapture utility for silent capture. Designed for RMM deployment to capture system state for troubleshooting. - + Usage Notes ----------- - Creates screenshot directory at /tmp/screenshots/ if it does not exist - Filename format: screenshot_YYYYMMDD_HHMMSS.png - Silent capture enabled (-x flag, no shutter sound) - Screenshots saved to /tmp (auto-cleaned on reboot) - + Requirements ------------ - macOS 10.12 or later - screencapture utility (standard macOS component) - Screen Recording permission may be required (System Preferences > Security) - + Security -------- - May capture sensitive on-screen content groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNw -lastPushedChecksum: sha256:68e461f9f17d2d4c -lastPushedMetaChecksum: sha256:a2bf54db73b133ee +lastPushedChecksum: "sha256:68e461f9f17d2d4c" +lastPushedMetaChecksum: "sha256:fd34fd5689266dca" \ No newline at end of file diff --git a/scripts/workstation_uptime_reboot_macos.level.yaml b/scripts/workstation_uptime_reboot_macos.level.yaml index 44ffc14..92618ea 100644 --- a/scripts/workstation_uptime_reboot_macos.level.yaml +++ b/scripts/workstation_uptime_reboot_macos.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Automatically reboots a macOS or Linux system if the uptime exceeds a specified threshold (default: 14 days). Useful for ensuring systems are restarted periodically to apply updates and clear memory. - + Usage Notes ----------- - Detects operating system (Linux or macOS) @@ -16,7 +16,7 @@ readme: | - Default maximum uptime: 14 days - Linux: Reads uptime from /proc/uptime - macOS: Uses sysctl kern.boottime - + Requirements ------------ - macOS or Linux with /proc/uptime (Linux) or sysctl (macOS) @@ -24,5 +24,5 @@ readme: | - max_uptime_days: Days before triggering reboot (default: 14) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwOA -lastPushedChecksum: sha256:3ba41914e543c9d9 -lastPushedMetaChecksum: sha256:b5fa780d48e91a3a +lastPushedChecksum: "sha256:3ba41914e543c9d9" +lastPushedMetaChecksum: "sha256:3b05bdad507cddbd" \ No newline at end of file From faaf04fa6efe3ed8bfb01e6b4d4610c134cf923a Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:53:06 -0400 Subject: [PATCH 04/36] smoke: temp script with two runtime variables --- scripts/zz_lss_var_smoke.level.yaml | 10 ++++++++++ scripts/zz_lss_var_smoke.ps1 | 1 + 2 files changed, 11 insertions(+) create mode 100644 scripts/zz_lss_var_smoke.level.yaml create mode 100644 scripts/zz_lss_var_smoke.ps1 diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml new file mode 100644 index 0000000..247e5c5 --- /dev/null +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -0,0 +1,10 @@ +name: zz_lss_var_smoke.ps1 +description: temporary variable smoke test +shell: POWERSHELL +runAs: SYSTEM +timeout: 30 +variables: +- name: SmokeToken + description: first var +- name: DropMe + description: will be removed diff --git a/scripts/zz_lss_var_smoke.ps1 b/scripts/zz_lss_var_smoke.ps1 new file mode 100644 index 0000000..2a1ce8c --- /dev/null +++ b/scripts/zz_lss_var_smoke.ps1 @@ -0,0 +1 @@ +Write-Output "var smoke $env:SmokeToken" From 48b8071c71cd473104de86115b6bbedfe62b2c34 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 10 Jul 2026 01:53:18 -0500 Subject: [PATCH 05/36] chore: sync scripts [smart-sync] --- scripts/zz_lss_var_smoke.level.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml index 247e5c5..e658a99 100644 --- a/scripts/zz_lss_var_smoke.level.yaml +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -4,7 +4,11 @@ shell: POWERSHELL runAs: SYSTEM timeout: 30 variables: -- name: SmokeToken - description: first var -- name: DropMe - description: will be removed + - name: SmokeToken + description: first var + - name: DropMe + description: will be removed +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQxMQ +lastPushedChecksum: "sha256:be98ae85f54b8f05" +lastPushedMetaChecksum: "sha256:5fbf88105e3c56cc" \ No newline at end of file From a06093e062d605b87e191a628e4f42b92811eaa5 Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:53:30 -0400 Subject: [PATCH 06/36] smoke: change one variable, drop the other --- scripts/zz_lss_var_smoke.level.yaml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml index e658a99..c65e6fb 100644 --- a/scripts/zz_lss_var_smoke.level.yaml +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -4,11 +4,6 @@ shell: POWERSHELL runAs: SYSTEM timeout: 30 variables: - - name: SmokeToken - description: first var - - name: DropMe - description: will be removed -groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU -scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQxMQ -lastPushedChecksum: "sha256:be98ae85f54b8f05" -lastPushedMetaChecksum: "sha256:5fbf88105e3c56cc" \ No newline at end of file +- name: SmokeToken + description: CHANGED description + From c7b260624526919250631356c51dbf1e209371bc Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:53:58 -0400 Subject: [PATCH 07/36] smoke: change one variable, drop the other --- scripts/zz_lss_var_smoke.level.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml index c65e6fb..059923e 100644 --- a/scripts/zz_lss_var_smoke.level.yaml +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -6,4 +6,3 @@ timeout: 30 variables: - name: SmokeToken description: CHANGED description - From 17f97e0bfa7a12508ed80b17117ba5374d8e67c5 Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:54:19 -0400 Subject: [PATCH 08/36] smoke: relink + change one variable, drop the other --- scripts/zz_lss_var_smoke.level.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml index 059923e..bb5432f 100644 --- a/scripts/zz_lss_var_smoke.level.yaml +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -6,3 +6,4 @@ timeout: 30 variables: - name: SmokeToken description: CHANGED description +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQxMQ From 66f4aa5c571416f7061d2d7b11185ce6182bfaff Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 10 Jul 2026 01:54:31 -0500 Subject: [PATCH 09/36] chore: sync scripts [smart-sync] --- scripts/zz_lss_var_smoke.level.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml index bb5432f..7625af4 100644 --- a/scripts/zz_lss_var_smoke.level.yaml +++ b/scripts/zz_lss_var_smoke.level.yaml @@ -4,6 +4,9 @@ shell: POWERSHELL runAs: SYSTEM timeout: 30 variables: -- name: SmokeToken - description: CHANGED description + - name: SmokeToken + description: CHANGED description +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQxMQ +lastPushedChecksum: "sha256:be98ae85f54b8f05" +lastPushedMetaChecksum: "sha256:f99719af82af8cd2" \ No newline at end of file From 16f8f5cc834e6865332fd737537fc1b9f5c76771 Mon Sep 17 00:00:00 2001 From: limehawk Date: Fri, 10 Jul 2026 02:56:33 -0400 Subject: [PATCH 10/36] fix: remove mis-mapped script variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Level script variables are OUTPUT capture slots, not inputs — per Level's docs: 'Script variables are for capturing output, not supplying input.' Data is passed INTO a script via system variables / custom fields interpolated in the body. The previous commit mapped this repo's input placeholders onto those output slots, which created 43 meaningless empty slots and did nothing to supply the scripts their inputs. Reverting that mapping; description, timeout and readme backfills are correct and stay. The 43 scripts that take inputs still need porting to Level's {{...}} custom field / system variable syntax. Also drops the temporary variable smoke script. --- scripts/cloudflared_install.level.yaml | 2 -- scripts/delprof2_old_profiles_delete.level.yaml | 2 -- scripts/delprof2_selected_profile_keep.level.yaml | 2 -- scripts/delprof2_specific_profile_delete.level.yaml | 2 -- scripts/directory_cleanup.level.yaml | 3 --- scripts/directory_size_analyze.level.yaml | 2 -- scripts/dns_set_provider.level.yaml | 2 -- scripts/files_rename_snake_case.level.yaml | 2 -- scripts/gcpw_install.level.yaml | 3 --- scripts/huntress_install_macos.level.yaml | 4 ---- scripts/local_user_admin_create.level.yaml | 2 -- scripts/local_user_admin_setup.level.yaml | 3 --- scripts/local_user_admin_toggle.level.yaml | 2 -- scripts/local_user_create.level.yaml | 3 --- scripts/local_user_delete.level.yaml | 2 -- scripts/local_user_disable.level.yaml | 2 -- scripts/maintenance_reboot.level.yaml | 3 --- scripts/mrt_scan.level.yaml | 2 -- scripts/msi_url_install.level.yaml | 2 -- scripts/nirsoft_uninstall_view.level.yaml | 2 -- scripts/password_files_search.level.yaml | 2 -- scripts/password_files_tickets_search.level.yaml | 3 --- scripts/prinstall_add.level.yaml | 5 ----- scripts/prinstall_driver_add.level.yaml | 3 --- scripts/prinstall_driver_remove.level.yaml | 2 -- scripts/prinstall_drivers.level.yaml | 3 --- scripts/prinstall_id.level.yaml | 2 -- scripts/prinstall_remove.level.yaml | 2 -- scripts/prinstall_scan.level.yaml | 3 --- scripts/prinstall_setup.level.yaml | 2 -- scripts/prinstall_trust_codesign.level.yaml | 2 -- scripts/restic_b2_backup_install.level.yaml | 6 ------ scripts/rustic_install.level.yaml | 11 ----------- scripts/rustic_install_unix.level.yaml | 11 ----------- scripts/rustic_restore.level.yaml | 4 ---- scripts/rustic_restore_unix.level.yaml | 4 ---- scripts/sentinelone_install.level.yaml | 2 -- scripts/superops_service_restart.level.yaml | 2 -- scripts/terminated_user_lockout.level.yaml | 2 -- scripts/winget_package_install.level.yaml | 2 -- scripts/workstation_rename_auto.level.yaml | 2 -- scripts/workstation_rename_manual.level.yaml | 3 --- scripts/workstation_rename_manual_macos.level.yaml | 2 -- scripts/zz_lss_var_smoke.level.yaml | 12 ------------ scripts/zz_lss_var_smoke.ps1 | 1 - 45 files changed, 140 deletions(-) delete mode 100644 scripts/zz_lss_var_smoke.level.yaml delete mode 100644 scripts/zz_lss_var_smoke.ps1 diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index 3e84d73..a59129c 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -35,8 +35,6 @@ readme: | - No secrets in logs - Connector token is never printed; if it appears in an error message it is masked as **** - Runtime variable validated against unreplaced placeholder -variables: - - name: CloudflaredTunnelToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA lastPushedChecksum: "sha256:13f478410f8c5064" diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index 340fc2d..a485809 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -26,8 +26,6 @@ readme: | Security -------- - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered -variables: - - name: days_old groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA lastPushedChecksum: "sha256:106abf51d75cdcc5" diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 7843006..2084dbf 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -25,8 +25,6 @@ readme: | Security -------- - DESTRUCTIVE OPERATION - deleted profiles cannot be recovered -variables: - - name: profile_to_keep groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng lastPushedChecksum: "sha256:e42a9370705203ab" diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index fb6a38a..2ddd2e5 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -27,8 +27,6 @@ readme: | -------- - DESTRUCTIVE OPERATION - deleted profile cannot be recovered - Refuses to delete protected profiles (gaia, administrator) -variables: - - name: profile_to_delete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw lastPushedChecksum: "sha256:15ac32c141b8896a" diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index 99eb06e..21c0219 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -19,9 +19,6 @@ readme: | - Windows OS - Runtime variable: $runtime_folderPath (path to the folder to clean up) - Runtime variable: $runtime_days (number of days old a file must be to be deleted) -variables: - - name: runtime_folderPath - - name: runtime_days groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA lastPushedChecksum: "sha256:c4b0a0caf6528904" diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index 1e53713..4d9bc49 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -24,8 +24,6 @@ readme: | - Internet access to reach github.com for initial download - Write permissions to the cache directory - Runtime variable: $YourTargetDirectoryHere (target directory to scan) -variables: - - name: YourTargetDirectoryHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ lastPushedChecksum: "sha256:341a3b130cb083e0" diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index 558eccf..b1462ae 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -39,8 +39,6 @@ readme: | - Windows 10 1809+ / Windows Server 2019+ - SYSTEM or Administrator privileges - At least one active Ethernet or Wi-Fi adapter -variables: - - name: DnsProviderSelection groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng lastPushedChecksum: "sha256:c5ae635e195d07c1" diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index 73a283e..b45992a 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -23,8 +23,6 @@ readme: | - Windows 10/11 - Write permissions to target directory - PowerShell 5.1+ -variables: - - name: YourTargetPathHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ lastPushedChecksum: "sha256:1667beeb231b76e8" diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index 2a5eb2d..3749831 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -29,9 +29,6 @@ readme: | -------- - Enrollment token should be kept confidential - Only listed domains will be allowed to login -variables: - - name: YourDomainsHere - - name: YourEnrollmentTokenHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg lastPushedChecksum: "sha256:6a01156dccfaf3c8" diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index 72ccc43..c861132 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -34,10 +34,6 @@ readme: | -------- - Account key is masked in logs (shows first/last 4 chars only) - Installer downloaded over HTTPS -variables: - - name: ACCOUNT_KEY - - name: ORG_KEY - - name: INSTALL_SYSTEM_EXTENSION groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ lastPushedChecksum: "sha256:910ea6231cde662c" diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 9ef8116..09d55be 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -27,8 +27,6 @@ readme: | -------- - Password generated using RNGCryptoServiceProvider - Consider storing password securely in RMM custom fields -variables: - - name: NewAdminUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA lastPushedChecksum: "sha256:b00a562a4847602e" diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index be2cc75..daff4ab 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -30,9 +30,6 @@ readme: | - Windows policy restricts blank password logon to the physical console only - Network logon with blank password is blocked by default - Employee must set a password at first interactive logon -variables: - - name: NewAdminUsername - - name: NewAdminFullName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ lastPushedChecksum: "sha256:5b01541855959832" diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 459ae9f..924f579 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -23,8 +23,6 @@ readme: | - Windows 10/11 - Admin privileges required - Target user must exist locally -variables: - - name: TargetUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA lastPushedChecksum: "sha256:d8f47d2d007aaf4c" diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index 49e26dc..ce4a808 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -27,9 +27,6 @@ readme: | Security -------- - Password visible in script -- use RMM variables for production -variables: - - name: NewUsername - - name: NewPassword groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ lastPushedChecksum: "sha256:67aa5c484662ae59" diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index ea9042e..93599a7 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -27,8 +27,6 @@ readme: | -------- - Destructive operation -- data cannot be recovered - Backup important data before running -variables: - - name: UsernameToDelete groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg lastPushedChecksum: "sha256:16d8ccc7f3be11d4" diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index 308e503..aa503b5 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -23,8 +23,6 @@ readme: | - Administrator privileges - PowerShell 5.1+ - $UsernameToDisable: local username to disable (SuperOps runtime variable) -variables: - - name: UsernameToDisable groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw lastPushedChecksum: "sha256:0f2f743bc9b235f6" diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index 6c5da61..c774751 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -27,9 +27,6 @@ readme: | Security -------- - Force mode will not prompt users -- use for empty machines only -variables: - - name: graceful_true_or_false - - name: maxuptimedays groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index 0e1d8ad..cf318a6 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -24,8 +24,6 @@ readme: | - PowerShell 5.1+ - SuperOps module available via $SuperOpsModule variable - $ScanMode set to Quick or Full (case-insensitive) -variables: - - name: QuickOrFull groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng lastPushedChecksum: "sha256:869633f2768cf87a" diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index c899f1d..d8f5c6d 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -22,8 +22,6 @@ readme: | - Admin rights - Network connectivity - $MsiScriptUrl set to the full URL of the MSI file (via SuperOps $MSIURL) -variables: - - name: MSIURL groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw lastPushedChecksum: "sha256:11645faa554f4b42" diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index cce0e95..2f25cdc 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -24,8 +24,6 @@ readme: | - Administrator privileges - Internet connectivity (downloads from official NirSoft website) - $YourAppPatternHere: application name or pattern to uninstall (SuperOps runtime variable) -variables: - - name: YourAppPatternHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA lastPushedChecksum: "sha256:87cabcfd5f2ac46f" diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index 431893a..8306cb1 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -25,8 +25,6 @@ readme: | - PowerShell 5.1 or later - Administrator privileges (to access other user profiles) - SuperOps runtime variable: GoogleChatWebhook (optional) -variables: - - name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg lastPushedChecksum: "sha256:74b41d5efc2d9aad" diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index 0b63534..c55bf75 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -30,9 +30,6 @@ readme: | Security -------- - API key should be stored securely in SuperOps variables -variables: - - name: SuperOpsApiKey - - name: GoogleChatWebhook groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw lastPushedChecksum: "sha256:e3aaedff2a6342a9" diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 02ca6ea..2dacff0 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -27,11 +27,6 @@ readme: | - $YourUsbQueueNameHere: Existing USB queue name (USB mode) - $YourDriverNameHere: (optional) Specific driver name - $YourPrinterNameHere: (optional) Display name for the printer -variables: - - name: YourPrinterIpHere - - name: YourUsbQueueNameHere - - name: YourDriverNameHere - - name: YourPrinterNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg lastPushedChecksum: "sha256:14ba5595155d0539" diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index 50c7b73..2d280ce 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -23,9 +23,6 @@ readme: | - Internet connectivity (model-string targets only) - $YourDriverTargetHere: Path or model string - $YourDriverNameHere: (optional) Explicit driver pick for model targets -variables: - - name: YourDriverTargetHere - - name: YourDriverNameHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw lastPushedChecksum: "sha256:a65408cecc70eaf4" diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index fb15fd9..58bbf63 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -21,8 +21,6 @@ readme: | - Administrator privileges - prinstall.exe 0.4.13 or newer installed - $YourDriverTargetHere: Exact driver name OR fuzzy/model string -variables: - - name: YourDriverTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ lastPushedChecksum: "sha256:2807dd15e3ce2e70" diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index f9a564f..b8229a3 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -24,9 +24,6 @@ readme: | - UDP 161 (SNMP) reachable OR a known model string passed via $YourModelHere - $YourIpHere: IPv4 address of the target printer (required) - $YourModelHere: Optional model override — leave blank for SNMP auto-detect -variables: - - name: YourIpHere - - name: YourModelHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg lastPushedChecksum: "sha256:460ee74ac32197ed" diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index b09a88b..bc3d06e 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -22,8 +22,6 @@ readme: | - Network access to the target printer - UDP 161 (SNMP) open to the printer - $YourIpHere: Target printer IP address (e.g. 192.168.1.10) -variables: - - name: YourIpHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw lastPushedChecksum: "sha256:6b982f78a98d4882" diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index fb9b8ff..151f991 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -27,8 +27,6 @@ readme: | - Administrator privileges - prinstall.exe 0.3.0 or newer installed - $YourPrinterTargetHere: Printer IP (e.g. "192.168.1.50") or exact queue name -variables: - - name: YourPrinterTargetHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ lastPushedChecksum: "sha256:d68a04864344e349" diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index 4534adc..499f79d 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -24,9 +24,6 @@ readme: | - UDP 5353 (mDNS) allowed on the NIC — created by prinstall_setup.ps1 - $YourSubnetHere: Subnet in CIDR notation (e.g. 192.168.1.0/24) or blank for auto-detect - $ScanModeAllNetworkUsb: 'all' / 'network' / 'usb' — blank defaults to 'all' (full network + USB scan). 'usb' ignores $YourSubnetHere. -variables: - - name: YourSubnetHere - - name: ScanModeAllNetworkUsb groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA lastPushedChecksum: "sha256:97d57bd6f9b1475b" diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 7d2bac5..4ce56b0 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -21,8 +21,6 @@ readme: | - Windows OS - Administrator privileges (required to modify machine PATH and firewall rules) - Internet connectivity to github.com (install only) -variables: - - name: InstallOrUninstall groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ lastPushedChecksum: "sha256:91001c70808f9cc5" diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index 8deeda4..95d2cf5 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -28,8 +28,6 @@ readme: | - Windows OS - Administrator / SYSTEM privileges (LocalMachine stores require elevation) - prinstall-codesign.cer accessible (co-located with script, or via CertPath) -variables: - - name: CertPath groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg lastPushedChecksum: "sha256:cb3d19fc839edbb8" diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index b51d112..d3b78e7 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -34,12 +34,6 @@ readme: | - B2 credentials are embedded in the generated backup script - Install directory is ACL-locked to SYSTEM + Administrators - Repo password encrypts all backup data at rest -variables: - - name: B2KeyId - - name: B2AppKey - - name: B2BucketName - - name: RepoPassword - - name: ClientName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ lastPushedChecksum: "sha256:c09fd6b042b511b6" diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index 2c99588..b139a8f 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -40,17 +40,6 @@ readme: | - Install directory is ACL-locked to SYSTEM + Administrators - Repo password encrypts all backup data at rest - No secrets printed to console output -variables: - - name: YourBackendType - - name: YourBackendPath - - name: YourRepoPassword - - name: YourClientName - - name: YourBackendKeyId - - name: YourBackendAppKey - - name: YourBackendRegion - - name: YourBackupPaths - - name: YourExcludePatterns - - name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index a8165b1..c6b2f75 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -42,17 +42,6 @@ readme: | - Config directory is chmod 700, config file is chmod 600 - Repo password encrypts all backup data at rest - No secrets printed to console output -variables: - - name: YourBackendType - - name: YourBackendPath - - name: YourRepoPassword - - name: YourClientName - - name: YourBackendKeyId - - name: YourBackendAppKey - - name: YourBackendRegion - - name: YourBackupPaths - - name: YourExcludePatterns - - name: YourBackupHour groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index dc05fd2..7477a08 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -24,10 +24,6 @@ readme: | - rustic_install.ps1 previously deployed (binary and config must exist) - SuperOps runtime variables: YourRestorePath, YourDestination - Optional: YourSnapshotId (defaults to "latest") -variables: - - name: YourSnapshotId - - name: YourRestorePath - - name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg lastPushedChecksum: "sha256:59f81da920ec0a94" diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index 2a50736..ac32460 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -30,10 +30,6 @@ readme: | -------- - No credentials are passed on the command line - rustic reads backend credentials exclusively from the TOML config file -variables: - - name: YourSnapshotId - - name: YourRestorePath - - name: YourDestination groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index 94f8f08..51c03e9 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -29,8 +29,6 @@ readme: | -------- - Site token is embedded in script -- protect accordingly - Default CDN URL uses HTTPS -variables: - - name: SiteToken groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA lastPushedChecksum: "sha256:aab2ea4bf232ddc9" diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index 9610a17..188e14c 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -24,8 +24,6 @@ readme: | - Administrator privileges - PowerShell 5.1+ - Target RMM agent installed (matching services must exist) -variables: - - name: YourServiceFilterHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng lastPushedChecksum: "sha256:21071e206631d4f0" diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index f483749..0dd5fec 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -24,8 +24,6 @@ readme: | - Administrator privileges - PowerShell 5.1+ - $TerminatedUsername: local username to lock out (SuperOps runtime variable) -variables: - - name: TerminatedUsername groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA lastPushedChecksum: "sha256:a2fc53f08fbbf738" diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index 0b6ba8a..8572c24 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -21,8 +21,6 @@ readme: | - Winget must be installed (use winget_setup first) - Administrator privileges recommended - Internet connectivity -variables: - - name: PackageName groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA lastPushedChecksum: "sha256:81593e032c1092d2" diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 2321224..0d0663f 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -26,8 +26,6 @@ readme: | - Administrator privileges - SuperOps agent installed - Internet access for SuperOps API -variables: - - name: YourApiKeyHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw lastPushedChecksum: "sha256:d5996dd1d435f7a6" diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 9a2a69f..dec0fe2 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -27,9 +27,6 @@ readme: | - Administrator privileges - SuperOps agent installed - Internet access for SuperOps API -variables: - - name: YourApiKeyHere - - name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ lastPushedChecksum: "sha256:2140a719a807fc81" diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index 379d0f7..e8a1d71 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -23,8 +23,6 @@ readme: | - macOS 10.14 or later - Root/sudo access - RMM variable $YourCustomClientHere or $YourClientNameHere must be set -variables: - - name: YourCustomClientHere groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg lastPushedChecksum: "sha256:cf6852c71596e859" diff --git a/scripts/zz_lss_var_smoke.level.yaml b/scripts/zz_lss_var_smoke.level.yaml deleted file mode 100644 index 7625af4..0000000 --- a/scripts/zz_lss_var_smoke.level.yaml +++ /dev/null @@ -1,12 +0,0 @@ -name: zz_lss_var_smoke.ps1 -description: temporary variable smoke test -shell: POWERSHELL -runAs: SYSTEM -timeout: 30 -variables: - - name: SmokeToken - description: CHANGED description -groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU -scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQxMQ -lastPushedChecksum: "sha256:be98ae85f54b8f05" -lastPushedMetaChecksum: "sha256:f99719af82af8cd2" \ No newline at end of file diff --git a/scripts/zz_lss_var_smoke.ps1 b/scripts/zz_lss_var_smoke.ps1 deleted file mode 100644 index 2a1ce8c..0000000 --- a/scripts/zz_lss_var_smoke.ps1 +++ /dev/null @@ -1 +0,0 @@ -Write-Output "var smoke $env:SmokeToken" From b583095ba172ac5d90a08e70987393d4e682f016 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 10 Jul 2026 01:57:17 -0500 Subject: [PATCH 11/36] chore: sync scripts [smart-sync] --- scripts/cloudflared_install.level.yaml | 2 +- scripts/delprof2_old_profiles_delete.level.yaml | 2 +- scripts/delprof2_selected_profile_keep.level.yaml | 2 +- scripts/delprof2_specific_profile_delete.level.yaml | 2 +- scripts/directory_cleanup.level.yaml | 2 +- scripts/directory_size_analyze.level.yaml | 2 +- scripts/dns_set_provider.level.yaml | 2 +- scripts/files_rename_snake_case.level.yaml | 2 +- scripts/gcpw_install.level.yaml | 2 +- scripts/huntress_install_macos.level.yaml | 2 +- scripts/local_user_admin_create.level.yaml | 2 +- scripts/local_user_admin_setup.level.yaml | 2 +- scripts/local_user_admin_toggle.level.yaml | 2 +- scripts/local_user_create.level.yaml | 2 +- scripts/local_user_delete.level.yaml | 2 +- scripts/local_user_disable.level.yaml | 2 +- scripts/maintenance_reboot.level.yaml | 2 +- scripts/mrt_scan.level.yaml | 2 +- scripts/msi_url_install.level.yaml | 2 +- scripts/nirsoft_uninstall_view.level.yaml | 2 +- scripts/password_files_search.level.yaml | 2 +- scripts/password_files_tickets_search.level.yaml | 2 +- scripts/prinstall_add.level.yaml | 2 +- scripts/prinstall_driver_add.level.yaml | 2 +- scripts/prinstall_driver_remove.level.yaml | 2 +- scripts/prinstall_drivers.level.yaml | 2 +- scripts/prinstall_id.level.yaml | 2 +- scripts/prinstall_remove.level.yaml | 2 +- scripts/prinstall_scan.level.yaml | 2 +- scripts/prinstall_setup.level.yaml | 2 +- scripts/prinstall_trust_codesign.level.yaml | 2 +- scripts/restic_b2_backup_install.level.yaml | 2 +- scripts/rustic_install.level.yaml | 2 +- scripts/rustic_install_unix.level.yaml | 2 +- scripts/rustic_restore.level.yaml | 2 +- scripts/rustic_restore_unix.level.yaml | 2 +- scripts/sentinelone_install.level.yaml | 2 +- scripts/superops_service_restart.level.yaml | 2 +- scripts/terminated_user_lockout.level.yaml | 2 +- scripts/winget_package_install.level.yaml | 2 +- scripts/workstation_rename_auto.level.yaml | 2 +- scripts/workstation_rename_manual.level.yaml | 2 +- scripts/workstation_rename_manual_macos.level.yaml | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index a59129c..bdcb783 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -38,4 +38,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA lastPushedChecksum: "sha256:13f478410f8c5064" -lastPushedMetaChecksum: "sha256:41ac2c5193674e37" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ba018a9e7adb5b92" \ No newline at end of file diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index a485809..1413b49 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA lastPushedChecksum: "sha256:106abf51d75cdcc5" -lastPushedMetaChecksum: "sha256:45eda28e538bbc87" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d9fdd5d63294ca9e" \ No newline at end of file diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 2084dbf..349e788 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng lastPushedChecksum: "sha256:e42a9370705203ab" -lastPushedMetaChecksum: "sha256:49643449ff35aa03" \ No newline at end of file +lastPushedMetaChecksum: "sha256:572e8015dee88a15" \ No newline at end of file diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index 2ddd2e5..f7662b4 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw lastPushedChecksum: "sha256:15ac32c141b8896a" -lastPushedMetaChecksum: "sha256:9c5478b2c6449217" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a42c298c23cea937" \ No newline at end of file diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index 21c0219..c968a21 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA lastPushedChecksum: "sha256:c4b0a0caf6528904" -lastPushedMetaChecksum: "sha256:1f6a7057f5136bfa" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fb22272bec6215ce" \ No newline at end of file diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index 4d9bc49..0588f6a 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ lastPushedChecksum: "sha256:341a3b130cb083e0" -lastPushedMetaChecksum: "sha256:146b1ba375ba3718" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d740248d376892ab" \ No newline at end of file diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index b1462ae..299c9a0 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -42,4 +42,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng lastPushedChecksum: "sha256:c5ae635e195d07c1" -lastPushedMetaChecksum: "sha256:1f9fcc34a71f8c97" \ No newline at end of file +lastPushedMetaChecksum: "sha256:edee716431ef2deb" \ No newline at end of file diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index b45992a..b425a02 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ lastPushedChecksum: "sha256:1667beeb231b76e8" -lastPushedMetaChecksum: "sha256:bc3b55f30c8a680c" \ No newline at end of file +lastPushedMetaChecksum: "sha256:38abe9b846465d0a" \ No newline at end of file diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index 3749831..ac8e32f 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg lastPushedChecksum: "sha256:6a01156dccfaf3c8" -lastPushedMetaChecksum: "sha256:880437223931dfcc" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a9ec0b2d333b14bf" \ No newline at end of file diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index c861132..9c1be7f 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ lastPushedChecksum: "sha256:910ea6231cde662c" -lastPushedMetaChecksum: "sha256:73eff8d4395d583a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:cf1fc4bd3a3a1c35" \ No newline at end of file diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 09d55be..2cb2b16 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA lastPushedChecksum: "sha256:b00a562a4847602e" -lastPushedMetaChecksum: "sha256:61d433d4a7a80a87" \ No newline at end of file +lastPushedMetaChecksum: "sha256:241645aa6bfd890b" \ No newline at end of file diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index daff4ab..0d91299 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ lastPushedChecksum: "sha256:5b01541855959832" -lastPushedMetaChecksum: "sha256:86171da53af2f9b2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1c72174e543e1731" \ No newline at end of file diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 924f579..0ffdef1 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA lastPushedChecksum: "sha256:d8f47d2d007aaf4c" -lastPushedMetaChecksum: "sha256:54181962d9b2027c" \ No newline at end of file +lastPushedMetaChecksum: "sha256:494d6feb83a14b40" \ No newline at end of file diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index ce4a808..079f419 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ lastPushedChecksum: "sha256:67aa5c484662ae59" -lastPushedMetaChecksum: "sha256:94771c55fb5c84e7" \ No newline at end of file +lastPushedMetaChecksum: "sha256:89d9aaffbc8fed54" \ No newline at end of file diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index 93599a7..6ce46a2 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg lastPushedChecksum: "sha256:16d8ccc7f3be11d4" -lastPushedMetaChecksum: "sha256:0f393df64c07732d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a325fb28b11f0ce2" \ No newline at end of file diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index aa503b5..d4d5a1e 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw lastPushedChecksum: "sha256:0f2f743bc9b235f6" -lastPushedMetaChecksum: "sha256:eba8d0314e5c6723" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9a37c1c75575a4df" \ No newline at end of file diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index c774751..f9b6514 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" -lastPushedMetaChecksum: "sha256:85c1b2921e55f927" \ No newline at end of file +lastPushedMetaChecksum: "sha256:618331f409f4f889" \ No newline at end of file diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index cf318a6..d6cd1eb 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng lastPushedChecksum: "sha256:869633f2768cf87a" -lastPushedMetaChecksum: "sha256:298ebcaea2f0aeee" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4ee3e8c4af33ca70" \ No newline at end of file diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index d8f5c6d..c14f3c3 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw lastPushedChecksum: "sha256:11645faa554f4b42" -lastPushedMetaChecksum: "sha256:be454a596a8cd0fc" \ No newline at end of file +lastPushedMetaChecksum: "sha256:489960dffd29ead2" \ No newline at end of file diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index 2f25cdc..2912e47 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA lastPushedChecksum: "sha256:87cabcfd5f2ac46f" -lastPushedMetaChecksum: "sha256:b04fe16c62d6bfe6" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ca0f735ecce6019d" \ No newline at end of file diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index 8306cb1..2ffdec5 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg lastPushedChecksum: "sha256:74b41d5efc2d9aad" -lastPushedMetaChecksum: "sha256:ed1aba780cad8382" \ No newline at end of file +lastPushedMetaChecksum: "sha256:91cba42e8343ac7b" \ No newline at end of file diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index c55bf75..b6f5fc1 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw lastPushedChecksum: "sha256:e3aaedff2a6342a9" -lastPushedMetaChecksum: "sha256:0f4362f9c256c817" \ No newline at end of file +lastPushedMetaChecksum: "sha256:27002e1694dcb0a0" \ No newline at end of file diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 2dacff0..7d344c1 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg lastPushedChecksum: "sha256:14ba5595155d0539" -lastPushedMetaChecksum: "sha256:beb21cab1348b941" \ No newline at end of file +lastPushedMetaChecksum: "sha256:e630c4ad4b9ae2cd" \ No newline at end of file diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index 2d280ce..558c58e 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw lastPushedChecksum: "sha256:a65408cecc70eaf4" -lastPushedMetaChecksum: "sha256:0db8b2b55018917e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:77ae1b2ff2bf4f61" \ No newline at end of file diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index 58bbf63..445a0f2 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ lastPushedChecksum: "sha256:2807dd15e3ce2e70" -lastPushedMetaChecksum: "sha256:c808174fcacfa6d9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:db07b80458ac8286" \ No newline at end of file diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index b8229a3..7065859 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg lastPushedChecksum: "sha256:460ee74ac32197ed" -lastPushedMetaChecksum: "sha256:87a5edca23c67935" \ No newline at end of file +lastPushedMetaChecksum: "sha256:61fa798a39562fda" \ No newline at end of file diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index bc3d06e..33dd3f7 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw lastPushedChecksum: "sha256:6b982f78a98d4882" -lastPushedMetaChecksum: "sha256:3ed01cf300eeb016" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c8a33ccaad71fbc6" \ No newline at end of file diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index 151f991..cd55ba6 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ lastPushedChecksum: "sha256:d68a04864344e349" -lastPushedMetaChecksum: "sha256:ad6e4f3a01fab412" \ No newline at end of file +lastPushedMetaChecksum: "sha256:bbbe5385fb443d78" \ No newline at end of file diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index 499f79d..e4f9265 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA lastPushedChecksum: "sha256:97d57bd6f9b1475b" -lastPushedMetaChecksum: "sha256:e5dff4946008a525" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7d7bff57520ae681" \ No newline at end of file diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 4ce56b0..149f156 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ lastPushedChecksum: "sha256:91001c70808f9cc5" -lastPushedMetaChecksum: "sha256:47d407fa0a966e32" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3f8b297f1f1ab936" \ No newline at end of file diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index 95d2cf5..044b20d 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -31,4 +31,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg lastPushedChecksum: "sha256:cb3d19fc839edbb8" -lastPushedMetaChecksum: "sha256:3cdec3d18899e001" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0c37ebcebad3fe24" \ No newline at end of file diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index d3b78e7..c4af40b 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ lastPushedChecksum: "sha256:c09fd6b042b511b6" -lastPushedMetaChecksum: "sha256:2198efbe56d0dc69" \ No newline at end of file +lastPushedMetaChecksum: "sha256:e7ebd95472fa2496" \ No newline at end of file diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index b139a8f..5c4bdab 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -43,4 +43,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" -lastPushedMetaChecksum: "sha256:7d3711ce667b8853" \ No newline at end of file +lastPushedMetaChecksum: "sha256:bc1adbefaee5749d" \ No newline at end of file diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index c6b2f75..fe1b867 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -45,4 +45,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" -lastPushedMetaChecksum: "sha256:c0c17cf9df9023a4" \ No newline at end of file +lastPushedMetaChecksum: "sha256:bc01bc39e7a9d3bd" \ No newline at end of file diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index 7477a08..c1f7f02 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg lastPushedChecksum: "sha256:59f81da920ec0a94" -lastPushedMetaChecksum: "sha256:ffc3dd92fc7b2b31" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d047dd3660db230a" \ No newline at end of file diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index ac32460..062c457 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" -lastPushedMetaChecksum: "sha256:8863a1063681715e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6b0c0403b6e993ca" \ No newline at end of file diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index 51c03e9..ba43eaf 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA lastPushedChecksum: "sha256:aab2ea4bf232ddc9" -lastPushedMetaChecksum: "sha256:85102e04b3eff31a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d2d9aa4d51bd367e" \ No newline at end of file diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index 188e14c..d049c0d 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng lastPushedChecksum: "sha256:21071e206631d4f0" -lastPushedMetaChecksum: "sha256:12bb1154b50650ea" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7a06590c036c0813" \ No newline at end of file diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index 0dd5fec..257058c 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA lastPushedChecksum: "sha256:a2fc53f08fbbf738" -lastPushedMetaChecksum: "sha256:d1aaf78447ccbb29" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8a6768c748f06a7e" \ No newline at end of file diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index 8572c24..ba0ce1c 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA lastPushedChecksum: "sha256:81593e032c1092d2" -lastPushedMetaChecksum: "sha256:9d70bb448f0c4a12" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a6312bfeb71d9766" \ No newline at end of file diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 0d0663f..744f058 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw lastPushedChecksum: "sha256:d5996dd1d435f7a6" -lastPushedMetaChecksum: "sha256:8607275f4cc8dc83" \ No newline at end of file +lastPushedMetaChecksum: "sha256:636fd36ea9975510" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index dec0fe2..ebc2a4b 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ lastPushedChecksum: "sha256:2140a719a807fc81" -lastPushedMetaChecksum: "sha256:347fe028bd6e5d94" \ No newline at end of file +lastPushedMetaChecksum: "sha256:41dc31df097fe2de" \ No newline at end of file diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index e8a1d71..c3d19da 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg lastPushedChecksum: "sha256:cf6852c71596e859" -lastPushedMetaChecksum: "sha256:f3ba306ed24ddf0e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0f8163d70098d164" \ No newline at end of file From 1f1cd58f2ef7ed1508a2a361ee72f1870c8bd1e3 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:37:37 -0400 Subject: [PATCH 12/36] feat: add Windows 11 25H2 silent enablement install for Level MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KB5054156 enablement package (24H2 → 25H2) with x64/ARM64 catalog MSUs. Level System run, 60m timeout, no SuperOps dependencies. --- scripts/windows11_25h2_install.level.yaml | 36 ++ scripts/windows11_25h2_install.ps1 | 648 ++++++++++++++++++++++ 2 files changed, 684 insertions(+) create mode 100644 scripts/windows11_25h2_install.level.yaml create mode 100644 scripts/windows11_25h2_install.ps1 diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml new file mode 100644 index 0000000..d6624b9 --- /dev/null +++ b/scripts/windows11_25h2_install.level.yaml @@ -0,0 +1,36 @@ +name: windows11_25h2_install.ps1 +description: Silently install Windows 11 25H2 (KB5054156) for Level RMM +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +readme: | + Purpose + ------- + Silently installs Windows 11, version 25H2 by applying Microsoft enablement package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 (build 26100) with the required cumulative update, this is a small master-switch package that activates already-present 25H2 features after one restart. Not a full ISO feature upgrade. + + Usage Notes + ----------- + - Level: run as System; set script timeout to 60 minutes + - Validates hardcoded inputs, then reads DisplayVersion / build / UBR from registry + - Already on 25H2 exits success (idempotent) + - Requires Windows 11 24H2 build 26100 with UBR 5074+ (KB5064081 or later) + - Selects AMD64 or ARM64 Microsoft catalog MSU URL automatically + - Downloads KB5054156 MSU to TEMP; installs with wusa.exe /quiet /norestart + - Treats wusa exit codes 0, 3010, and 2359302 as success + - Reboot After Install defaults to false (safe Level default); reboot still required to activate 25H2 + - Console sections are captured in the Level script run / activity log + - Min UBR: 5074 | Required Build: 26100 | Source: 24H2 | Target: 25H2 + + Requirements + ------------ + - Level agent online; script executed as System + - Windows PowerShell 5.1 or later + - Windows 11 version 24H2 only (OS build 26100) + - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later + - Internet connectivity to catalog.sf.dl.delivery.mp.microsoft.com + + Security + -------- + - No secrets in logs + - Downloads only from hardcoded Microsoft delivery catalog URLs + - Scoped to enablement package only (no full ISO upgrade) diff --git a/scripts/windows11_25h2_install.ps1 b/scripts/windows11_25h2_install.ps1 new file mode 100644 index 0000000..3a51d27 --- /dev/null +++ b/scripts/windows11_25h2_install.ps1 @@ -0,0 +1,648 @@ +$ErrorActionPreference = 'Stop' +<# +██╗ ██╗███╗ ███╗███████╗██╗ ██╗ █████╗ ██╗ ██╗██╗ ██╗ +██║ ██║████╗ ████║██╔════╝██║ ██║██╔══██╗██║ ██║██║ ██╔╝ +██║ ██║██╔████╔██║█████╗ ███████║███████║██║ █╗ ██║█████╔╝ +██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██║██╔══██║██║███╗██║██╔═██╗ +███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ +╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ +================================================================================ + SCRIPT : Windows 11 25H2 Install v1.0.0 + AUTHOR : Limehawk.io + DATE : July 2026 + USAGE : .\windows11_25h2_install.ps1 +================================================================================ + FILE : windows11_25h2_install.ps1 + DESCRIPTION : Silently install Windows 11 25H2 (KB5054156) for Level RMM +-------------------------------------------------------------------------------- + README +-------------------------------------------------------------------------------- + PURPOSE + + Silently installs Windows 11, version 25H2 by applying Microsoft enablement + package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 + (build 26100) with the required CU, this is a small "master switch" that + activates already-present 25H2 features after one restart. Not a full ISO + feature upgrade path. + + DATA SOURCES & PRIORITY + + - Registry HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion + (DisplayVersion, CurrentBuild/CurrentBuildNumber, UBR, ProductName) + - Win32_OperatingSystem Caption for OS family confirmation + - PROCESSOR_ARCHITECTURE / PROCESSOR_ARCHITEW6432 for AMD64 vs ARM64 + - Microsoft Update Catalog MSU download URLs for KB5054156 (x64 + ARM64) + + REQUIRED INPUTS + + All inputs are hardcoded in the script body (edit in Level script library + or clone per-policy if you need different reboot behavior): + - $downloadUrlX64 : x64 MSU URL for KB5054156 + - $downloadUrlArm64 : ARM64 MSU URL for KB5054156 + - $minUbr : Minimum UBR required on build 26100 (5074) + - $requiredBuild : Required OS build number (26100 = 24H2 core) + - $targetDisplayVersion : Target DisplayVersion after enablement (25H2) + - $sourceDisplayVersion : Required source DisplayVersion (24H2) + - $rebootAfterInstall : If $true, schedule reboot after successful apply + + SETTINGS + + Configuration defaults: + - Download URL (x64) : Microsoft catalog MSU for windows11.0-kb5054156-x64 + - Download URL (ARM64): Microsoft catalog MSU for windows11.0-kb5054156-arm64 + - Min UBR : 5074 (KB5064081 or later cumulative update) + - Required Build : 26100 + - Source Version : 24H2 + - Target Version : 25H2 + - Reboot After Install: false (safe Level default; reboot still required) + - Installer Path : %TEMP%\windows11.0-kb5054156.msu + - Install method : wusa.exe /quiet /norestart + - Level run context : System (SYSTEM_USER) + - Level timeout : 60 minutes recommended (download + wusa) + + BEHAVIOR + + The script performs the following actions in order: + 1. Validates hardcoded input values + 2. Reads OS identity from registry (DisplayVersion, build, UBR, ProductName) + 3. If already on 25H2, exits 0 (idempotent success) + 4. Fails if not Windows 11 + 5. Fails if not build 26100 / not 24H2 (enablement package only path) + 6. Fails if UBR is below 5074 (install latest CU / KB5064081+ first) + 7. Selects AMD64 or ARM64 download URL + 8. Downloads the MSU to TEMP + 9. Installs silently with wusa.exe /quiet /norestart + (exit 0 and 3010 = success; 2359302 already-installed = success) + 10. Optionally schedules reboot if $rebootAfterInstall is true + 11. Cleans up the downloaded MSU + 12. Reports final DisplayVersion/build/UBR and reboot-pending status + (console output is captured in Level activity / script run log) + + PREREQUISITES + + - Windows PowerShell 5.1 or later + - Level agent online; script run as System + - Administrator / SYSTEM privileges (wusa enablement package install) + - Windows 11 version 24H2 only (OS build 26100) + - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later + - Internet connectivity to download the Microsoft catalog MSU + - A restart is required after install to activate 25H2 (unless already applied) + + SECURITY NOTES + + - No secrets in logs + - Downloads only from hardcoded Microsoft delivery catalog URLs + - Does not perform a full ISO upgrade; scoped to enablement package only + - Default does not force reboot; set $rebootAfterInstall = $true to schedule + + ENDPOINTS + + - x64 MSU : catalog.sf.dl.delivery.mp.microsoft.com ... windows11.0-kb5054156-x64_*.msu + - ARM64 MSU: catalog.sf.dl.delivery.mp.microsoft.com ... windows11.0-kb5054156-arm64_*.msu + + EXIT CODES + + 0 = Success (already on 25H2, package applied, or already installed) + 1 = Failure (unsupported OS/build/CU, download/install error) + + EXAMPLE RUN + + [INFO] INPUT VALIDATION + ============================================================== + Download URL (x64) : https://catalog.sf.dl.delivery.mp.microsoft.com/...msu + Download URL (ARM64) : https://catalog.sf.dl.delivery.mp.microsoft.com/...msu + Min UBR : 5074 + Required Build : 26100 + Source Version : 24H2 + Target Version : 25H2 + Reboot After Install : False + Inputs validated successfully + + [INFO] OS DETECTION + ============================================================== + Product Name : Windows 11 Pro + Display Version : 24H2 + Build : 26100 + UBR : 5074 + Architecture : AMD64 + + [RUN] DOWNLOAD + ============================================================== + Downloading KB5054156 enablement package... + Download completed successfully + + [RUN] INSTALLATION + ============================================================== + Running wusa.exe quietly (no restart)... + Installer exit code : 3010 + Installation completed successfully (reboot required) + + [RUN] CLEANUP + ============================================================== + Removing MSU file... + Cleanup completed + + [OK] FINAL STATUS + ============================================================== + Result : SUCCESS + Display Version : 24H2 + Build.UBR : 26100.5074 + Reboot Pending : True + Note : Restart required to activate Windows 11 25H2 + + [OK] SCRIPT COMPLETED + ============================================================== + +-------------------------------------------------------------------------------- + CHANGELOG +-------------------------------------------------------------------------------- + 2026-07-22 v1.0.0 Initial release - silent Windows 11 25H2 enablement package + (KB5054156) for Level RMM; x64 + ARM64 catalog MSU URLs +================================================================================ +#> + +# ============================================================================== +# HARDCODED INPUTS +# ============================================================================== +$downloadUrlX64 = 'https://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/fa84cc49-18b2-4c26-b389-90c96e6ae0d2/public/windows11.0-kb5054156-x64_a0c1638cbcf4cf33dbe9a5bef69db374b4786974.msu' +$downloadUrlArm64 = 'https://catalog.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/78b265e5-83a8-4e0a-9060-efbe0bac5bde/public/windows11.0-kb5054156-arm64_3d5c91aaeb08a87e0717f263ad4a61186746e465.msu' +$minUbr = 5074 +$requiredBuild = '26100' +$targetDisplayVersion = '25H2' +$sourceDisplayVersion = '24H2' +$rebootAfterInstall = $false + +Set-StrictMode -Version Latest + +# ============================================================================== +# CONSTANTS +# ============================================================================== +$installerPath = Join-Path $env:TEMP 'windows11.0-kb5054156.msu' +$ntCurrentVersionPath = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' +# wusa success codes: 0 = success, 3010 = success reboot required +# 2359302 = WU_S_ALREADY_INSTALLED (package already present) +$successExitCodes = @(0, 3010, 2359302) + +# ============================================================================== +# INPUT VALIDATION +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] INPUT VALIDATION" +Write-Host "==============================================================" + +$errorOccurred = $false +$errorText = "" + +if ([string]::IsNullOrWhiteSpace($downloadUrlX64)) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Download URL (x64) is required" +} + +if ($minUbr -isnot [int] -and $minUbr -isnot [long]) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Min UBR must be an integer" +} elseif ([int]$minUbr -lt 1) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Min UBR must be a positive integer" +} + +if ([string]::IsNullOrWhiteSpace($requiredBuild)) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Required Build is required" +} + +if ([string]::IsNullOrWhiteSpace($targetDisplayVersion)) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Target Display Version is required" +} + +if ([string]::IsNullOrWhiteSpace($sourceDisplayVersion)) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Source Display Version is required" +} + +if ($rebootAfterInstall -isnot [bool]) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Reboot After Install must be a boolean" +} + +if ($errorOccurred) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host $errorText + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +$arm64Display = if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { '(empty)' } else { $downloadUrlArm64 } + +Write-Host " Download URL (x64) : $downloadUrlX64" +Write-Host " Download URL (ARM64) : $arm64Display" +Write-Host " Min UBR : $minUbr" +Write-Host " Required Build : $requiredBuild" +Write-Host " Source Version : $sourceDisplayVersion" +Write-Host " Target Version : $targetDisplayVersion" +Write-Host " Reboot After Install : $rebootAfterInstall" +Write-Host " Inputs validated successfully" + +# ============================================================================== +# HELPERS +# ============================================================================== + +function Get-WindowsVersionInfo { + $props = Get-ItemProperty -Path $ntCurrentVersionPath -ErrorAction Stop + + $displayVersion = '' + if ($props.PSObject.Properties.Name -contains 'DisplayVersion' -and -not [string]::IsNullOrWhiteSpace($props.DisplayVersion)) { + $displayVersion = [string]$props.DisplayVersion + } + + $build = '' + if ($props.PSObject.Properties.Name -contains 'CurrentBuild' -and -not [string]::IsNullOrWhiteSpace($props.CurrentBuild)) { + $build = [string]$props.CurrentBuild + } elseif ($props.PSObject.Properties.Name -contains 'CurrentBuildNumber' -and -not [string]::IsNullOrWhiteSpace($props.CurrentBuildNumber)) { + $build = [string]$props.CurrentBuildNumber + } + + $ubr = 0 + if ($props.PSObject.Properties.Name -contains 'UBR') { + try { $ubr = [int]$props.UBR } catch { $ubr = 0 } + } + + $productName = '' + if ($props.PSObject.Properties.Name -contains 'ProductName' -and -not [string]::IsNullOrWhiteSpace($props.ProductName)) { + $productName = [string]$props.ProductName + } + + $caption = '' + try { + $os = Get-CimInstance -ClassName Win32_OperatingSystem -ErrorAction Stop + if ($null -ne $os -and -not [string]::IsNullOrWhiteSpace($os.Caption)) { + $caption = [string]$os.Caption + } + } catch { + $caption = '' + } + + # Prefer native architecture under WOW64 if present + $arch = $env:PROCESSOR_ARCHITECTURE + if (-not [string]::IsNullOrWhiteSpace($env:PROCESSOR_ARCHITEW6432)) { + $arch = $env:PROCESSOR_ARCHITEW6432 + } + if ([string]::IsNullOrWhiteSpace($arch)) { + $arch = 'UNKNOWN' + } + + return @{ + DisplayVersion = $displayVersion + Build = $build + Ubr = $ubr + ProductName = $productName + Caption = $caption + Architecture = $arch.ToUpperInvariant() + } +} + +function Test-IsWindows11 { + param( + [string]$ProductName, + [string]$Caption + ) + + $blob = ("$ProductName $Caption").ToLowerInvariant() + return ($blob -match 'windows 11') +} + +function Test-RebootPending { + $pending = $false + + try { + if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending') { + $pending = $true + } + } catch { } + + try { + if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired') { + $pending = $true + } + } catch { } + + return $pending +} + +# ============================================================================== +# OS DETECTION +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] OS DETECTION" +Write-Host "==============================================================" + +try { + $osInfo = Get-WindowsVersionInfo +} catch { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Failed to read Windows version information" + Write-Host " Path : $ntCurrentVersionPath" + Write-Host " Error : $($_.Exception.Message)" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +Write-Host " Product Name : $($osInfo.ProductName)" +if (-not [string]::IsNullOrWhiteSpace($osInfo.Caption)) { + Write-Host " Caption : $($osInfo.Caption)" +} +Write-Host " Display Version : $($osInfo.DisplayVersion)" +Write-Host " Build : $($osInfo.Build)" +Write-Host " UBR : $($osInfo.Ubr)" +Write-Host " Architecture : $($osInfo.Architecture)" + +# Already on target version - idempotent success +if ($osInfo.DisplayVersion -eq $targetDisplayVersion) { + Write-Host "" + Write-Host "[OK] FINAL STATUS" + Write-Host "==============================================================" + Write-Host " Result : SUCCESS" + Write-Host " Display Version : $($osInfo.DisplayVersion)" + Write-Host " Build.UBR : $($osInfo.Build).$($osInfo.Ubr)" + Write-Host " Note : Already on Windows 11 $targetDisplayVersion - no action needed" + Write-Host "" + Write-Host "[OK] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 0 +} + +if (-not (Test-IsWindows11 -ProductName $osInfo.ProductName -Caption $osInfo.Caption)) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " This script only supports Windows 11" + Write-Host " Product Name : $($osInfo.ProductName)" + Write-Host " Caption : $($osInfo.Caption)" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +if ($osInfo.Build -ne $requiredBuild -or $osInfo.DisplayVersion -ne $sourceDisplayVersion) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Enablement package KB5054156 only works from Windows 11 $sourceDisplayVersion (build $requiredBuild)" + Write-Host " Current Display Version : $($osInfo.DisplayVersion)" + Write-Host " Current Build : $($osInfo.Build)" + Write-Host " This script does not perform a full feature update / ISO upgrade path" + Write-Host " Upgrade the device to Windows 11 $sourceDisplayVersion with a recent CU first" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +if ([int]$osInfo.Ubr -lt [int]$minUbr) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Cumulative update prerequisite not met" + Write-Host " Required : build $requiredBuild UBR $minUbr or later (KB5064081+)" + Write-Host " Current : build $($osInfo.Build) UBR $($osInfo.Ubr)" + Write-Host " Install the latest Windows 11 cumulative update, then re-run this script" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +# ============================================================================== +# ARCHITECTURE / URL SELECTION +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] ARCHITECTURE" +Write-Host "==============================================================" + +$selectedUrl = '' +$selectedArch = $osInfo.Architecture + +if ($selectedArch -eq 'AMD64' -or $selectedArch -eq 'X64') { + $selectedUrl = $downloadUrlX64 + $selectedArch = 'AMD64' + Write-Host " Architecture : AMD64" + Write-Host " Package URL : $selectedUrl" +} elseif ($selectedArch -eq 'ARM64') { + Write-Host " Architecture : ARM64" + if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " ARM64 download URL is empty in hardcoded inputs" + Write-Host " Set `$downloadUrlArm64 to the Microsoft catalog MSU URL for KB5054156 ARM64" + Write-Host " Then re-run this script from Level on the ARM64 device" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 + } + $selectedUrl = $downloadUrlArm64 + Write-Host " Package URL : $selectedUrl" +} else { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Unsupported processor architecture: $($osInfo.Architecture)" + Write-Host " Supported architectures : AMD64, ARM64" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +# ============================================================================== +# DOWNLOAD +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] DOWNLOAD" +Write-Host "==============================================================" + +try { + Write-Host " Downloading KB5054156 enablement package..." + Write-Host " Destination : $installerPath" + Invoke-WebRequest -Uri $selectedUrl -OutFile $installerPath -UseBasicParsing + + if (-not (Test-Path -Path $installerPath -PathType Leaf)) { + throw "MSU file was not downloaded" + } + + $fileSize = (Get-Item -Path $installerPath).Length + $fileSizeMb = [math]::Round($fileSize / 1MB, 2) + Write-Host " File Size : $fileSizeMb MB" + Write-Host " Download completed successfully" +} catch { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Failed to download KB5054156 enablement package" + Write-Host " URL : $selectedUrl" + Write-Host " Error : $($_.Exception.Message)" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +# ============================================================================== +# INSTALLATION +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] INSTALLATION" +Write-Host "==============================================================" + +$installExitCode = -1 +$rebootRequired = $false + +try { + Write-Host " Method : wusa.exe /quiet /norestart" + Write-Host " Package : $installerPath" + Write-Host " Running wusa.exe quietly (no restart)..." + + $process = Start-Process -FilePath 'wusa.exe' -ArgumentList "`"$installerPath`"", '/quiet', '/norestart' -Wait -PassThru -NoNewWindow + $installExitCode = $process.ExitCode + Write-Host " Installer exit code : $installExitCode" + + if ($successExitCodes -notcontains $installExitCode) { + throw "wusa.exe failed with exit code: $installExitCode" + } + + if ($installExitCode -eq 3010) { + $rebootRequired = $true + Write-Host " Installation completed successfully (reboot required)" + } elseif ($installExitCode -eq 2359302) { + Write-Host " Package already installed (treated as success)" + $rebootRequired = Test-RebootPending + } else { + Write-Host " Installation completed successfully" + $rebootRequired = Test-RebootPending + } +} catch { + if (Test-Path -Path $installerPath -PathType Leaf) { + Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue + } + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Failed to install KB5054156 enablement package" + Write-Host " Exit Code : $installExitCode" + Write-Host " Error : $($_.Exception.Message)" + Write-Host " Hint : Confirm the device is Windows 11 24H2 build 26100 with CU UBR $minUbr+" + Write-Host "" + Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 1 +} + +# ============================================================================== +# OPTIONAL REBOOT +# ============================================================================== + +if ($rebootAfterInstall) { + Write-Host "" + Write-Host "[RUN] REBOOT" + Write-Host "==============================================================" + try { + $rebootDelaySeconds = 60 + $rebootMessage = "Windows 11 $targetDisplayVersion enablement package (KB5054156) installed. Restarting to activate." + Write-Host " Scheduling restart in $rebootDelaySeconds seconds..." + Write-Host " Command : shutdown /r /t $rebootDelaySeconds" + $shutdownArgs = "/r /t $rebootDelaySeconds /c `"$rebootMessage`" /d p:2:4" + $shutdownProc = Start-Process -FilePath 'shutdown.exe' -ArgumentList $shutdownArgs -Wait -PassThru -NoNewWindow + if ($null -ne $shutdownProc -and $shutdownProc.ExitCode -ne 0) { + throw "shutdown.exe returned exit code $($shutdownProc.ExitCode)" + } + $rebootRequired = $true + Write-Host " Restart scheduled successfully" + } catch { + Write-Host "" + Write-Host "[WARN] REBOOT SCHEDULING FAILED" + Write-Host "==============================================================" + Write-Host " Package install succeeded but reboot could not be scheduled" + Write-Host " Error : $($_.Exception.Message)" + Write-Host " Restart the device manually to activate Windows 11 $targetDisplayVersion" + $rebootRequired = $true + } +} else { + # Enablement still needs a reboot to activate even when we do not schedule one + if ($installExitCode -eq 3010 -or $installExitCode -eq 0) { + $rebootRequired = $true + } +} + +# ============================================================================== +# CLEANUP +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] CLEANUP" +Write-Host "==============================================================" +Write-Host " Removing MSU file..." +Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue +if (Test-Path -Path $installerPath -PathType Leaf) { + Write-Host " [WARN] Could not remove MSU file: $installerPath" +} else { + Write-Host " Cleanup completed" +} + +# ============================================================================== +# FINAL STATUS +# ============================================================================== + +$finalInfo = $null +try { + $finalInfo = Get-WindowsVersionInfo +} catch { + $finalInfo = $osInfo +} + +if (-not $rebootRequired) { + $rebootRequired = Test-RebootPending +} + +Write-Host "" +Write-Host "[OK] FINAL STATUS" +Write-Host "==============================================================" +Write-Host " Result : SUCCESS" +Write-Host " Display Version : $($finalInfo.DisplayVersion)" +Write-Host " Build.UBR : $($finalInfo.Build).$($finalInfo.Ubr)" +Write-Host " Architecture : $selectedArch" +Write-Host " Install Exit : $installExitCode" +Write-Host " Reboot Pending : $rebootRequired" +if ($finalInfo.DisplayVersion -ne $targetDisplayVersion) { + Write-Host " Note : Restart required to activate Windows 11 $targetDisplayVersion" +} else { + Write-Host " Note : DisplayVersion already reports $targetDisplayVersion" +} + +Write-Host "" +Write-Host "[OK] SCRIPT COMPLETED" +Write-Host "==============================================================" + +exit 0 From 0009e2ed419b84a53a22c9d0311257ab96109225 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:49:53 -0500 Subject: [PATCH 13/36] chore: sync scripts [smart-sync] --- scripts/windows11_25h2_install.level.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index d6624b9..4405ef1 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Silently installs Windows 11, version 25H2 by applying Microsoft enablement package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 (build 26100) with the required cumulative update, this is a small master-switch package that activates already-present 25H2 features after one restart. Not a full ISO feature upgrade. - + Usage Notes ----------- - Level: run as System; set script timeout to 60 minutes @@ -20,7 +20,7 @@ readme: | - Reboot After Install defaults to false (safe Level default); reboot still required to activate 25H2 - Console sections are captured in the Level script run / activity log - Min UBR: 5074 | Required Build: 26100 | Source: 24H2 | Target: 25H2 - + Requirements ------------ - Level agent online; script executed as System @@ -28,9 +28,13 @@ readme: | - Windows 11 version 24H2 only (OS build 26100) - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later - Internet connectivity to catalog.sf.dl.delivery.mp.microsoft.com - + Security -------- - No secrets in logs - Downloads only from hardcoded Microsoft delivery catalog URLs - Scoped to enablement package only (no full ISO upgrade) +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg +lastPushedChecksum: "sha256:2becd32a125c22e7" +lastPushedMetaChecksum: "sha256:ec1123284f71a96b" \ No newline at end of file From 9dee4b4eb94f1343e3426a72fb2ec5cf9bea168d Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:54:28 -0400 Subject: [PATCH 14/36] fix(level): windows11_25h2_install timeout 7200s (2h) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Level timeout is in seconds (UI: "Timeout (in seconds)"). Prior value 60 was only one minute of wall time — too short for MSU download/install. --- scripts/windows11_25h2_install.level.yaml | 12 ++++++------ scripts/windows11_25h2_install.ps1 | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 4405ef1..1650469 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -2,15 +2,15 @@ name: windows11_25h2_install.ps1 description: Silently install Windows 11 25H2 (KB5054156) for Level RMM shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 7200 readme: | Purpose ------- Silently installs Windows 11, version 25H2 by applying Microsoft enablement package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 (build 26100) with the required cumulative update, this is a small master-switch package that activates already-present 25H2 features after one restart. Not a full ISO feature upgrade. - + Usage Notes ----------- - - Level: run as System; set script timeout to 60 minutes + - Level: run as System; timeout 7200 seconds (2 hours) — Level timeout is seconds, not minutes - Validates hardcoded inputs, then reads DisplayVersion / build / UBR from registry - Already on 25H2 exits success (idempotent) - Requires Windows 11 24H2 build 26100 with UBR 5074+ (KB5064081 or later) @@ -20,7 +20,7 @@ readme: | - Reboot After Install defaults to false (safe Level default); reboot still required to activate 25H2 - Console sections are captured in the Level script run / activity log - Min UBR: 5074 | Required Build: 26100 | Source: 24H2 | Target: 25H2 - + Requirements ------------ - Level agent online; script executed as System @@ -28,7 +28,7 @@ readme: | - Windows 11 version 24H2 only (OS build 26100) - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later - Internet connectivity to catalog.sf.dl.delivery.mp.microsoft.com - + Security -------- - No secrets in logs @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg lastPushedChecksum: "sha256:2becd32a125c22e7" -lastPushedMetaChecksum: "sha256:ec1123284f71a96b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ec1123284f71a96b" diff --git a/scripts/windows11_25h2_install.ps1 b/scripts/windows11_25h2_install.ps1 index 3a51d27..69a6cb5 100644 --- a/scripts/windows11_25h2_install.ps1 +++ b/scripts/windows11_25h2_install.ps1 @@ -7,7 +7,7 @@ $ErrorActionPreference = 'Stop' ███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ ╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ================================================================================ - SCRIPT : Windows 11 25H2 Install v1.0.0 + SCRIPT : Windows 11 25H2 Install v1.0.1 AUTHOR : Limehawk.io DATE : July 2026 USAGE : .\windows11_25h2_install.ps1 @@ -58,7 +58,7 @@ $ErrorActionPreference = 'Stop' - Installer Path : %TEMP%\windows11.0-kb5054156.msu - Install method : wusa.exe /quiet /norestart - Level run context : System (SYSTEM_USER) - - Level timeout : 60 minutes recommended (download + wusa) + - Level timeout : 7200 seconds (2 hours) — Level unit is seconds BEHAVIOR @@ -156,6 +156,8 @@ $ErrorActionPreference = 'Stop' -------------------------------------------------------------------------------- CHANGELOG -------------------------------------------------------------------------------- + 2026-07-22 v1.0.1 Level timeout set to 7200s (2h). Level timeout is seconds, + not minutes — previous sidecar value of 60 was only 60s. 2026-07-22 v1.0.0 Initial release - silent Windows 11 25H2 enablement package (KB5054156) for Level RMM; x64 + ARM64 catalog MSU URLs ================================================================================ From defc8d693d5b4bb8aedc0f3964b65c6c87931310 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:54:40 -0500 Subject: [PATCH 15/36] chore: sync scripts [smart-sync] --- scripts/windows11_25h2_install.level.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 1650469..11c4a89 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Silently installs Windows 11, version 25H2 by applying Microsoft enablement package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 (build 26100) with the required cumulative update, this is a small master-switch package that activates already-present 25H2 features after one restart. Not a full ISO feature upgrade. - + Usage Notes ----------- - Level: run as System; timeout 7200 seconds (2 hours) — Level timeout is seconds, not minutes @@ -20,7 +20,7 @@ readme: | - Reboot After Install defaults to false (safe Level default); reboot still required to activate 25H2 - Console sections are captured in the Level script run / activity log - Min UBR: 5074 | Required Build: 26100 | Source: 24H2 | Target: 25H2 - + Requirements ------------ - Level agent online; script executed as System @@ -28,7 +28,7 @@ readme: | - Windows 11 version 24H2 only (OS build 26100) - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later - Internet connectivity to catalog.sf.dl.delivery.mp.microsoft.com - + Security -------- - No secrets in logs @@ -36,5 +36,5 @@ readme: | - Scoped to enablement package only (no full ISO upgrade) groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg -lastPushedChecksum: "sha256:2becd32a125c22e7" -lastPushedMetaChecksum: "sha256:ec1123284f71a96b" +lastPushedChecksum: "sha256:3d1f988df6c52a9f" +lastPushedMetaChecksum: "sha256:492c09c5ef07fc38" \ No newline at end of file From 817096e521cca47a3eaf20d4fe1cba539b40dbf8 Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:55:23 -0400 Subject: [PATCH 16/36] fix(level): convert sidecar timeouts from SuperOps minutes to Level seconds Level UI timeout is seconds. Sidecars were backfilled from SuperOps-style minute values (mostly 15). Multiply those by 60. Leave values already >= 1000s alone (e.g. windows11_25h2_install at 7200). --- scripts/1password_install.level.yaml | 2 +- scripts/agent_startup_fix.level.yaml | 2 +- scripts/antivirus_status.level.yaml | 2 +- scripts/antivirus_uninstall.level.yaml | 2 +- scripts/arch_update_verbose.level.yaml | 2 +- scripts/bitlocker_superops_enable.level.yaml | 2 +- scripts/canon_mf455dw_driver_install.level.yaml | 2 +- scripts/choco_upgrade_all.level.yaml | 2 +- scripts/cloudflared_install.level.yaml | 2 +- scripts/cloudflared_status.level.yaml | 2 +- scripts/cloudflared_uninstall.level.yaml | 2 +- scripts/cloudflared_upgrade.level.yaml | 2 +- scripts/cups_toggle_macos.level.yaml | 2 +- scripts/dell_command_update.level.yaml | 2 +- scripts/delprof2_old_profiles_delete.level.yaml | 2 +- scripts/delprof2_profiles_delete_all.level.yaml | 2 +- scripts/delprof2_selected_profile_keep.level.yaml | 2 +- scripts/delprof2_specific_profile_delete.level.yaml | 2 +- scripts/deskview_install.level.yaml | 2 +- scripts/dietpi_proxmox_install.level.yaml | 2 +- scripts/directory_cleanup.level.yaml | 2 +- scripts/directory_size_analyze.level.yaml | 2 +- scripts/disk_cleanup.level.yaml | 2 +- scripts/disk_scan_fix.level.yaml | 2 +- scripts/disk_smart_status.level.yaml | 2 +- scripts/dns_flush.level.yaml | 2 +- scripts/dns_set_provider.level.yaml | 2 +- scripts/dnsfilter_uninstall.level.yaml | 2 +- scripts/dokploy_orphaned_volumes_cleanup.level.yaml | 2 +- scripts/dokploy_running_apps_deploy.level.yaml | 2 +- scripts/ds_store_disable_macos.level.yaml | 2 +- scripts/duplicati_backup_status.level.yaml | 2 +- scripts/edge_chrome_default_user_set.level.yaml | 2 +- scripts/edge_suppress_policies_system.level.yaml | 2 +- scripts/emsisoft_url_install.level.yaml | 2 +- scripts/eset_cleanup.level.yaml | 2 +- scripts/everything_file_search.level.yaml | 2 +- scripts/file_secure_delete.level.yaml | 2 +- scripts/file_secure_delete_certificate.level.yaml | 2 +- scripts/files_rename_snake_case.level.yaml | 2 +- scripts/foxit_pdf_editor_plus_install.level.yaml | 2 +- scripts/gcpw_cleanup.level.yaml | 2 +- scripts/gcpw_install.level.yaml | 2 +- scripts/google_update_trigger.level.yaml | 2 +- scripts/hardware_report.level.yaml | 2 +- scripts/huntress_install_macos.level.yaml | 2 +- scripts/ipconfig_release_renew.level.yaml | 2 +- scripts/limehawk_admin_profile_branding.level.yaml | 2 +- scripts/local_user_admin_create.level.yaml | 2 +- scripts/local_user_admin_setup.level.yaml | 2 +- scripts/local_user_admin_toggle.level.yaml | 2 +- scripts/local_user_create.level.yaml | 2 +- scripts/local_user_delete.level.yaml | 2 +- scripts/local_user_disable.level.yaml | 2 +- scripts/macos_auto_updates_enable.level.yaml | 2 +- scripts/maintenance_reboot.level.yaml | 2 +- scripts/mrt_scan.level.yaml | 2 +- scripts/msi_url_install.level.yaml | 2 +- scripts/network_dhcp_set_macos.level.yaml | 2 +- scripts/network_scan.level.yaml | 2 +- scripts/network_service_refresh_macos.level.yaml | 2 +- scripts/ninjaone_uninstall.level.yaml | 2 +- scripts/nircmd_resolution_set.level.yaml | 2 +- scripts/nircmd_screenshot.level.yaml | 2 +- scripts/nirsoft_uninstall_view.level.yaml | 2 +- scripts/nvram_reset_reboot_macos.level.yaml | 2 +- scripts/onedrive_reenable.level.yaml | 2 +- scripts/onedrive_remove_complete.level.yaml | 2 +- scripts/onestart_remove_complete.level.yaml | 2 +- scripts/onlyoffice_install.level.yaml | 2 +- scripts/openssh_server_remove.level.yaml | 2 +- scripts/openssh_server_setup.level.yaml | 2 +- scripts/outlook_link_handling_fix.level.yaml | 2 +- scripts/outlook_new_force_migrate.level.yaml | 2 +- scripts/outlook_new_remove.level.yaml | 2 +- scripts/outlook_new_restore.level.yaml | 2 +- scripts/password_files_search.level.yaml | 2 +- scripts/password_files_tickets_search.level.yaml | 2 +- scripts/potplayer_install.level.yaml | 2 +- scripts/power_plans_default_add.level.yaml | 2 +- scripts/power_profile_always_on_set.level.yaml | 2 +- scripts/power_profile_set_macos.level.yaml | 2 +- scripts/prinstall_add.level.yaml | 2 +- scripts/prinstall_driver_add.level.yaml | 2 +- scripts/prinstall_driver_list.level.yaml | 2 +- scripts/prinstall_driver_remove.level.yaml | 2 +- scripts/prinstall_drivers.level.yaml | 2 +- scripts/prinstall_id.level.yaml | 2 +- scripts/prinstall_list.level.yaml | 2 +- scripts/prinstall_remove.level.yaml | 2 +- scripts/prinstall_scan.level.yaml | 2 +- scripts/prinstall_setup.level.yaml | 2 +- scripts/prinstall_trust_codesign.level.yaml | 2 +- scripts/print_queue_clear.level.yaml | 2 +- scripts/print_queue_reset.level.yaml | 2 +- scripts/printer_connection_test.level.yaml | 2 +- scripts/printer_install_linux.level.yaml | 2 +- scripts/printer_install_macos.level.yaml | 2 +- scripts/printers_remove_all.level.yaml | 2 +- scripts/public_ip_export_superops.level.yaml | 2 +- scripts/public_ip_export_superops_macos.level.yaml | 2 +- scripts/restic_b2_backup_install.level.yaml | 2 +- scripts/rustic_backup.level.yaml | 2 +- scripts/rustic_backup_unix.level.yaml | 2 +- scripts/rustic_install.level.yaml | 2 +- scripts/rustic_install_unix.level.yaml | 2 +- scripts/rustic_restore.level.yaml | 2 +- scripts/rustic_restore_unix.level.yaml | 2 +- scripts/rustic_uninstall.level.yaml | 2 +- scripts/rustic_uninstall_unix.level.yaml | 2 +- scripts/sentinelone_install.level.yaml | 2 +- scripts/sentinelone_services_start.level.yaml | 2 +- scripts/sentinelone_uninstall_linux.level.yaml | 2 +- scripts/shutdown_toggle.level.yaml | 2 +- scripts/speedtest_export_superops.level.yaml | 2 +- scripts/splashtop_business_install.level.yaml | 2 +- scripts/splashtop_business_install_macos.level.yaml | 2 +- scripts/splashtop_service_restart.level.yaml | 2 +- scripts/splashtop_service_restart_macos.level.yaml | 2 +- scripts/splashtop_streamer_install.level.yaml | 2 +- scripts/splashtop_streamer_install_debian_amd64.level.yaml | 2 +- scripts/splashtop_streamer_install_debian_arm64.level.yaml | 2 +- scripts/splashtop_streamer_install_macos.level.yaml | 2 +- scripts/splashtop_uninstall.level.yaml | 2 +- scripts/splashtop_uninstall_macos.level.yaml | 2 +- scripts/start_menu_tiles_clear.level.yaml | 2 +- scripts/stdrename_install_toggle.level.yaml | 2 +- scripts/superops_agent_alt_path_uninstall_macos.level.yaml | 2 +- scripts/superops_agent_install.level.yaml | 2 +- scripts/superops_agent_install_macos.level.yaml | 2 +- scripts/superops_agent_legacy_uninstall.level.yaml | 2 +- scripts/superops_agent_reinstall_macos.level.yaml | 2 +- scripts/superops_agent_uninstall.level.yaml | 2 +- scripts/superops_agent_uninstall_alt.level.yaml | 2 +- scripts/superops_agent_uninstall_linux.level.yaml | 2 +- scripts/superops_agent_uninstall_macos.level.yaml | 2 +- scripts/superops_service_restart.level.yaml | 2 +- scripts/superops_tray_icon_show_always.level.yaml | 2 +- scripts/synology_backup_agent_install.level.yaml | 2 +- scripts/synology_backup_agent_install_linux.level.yaml | 2 +- scripts/terminated_user_lockout.level.yaml | 2 +- scripts/time_sync_fix.level.yaml | 2 +- scripts/time_utc_set.level.yaml | 2 +- scripts/ubuntu_debian_update_verbose.level.yaml | 2 +- scripts/user_accounts_report.level.yaml | 2 +- scripts/usmt_lan_migrate.level.yaml | 2 +- scripts/usmt_profile_migrate.level.yaml | 2 +- scripts/webview2_repair_install.level.yaml | 2 +- scripts/wifi_adapters_disable.level.yaml | 2 +- scripts/wifi_passwords_show.level.yaml | 2 +- scripts/wifiman_install.level.yaml | 2 +- scripts/win11_compatibility_check.level.yaml | 2 +- scripts/windows11_compatibility_check.level.yaml | 2 +- scripts/windows_dark_mode_enable.level.yaml | 2 +- scripts/windows_dism_sfc_chkdsk_run.level.yaml | 2 +- scripts/windows_firewall_toggle.level.yaml | 2 +- scripts/windows_product_key_export_superops.level.yaml | 2 +- scripts/windows_update_access_restore.level.yaml | 2 +- scripts/windows_update_access_toggle.level.yaml | 2 +- scripts/windows_update_reset.level.yaml | 2 +- scripts/winget_package_install.level.yaml | 2 +- scripts/winget_setup.level.yaml | 2 +- scripts/winget_upgrade_all.level.yaml | 2 +- scripts/winre_partition_resize.level.yaml | 2 +- scripts/winre_restore.level.yaml | 2 +- scripts/winreagent_cleanup.level.yaml | 2 +- scripts/wol_enable.level.yaml | 2 +- scripts/wol_status_check.level.yaml | 2 +- scripts/workstation_info_display.level.yaml | 2 +- scripts/workstation_info_display_macos.level.yaml | 2 +- scripts/workstation_oobe_seal.level.yaml | 2 +- scripts/workstation_reboot_force.level.yaml | 2 +- scripts/workstation_remote_wipe.level.yaml | 2 +- scripts/workstation_rename_auto.level.yaml | 2 +- scripts/workstation_rename_auto_macos.level.yaml | 2 +- scripts/workstation_rename_manual.level.yaml | 2 +- scripts/workstation_rename_manual_macos.level.yaml | 2 +- scripts/workstation_screenshot_macos.level.yaml | 2 +- scripts/workstation_uptime_reboot_macos.level.yaml | 2 +- 179 files changed, 179 insertions(+), 179 deletions(-) diff --git a/scripts/1password_install.level.yaml b/scripts/1password_install.level.yaml index 4e2b10b..9ab1941 100644 --- a/scripts/1password_install.level.yaml +++ b/scripts/1password_install.level.yaml @@ -2,7 +2,7 @@ name: "1password_install.ps1" description: Downloads and silently installs 1Password using official MSI shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/agent_startup_fix.level.yaml b/scripts/agent_startup_fix.level.yaml index e51bf49..a56ab70 100644 --- a/scripts/agent_startup_fix.level.yaml +++ b/scripts/agent_startup_fix.level.yaml @@ -2,7 +2,7 @@ name: agent_startup_fix.ps1 description: Fixes RMM agent service startup with recovery options and delayed start shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/antivirus_status.level.yaml b/scripts/antivirus_status.level.yaml index 380a540..38ba06c 100644 --- a/scripts/antivirus_status.level.yaml +++ b/scripts/antivirus_status.level.yaml @@ -2,7 +2,7 @@ name: antivirus_status.ps1 description: Reports third-party antivirus status to SuperOps custom fields shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/antivirus_uninstall.level.yaml b/scripts/antivirus_uninstall.level.yaml index bf47e27..0fb08c1 100644 --- a/scripts/antivirus_uninstall.level.yaml +++ b/scripts/antivirus_uninstall.level.yaml @@ -2,7 +2,7 @@ name: antivirus_uninstall.ps1 description: Removes common third-party antivirus software (McAfee, Sophos, AVG, etc.) shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/arch_update_verbose.level.yaml b/scripts/arch_update_verbose.level.yaml index 0d4f678..269850c 100644 --- a/scripts/arch_update_verbose.level.yaml +++ b/scripts/arch_update_verbose.level.yaml @@ -2,7 +2,7 @@ name: arch_update_verbose.sh description: Updates all packages on Arch Linux/Omarchy with verbose output shell: BASH runAs: SYSTEM -timeout: 90 +timeout: 5400 readme: | Purpose ------- diff --git a/scripts/bitlocker_superops_enable.level.yaml b/scripts/bitlocker_superops_enable.level.yaml index 2bfade1..6330e94 100644 --- a/scripts/bitlocker_superops_enable.level.yaml +++ b/scripts/bitlocker_superops_enable.level.yaml @@ -2,7 +2,7 @@ name: bitlocker_superops_enable.ps1 description: Enables BitLocker with TPM and syncs recovery key to SuperOps shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/canon_mf455dw_driver_install.level.yaml b/scripts/canon_mf455dw_driver_install.level.yaml index 3e8a839..7f55919 100644 --- a/scripts/canon_mf455dw_driver_install.level.yaml +++ b/scripts/canon_mf455dw_driver_install.level.yaml @@ -2,7 +2,7 @@ name: canon_mf455dw_driver_install.ps1 description: Downloads and installs Canon imageCLASS MF455dw printer drivers shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/choco_upgrade_all.level.yaml b/scripts/choco_upgrade_all.level.yaml index 0b01041..d1a8e6b 100644 --- a/scripts/choco_upgrade_all.level.yaml +++ b/scripts/choco_upgrade_all.level.yaml @@ -2,7 +2,7 @@ name: choco_upgrade_all.ps1 description: Upgrades all Chocolatey-managed packages to latest versions shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index bdcb783..bfeb3af 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -2,7 +2,7 @@ name: cloudflared_install.ps1 description: Installs cloudflared via winget and registers the tunnel service shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/cloudflared_status.level.yaml b/scripts/cloudflared_status.level.yaml index a720763..8533cb8 100644 --- a/scripts/cloudflared_status.level.yaml +++ b/scripts/cloudflared_status.level.yaml @@ -2,7 +2,7 @@ name: cloudflared_status.ps1 description: Reports cloudflared binary, service, and tunnel connectivity state shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/cloudflared_uninstall.level.yaml b/scripts/cloudflared_uninstall.level.yaml index a74a4bd..2155804 100644 --- a/scripts/cloudflared_uninstall.level.yaml +++ b/scripts/cloudflared_uninstall.level.yaml @@ -2,7 +2,7 @@ name: cloudflared_uninstall.ps1 description: Removes the Cloudflare Tunnel service and uninstalls cloudflared shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/cloudflared_upgrade.level.yaml b/scripts/cloudflared_upgrade.level.yaml index 3b21a52..c85553c 100644 --- a/scripts/cloudflared_upgrade.level.yaml +++ b/scripts/cloudflared_upgrade.level.yaml @@ -2,7 +2,7 @@ name: cloudflared_upgrade.ps1 description: Upgrades cloudflared via winget and verifies tunnel service health shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/cups_toggle_macos.level.yaml b/scripts/cups_toggle_macos.level.yaml index 5cbc1ba..97687f7 100644 --- a/scripts/cups_toggle_macos.level.yaml +++ b/scripts/cups_toggle_macos.level.yaml @@ -2,7 +2,7 @@ name: cups_toggle_macos.sh description: Toggles CUPS web interface on/off for printer administration shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/dell_command_update.level.yaml b/scripts/dell_command_update.level.yaml index 8409375..74279bc 100644 --- a/scripts/dell_command_update.level.yaml +++ b/scripts/dell_command_update.level.yaml @@ -2,7 +2,7 @@ name: dell_command_update.ps1 description: Installs Dell Command Update and applies driver/firmware updates shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index 1413b49..84ed603 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -2,7 +2,7 @@ name: delprof2_old_profiles_delete.ps1 description: Deletes Windows user profiles older than specified days shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/delprof2_profiles_delete_all.level.yaml b/scripts/delprof2_profiles_delete_all.level.yaml index c7ac4e2..196890d 100644 --- a/scripts/delprof2_profiles_delete_all.level.yaml +++ b/scripts/delprof2_profiles_delete_all.level.yaml @@ -2,7 +2,7 @@ name: delprof2_profiles_delete_all.ps1 description: Deletes ALL Windows user profiles except protected ones shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 349e788..7049357 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -2,7 +2,7 @@ name: delprof2_selected_profile_keep.ps1 description: Deletes all profiles EXCEPT the specified one and protected ones shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index f7662b4..5e43a67 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -2,7 +2,7 @@ name: delprof2_specific_profile_delete.ps1 description: Deletes only the specified Windows user profile shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/deskview_install.level.yaml b/scripts/deskview_install.level.yaml index 3130adb..f0998d4 100644 --- a/scripts/deskview_install.level.yaml +++ b/scripts/deskview_install.level.yaml @@ -2,7 +2,7 @@ name: deskview_install.ps1 description: Installs DeskView utility to startup folder for desktop icons shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/dietpi_proxmox_install.level.yaml b/scripts/dietpi_proxmox_install.level.yaml index d3e0774..47e68b4 100644 --- a/scripts/dietpi_proxmox_install.level.yaml +++ b/scripts/dietpi_proxmox_install.level.yaml @@ -2,7 +2,7 @@ name: dietpi_proxmox_install.sh description: Creates lightweight DietPi Debian 12 VM on Proxmox shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index c968a21..ee49ec1 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -2,7 +2,7 @@ name: directory_cleanup.ps1 description: Deletes files and directories older than specified days shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index 0588f6a..92329e7 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -2,7 +2,7 @@ name: directory_size_analyze.ps1 description: Analyzes disk usage with gdu utility for directory size reports shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/disk_cleanup.level.yaml b/scripts/disk_cleanup.level.yaml index cef0288..b9bdc46 100644 --- a/scripts/disk_cleanup.level.yaml +++ b/scripts/disk_cleanup.level.yaml @@ -2,7 +2,7 @@ name: disk_cleanup.ps1 description: Runs Windows Disk Cleanup plus SoftwareDistribution/WinSxS cleanup shell: POWERSHELL runAs: SYSTEM -timeout: 180 +timeout: 10800 readme: | Purpose ------- diff --git a/scripts/disk_scan_fix.level.yaml b/scripts/disk_scan_fix.level.yaml index 61df3e1..400e91f 100644 --- a/scripts/disk_scan_fix.level.yaml +++ b/scripts/disk_scan_fix.level.yaml @@ -2,7 +2,7 @@ name: disk_scan_fix.sh description: Comprehensive disk and volume health check for macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/disk_smart_status.level.yaml b/scripts/disk_smart_status.level.yaml index a0d0044..e659520 100644 --- a/scripts/disk_smart_status.level.yaml +++ b/scripts/disk_smart_status.level.yaml @@ -2,7 +2,7 @@ name: disk_smart_status.ps1 description: Reports S.M.A.R.T. predictive-failure health of all physical disks shell: POWERSHELL runAs: SYSTEM -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/dns_flush.level.yaml b/scripts/dns_flush.level.yaml index 6f9a617..0332e77 100644 --- a/scripts/dns_flush.level.yaml +++ b/scripts/dns_flush.level.yaml @@ -2,7 +2,7 @@ name: dns_flush.sh description: Flushes DNS cache on macOS across all supported versions shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index 299c9a0..cee4e56 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -2,7 +2,7 @@ name: dns_set_provider.ps1 description: Sets IPv4 DNS servers on active adapters to a chosen provider shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/dnsfilter_uninstall.level.yaml b/scripts/dnsfilter_uninstall.level.yaml index 00387cc..a192ad7 100644 --- a/scripts/dnsfilter_uninstall.level.yaml +++ b/scripts/dnsfilter_uninstall.level.yaml @@ -2,7 +2,7 @@ name: dnsfilter_uninstall.ps1 description: Completely removes DNSFilter agent and resets DNS to DHCP shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml index 72e6079..3919517 100644 --- a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml +++ b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml @@ -2,7 +2,7 @@ name: dokploy_orphaned_volumes_cleanup.sh description: Identifies and removes orphaned Docker volumes to free space shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml index fca16b6..2d40460 100644 --- a/scripts/dokploy_running_apps_deploy.level.yaml +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -2,7 +2,7 @@ name: dokploy_running_apps_deploy.sh description: Redeploys running Dokploy apps and verifies each outcome + version shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/ds_store_disable_macos.level.yaml b/scripts/ds_store_disable_macos.level.yaml index d89c5e2..a923da6 100644 --- a/scripts/ds_store_disable_macos.level.yaml +++ b/scripts/ds_store_disable_macos.level.yaml @@ -2,7 +2,7 @@ name: ds_store_disable_macos.sh description: Prevents macOS from creating .DS_Store files on network shares shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/duplicati_backup_status.level.yaml b/scripts/duplicati_backup_status.level.yaml index 0a4ffdf..54cc014 100644 --- a/scripts/duplicati_backup_status.level.yaml +++ b/scripts/duplicati_backup_status.level.yaml @@ -2,7 +2,7 @@ name: duplicati_backup_status.ps1 description: Monitors Duplicati backup jobs via local API and reports status shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/edge_chrome_default_user_set.level.yaml b/scripts/edge_chrome_default_user_set.level.yaml index 17b42cf..3ccf5f7 100644 --- a/scripts/edge_chrome_default_user_set.level.yaml +++ b/scripts/edge_chrome_default_user_set.level.yaml @@ -2,7 +2,7 @@ name: edge_chrome_default_user_set.ps1 description: Sets Google Chrome as default browser for current user via SetUserFTA shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/edge_suppress_policies_system.level.yaml b/scripts/edge_suppress_policies_system.level.yaml index 7b76b71..d8a9a69 100644 --- a/scripts/edge_suppress_policies_system.level.yaml +++ b/scripts/edge_suppress_policies_system.level.yaml @@ -2,7 +2,7 @@ name: edge_suppress_policies_system.ps1 description: Applies machine-wide policies to suppress Edge nagging behaviors shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/emsisoft_url_install.level.yaml b/scripts/emsisoft_url_install.level.yaml index 0f6e957..09d5f0f 100644 --- a/scripts/emsisoft_url_install.level.yaml +++ b/scripts/emsisoft_url_install.level.yaml @@ -2,7 +2,7 @@ name: emsisoft_url_install.ps1 description: Downloads and installs Emsisoft Anti-Malware from a specified URL shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/eset_cleanup.level.yaml b/scripts/eset_cleanup.level.yaml index f3df1c4..f242e97 100644 --- a/scripts/eset_cleanup.level.yaml +++ b/scripts/eset_cleanup.level.yaml @@ -2,7 +2,7 @@ name: eset_cleanup.ps1 description: Completely removes ESET antivirus remnants from Windows systems shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/everything_file_search.level.yaml b/scripts/everything_file_search.level.yaml index e134e37..f069697 100644 --- a/scripts/everything_file_search.level.yaml +++ b/scripts/everything_file_search.level.yaml @@ -2,7 +2,7 @@ name: everything_file_search.ps1 description: Searches all fixed drives for files matching a pattern via NTFS MFT shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/file_secure_delete.level.yaml b/scripts/file_secure_delete.level.yaml index 723fb33..f920f81 100644 --- a/scripts/file_secure_delete.level.yaml +++ b/scripts/file_secure_delete.level.yaml @@ -2,7 +2,7 @@ name: file_secure_delete.ps1 description: Interactive version of secure delete - prompts user for all inputs shell: POWERSHELL runAs: CURRENT_USER -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/file_secure_delete_certificate.level.yaml b/scripts/file_secure_delete_certificate.level.yaml index 38c51fc..4441b11 100644 --- a/scripts/file_secure_delete_certificate.level.yaml +++ b/scripts/file_secure_delete_certificate.level.yaml @@ -2,7 +2,7 @@ name: file_secure_delete_certificate.ps1 description: Securely deletes files with DoD-compliant overwriting and audit trail shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index b425a02..57a68ca 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -2,7 +2,7 @@ name: files_rename_snake_case.ps1 description: Recursively renames files and folders to snake_case format shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/foxit_pdf_editor_plus_install.level.yaml b/scripts/foxit_pdf_editor_plus_install.level.yaml index 0c44d30..94a95d3 100644 --- a/scripts/foxit_pdf_editor_plus_install.level.yaml +++ b/scripts/foxit_pdf_editor_plus_install.level.yaml @@ -2,7 +2,7 @@ name: foxit_pdf_editor_plus_install.ps1 description: Installs Foxit PDF Editor from Microsoft Store via winget shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/gcpw_cleanup.level.yaml b/scripts/gcpw_cleanup.level.yaml index fb6d2c6..1955bca 100644 --- a/scripts/gcpw_cleanup.level.yaml +++ b/scripts/gcpw_cleanup.level.yaml @@ -2,7 +2,7 @@ name: gcpw_cleanup.ps1 description: Removes GCPW registry keys and folders for clean reinstallation shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index ac8e32f..183b1c3 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -2,7 +2,7 @@ name: gcpw_install.ps1 description: Downloads, installs, and configures Google Credential Provider for Windows shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/google_update_trigger.level.yaml b/scripts/google_update_trigger.level.yaml index 6723a23..a5e41c3 100644 --- a/scripts/google_update_trigger.level.yaml +++ b/scripts/google_update_trigger.level.yaml @@ -2,7 +2,7 @@ name: google_update_trigger.ps1 description: Triggers Google Update scheduled task to check for Chrome updates shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/hardware_report.level.yaml b/scripts/hardware_report.level.yaml index d0ec187..12f881d 100644 --- a/scripts/hardware_report.level.yaml +++ b/scripts/hardware_report.level.yaml @@ -2,7 +2,7 @@ name: hardware_report.ps1 description: Generates comprehensive hardware inventory report via CIM queries shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index 9c1be7f..19caade 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -2,7 +2,7 @@ name: huntress_install_macos.sh description: Installs Huntress Agent on macOS endpoints shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/ipconfig_release_renew.level.yaml b/scripts/ipconfig_release_renew.level.yaml index 27f1359..8440011 100644 --- a/scripts/ipconfig_release_renew.level.yaml +++ b/scripts/ipconfig_release_renew.level.yaml @@ -2,7 +2,7 @@ name: ipconfig_release_renew.ps1 description: Releases and renews IP addresses on DHCP-enabled adapters shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/limehawk_admin_profile_branding.level.yaml b/scripts/limehawk_admin_profile_branding.level.yaml index 3cb2c39..40c4065 100644 --- a/scripts/limehawk_admin_profile_branding.level.yaml +++ b/scripts/limehawk_admin_profile_branding.level.yaml @@ -2,7 +2,7 @@ name: limehawk_admin_profile_branding.ps1 description: Creates and manages MSP admin accounts with SuperOps password sync shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 2cb2b16..6530d50 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -2,7 +2,7 @@ name: local_user_admin_create.ps1 description: Creates local administrator account with secure random password shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index 0d91299..2904e9b 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -2,7 +2,7 @@ name: local_user_admin_setup.ps1 description: Creates a new local administrator account for employee onboarding shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 0ffdef1..28b707b 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -2,7 +2,7 @@ name: local_user_admin_toggle.ps1 description: Adds or removes a local user from the Administrators group shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index 079f419..0483c23 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -2,7 +2,7 @@ name: local_user_create.ps1 description: Creates local user account with optional administrator privileges shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index 6ce46a2..f491e2f 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -2,7 +2,7 @@ name: local_user_delete.ps1 description: Deletes local user account and associated profile directory shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index d4d5a1e..63d1121 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -2,7 +2,7 @@ name: local_user_disable.ps1 description: Disables a local user account without deleting profile data shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/macos_auto_updates_enable.level.yaml b/scripts/macos_auto_updates_enable.level.yaml index 11cc34d..3641857 100644 --- a/scripts/macos_auto_updates_enable.level.yaml +++ b/scripts/macos_auto_updates_enable.level.yaml @@ -2,7 +2,7 @@ name: macos_auto_updates_enable.sh description: Enables all automatic update settings on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index f9b6514..567aad5 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -2,7 +2,7 @@ name: maintenance_reboot.ps1 description: System reboot with graceful or force mode for maintenance shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index d6cd1eb..b6a8f29 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -2,7 +2,7 @@ name: mrt_scan.ps1 description: Executes Windows Malicious Software Removal Tool with configurable scan mode shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 3600 readme: | Purpose ------- diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index c14f3c3..212cb6c 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -2,7 +2,7 @@ name: msi_url_install.ps1 description: Downloads and silently installs an MSI package from a specified URL shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/network_dhcp_set_macos.level.yaml b/scripts/network_dhcp_set_macos.level.yaml index 3c0f7a3..37354e8 100644 --- a/scripts/network_dhcp_set_macos.level.yaml +++ b/scripts/network_dhcp_set_macos.level.yaml @@ -2,7 +2,7 @@ name: network_dhcp_set_macos.sh description: Configures macOS network interface to use DHCP for automatic IP shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/network_scan.level.yaml b/scripts/network_scan.level.yaml index 773a925..8792a25 100644 --- a/scripts/network_scan.level.yaml +++ b/scripts/network_scan.level.yaml @@ -2,7 +2,7 @@ name: network_scan.ps1 description: Scans IP address range using multi-threaded ping to discover active hosts shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/network_service_refresh_macos.level.yaml b/scripts/network_service_refresh_macos.level.yaml index 0e1ca95..f0de65a 100644 --- a/scripts/network_service_refresh_macos.level.yaml +++ b/scripts/network_service_refresh_macos.level.yaml @@ -2,7 +2,7 @@ name: network_service_refresh_macos.sh description: Refreshes all macOS network services by toggling them off and on shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/ninjaone_uninstall.level.yaml b/scripts/ninjaone_uninstall.level.yaml index 22a5250..f225dd5 100644 --- a/scripts/ninjaone_uninstall.level.yaml +++ b/scripts/ninjaone_uninstall.level.yaml @@ -2,7 +2,7 @@ name: ninjaone_uninstall.ps1 description: Completely removes NinjaOne RMM agent and Ninja Remote from Windows shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/nircmd_resolution_set.level.yaml b/scripts/nircmd_resolution_set.level.yaml index 44b8549..1932dcd 100644 --- a/scripts/nircmd_resolution_set.level.yaml +++ b/scripts/nircmd_resolution_set.level.yaml @@ -2,7 +2,7 @@ name: nircmd_resolution_set.ps1 description: Changes display resolution using NirSoft NirCmd utility shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/nircmd_screenshot.level.yaml b/scripts/nircmd_screenshot.level.yaml index f2b50fe..2ea84c7 100644 --- a/scripts/nircmd_screenshot.level.yaml +++ b/scripts/nircmd_screenshot.level.yaml @@ -2,7 +2,7 @@ name: nircmd_screenshot.ps1 description: Captures screenshot using NirSoft NirCmd utility shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index 2912e47..ed208d7 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -2,7 +2,7 @@ name: nirsoft_uninstall_view.ps1 description: Uses NirSoft UninstallView to uninstall software matching patterns shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/nvram_reset_reboot_macos.level.yaml b/scripts/nvram_reset_reboot_macos.level.yaml index 43fd4b9..1d23178 100644 --- a/scripts/nvram_reset_reboot_macos.level.yaml +++ b/scripts/nvram_reset_reboot_macos.level.yaml @@ -2,7 +2,7 @@ name: nvram_reset_reboot_macos.sh description: Resets NVRAM and schedules immediate macOS reboot shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/onedrive_reenable.level.yaml b/scripts/onedrive_reenable.level.yaml index 9f40429..6b755d1 100644 --- a/scripts/onedrive_reenable.level.yaml +++ b/scripts/onedrive_reenable.level.yaml @@ -2,7 +2,7 @@ name: onedrive_reenable.ps1 description: Removes OneDrive blocking policies and reinstalls OneDrive shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/onedrive_remove_complete.level.yaml b/scripts/onedrive_remove_complete.level.yaml index e4d5863..5da817b 100644 --- a/scripts/onedrive_remove_complete.level.yaml +++ b/scripts/onedrive_remove_complete.level.yaml @@ -2,7 +2,7 @@ name: onedrive_remove_complete.ps1 description: Completely removes Microsoft OneDrive with startup suppression shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/onestart_remove_complete.level.yaml b/scripts/onestart_remove_complete.level.yaml index 3003b7b..6f8bfc1 100644 --- a/scripts/onestart_remove_complete.level.yaml +++ b/scripts/onestart_remove_complete.level.yaml @@ -2,7 +2,7 @@ name: onestart_remove_complete.ps1 description: Completely removes OneStart.ai PUP from Windows systems shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/onlyoffice_install.level.yaml b/scripts/onlyoffice_install.level.yaml index e9d364e..568c13d 100644 --- a/scripts/onlyoffice_install.level.yaml +++ b/scripts/onlyoffice_install.level.yaml @@ -2,7 +2,7 @@ name: onlyoffice_install.ps1 description: Downloads and silently installs OnlyOffice Desktop Editors shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/openssh_server_remove.level.yaml b/scripts/openssh_server_remove.level.yaml index 09c7fe7..bcd443c 100644 --- a/scripts/openssh_server_remove.level.yaml +++ b/scripts/openssh_server_remove.level.yaml @@ -2,7 +2,7 @@ name: openssh_server_remove.ps1 description: Removes OpenSSH Server, firewall rule, and cleans up config shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/openssh_server_setup.level.yaml b/scripts/openssh_server_setup.level.yaml index 72d3d29..8773b7a 100644 --- a/scripts/openssh_server_setup.level.yaml +++ b/scripts/openssh_server_setup.level.yaml @@ -2,7 +2,7 @@ name: openssh_server_setup.ps1 description: Installs and configures OpenSSH Server on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/outlook_link_handling_fix.level.yaml b/scripts/outlook_link_handling_fix.level.yaml index 122bc40..60d7219 100644 --- a/scripts/outlook_link_handling_fix.level.yaml +++ b/scripts/outlook_link_handling_fix.level.yaml @@ -2,7 +2,7 @@ name: outlook_link_handling_fix.ps1 description: Configures Outlook to open hyperlinks in the default browser shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/outlook_new_force_migrate.level.yaml b/scripts/outlook_new_force_migrate.level.yaml index ccff223..4ad180d 100644 --- a/scripts/outlook_new_force_migrate.level.yaml +++ b/scripts/outlook_new_force_migrate.level.yaml @@ -2,7 +2,7 @@ name: outlook_new_force_migrate.ps1 description: Forces migration to New Outlook and hides toggle to prevent revert to Classic shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 3600 readme: | Purpose ------- diff --git a/scripts/outlook_new_remove.level.yaml b/scripts/outlook_new_remove.level.yaml index fd72c64..b65f38c 100644 --- a/scripts/outlook_new_remove.level.yaml +++ b/scripts/outlook_new_remove.level.yaml @@ -2,7 +2,7 @@ name: outlook_new_remove.ps1 description: Removes the New Outlook (Microsoft.OutlookForWindows) app from all user profiles and prevents reinstallation shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/outlook_new_restore.level.yaml b/scripts/outlook_new_restore.level.yaml index 169edea..f311d89 100644 --- a/scripts/outlook_new_restore.level.yaml +++ b/scripts/outlook_new_restore.level.yaml @@ -2,7 +2,7 @@ name: outlook_new_restore.ps1 description: Reinstalls the New Outlook app and re-enables the Try the new Outlook toggle shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index 2ffdec5..8f90050 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -2,7 +2,7 @@ name: password_files_search.ps1 description: Searches user profiles for password and credential files shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index b6f5fc1..55773af 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -2,7 +2,7 @@ name: password_files_tickets_search.ps1 description: Searches for password files and creates SuperOps tickets shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/potplayer_install.level.yaml b/scripts/potplayer_install.level.yaml index 5c5693e..7f234e6 100644 --- a/scripts/potplayer_install.level.yaml +++ b/scripts/potplayer_install.level.yaml @@ -2,7 +2,7 @@ name: potplayer_install.ps1 description: Downloads and silently installs PotPlayer media player shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/power_plans_default_add.level.yaml b/scripts/power_plans_default_add.level.yaml index 6a030ec..531f6d3 100644 --- a/scripts/power_plans_default_add.level.yaml +++ b/scripts/power_plans_default_add.level.yaml @@ -2,7 +2,7 @@ name: power_plans_default_add.ps1 description: Restores missing default Windows power plans shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/power_profile_always_on_set.level.yaml b/scripts/power_profile_always_on_set.level.yaml index 5f05014..bf8c43b 100644 --- a/scripts/power_profile_always_on_set.level.yaml +++ b/scripts/power_profile_always_on_set.level.yaml @@ -2,7 +2,7 @@ name: power_profile_always_on_set.ps1 description: Creates custom always-on power plan for workstations shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/power_profile_set_macos.level.yaml b/scripts/power_profile_set_macos.level.yaml index 41f6782..19ad6ef 100644 --- a/scripts/power_profile_set_macos.level.yaml +++ b/scripts/power_profile_set_macos.level.yaml @@ -2,7 +2,7 @@ name: power_profile_set_macos.sh description: Configures always-on power settings for macOS systems shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 7d344c1..7b2eda9 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -2,7 +2,7 @@ name: prinstall_add.ps1 description: Installs a network or USB printer using prinstall 0.3.0+ shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index 558c58e..f7cb24d 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -2,7 +2,7 @@ name: prinstall_driver_add.ps1 description: Stages a driver into the Windows driver store using prinstall 0.4.12+ shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/prinstall_driver_list.level.yaml b/scripts/prinstall_driver_list.level.yaml index 2801ebd..756accc 100644 --- a/scripts/prinstall_driver_list.level.yaml +++ b/scripts/prinstall_driver_list.level.yaml @@ -2,7 +2,7 @@ name: prinstall_driver_list.ps1 description: Lists drivers in the Windows driver store using prinstall 0.4.13+ shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index 445a0f2..b604aae 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -2,7 +2,7 @@ name: prinstall_driver_remove.ps1 description: Removes a driver from the Windows driver store using prinstall 0.4.13+ shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index 7065859..38d5da5 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -2,7 +2,7 @@ name: prinstall_drivers.ps1 description: Previews matched and universal drivers for a network printer shell: POWERSHELL runAs: SYSTEM -timeout: 2 +timeout: 120 readme: | Purpose ------- diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index 33dd3f7..fb035de 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -2,7 +2,7 @@ name: prinstall_id.ps1 description: Identifies a single printer by IP via SNMP using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 2 +timeout: 120 readme: | Purpose ------- diff --git a/scripts/prinstall_list.level.yaml b/scripts/prinstall_list.level.yaml index f21aa7b..ac3887e 100644 --- a/scripts/prinstall_list.level.yaml +++ b/scripts/prinstall_list.level.yaml @@ -2,7 +2,7 @@ name: prinstall_list.ps1 description: Lists installed printers on the system using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index cd55ba6..355239c 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -2,7 +2,7 @@ name: prinstall_remove.ps1 description: Removes a printer and its orphaned driver/port using prinstall 0.3.0+ shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index e4f9265..ca8346b 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -2,7 +2,7 @@ name: prinstall_scan.ps1 description: Scans a subnet for network printers using prinstall shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 149f156..37c0067 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -2,7 +2,7 @@ name: prinstall_setup.ps1 description: Installs or uninstalls prinstall from GitHub releases shell: POWERSHELL runAs: SYSTEM -timeout: 10 +timeout: 600 readme: | Purpose ------- diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index 044b20d..cf29bb5 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -2,7 +2,7 @@ name: prinstall_trust_codesign.ps1 description: Imports the Prinstall self-signed code signing cert into LocalMachine trust stores shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/print_queue_clear.level.yaml b/scripts/print_queue_clear.level.yaml index 4b46f9c..99bc844 100644 --- a/scripts/print_queue_clear.level.yaml +++ b/scripts/print_queue_clear.level.yaml @@ -2,7 +2,7 @@ name: print_queue_clear.ps1 description: Clears stuck print jobs by resetting Print Spooler service shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/print_queue_reset.level.yaml b/scripts/print_queue_reset.level.yaml index d366433..a71c385 100644 --- a/scripts/print_queue_reset.level.yaml +++ b/scripts/print_queue_reset.level.yaml @@ -2,7 +2,7 @@ name: print_queue_reset.ps1 description: Resets Windows print queue by clearing spooler directory shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/printer_connection_test.level.yaml b/scripts/printer_connection_test.level.yaml index 602aeb8..413f199 100644 --- a/scripts/printer_connection_test.level.yaml +++ b/scripts/printer_connection_test.level.yaml @@ -2,7 +2,7 @@ name: printer_connection_test.sh description: Tests network printer connectivity via ping and IPP port check shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/printer_install_linux.level.yaml b/scripts/printer_install_linux.level.yaml index ca42fb2..ab884a9 100644 --- a/scripts/printer_install_linux.level.yaml +++ b/scripts/printer_install_linux.level.yaml @@ -2,7 +2,7 @@ name: printer_install_linux.sh description: Installs network printer via IPP using lpadmin on Linux shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/printer_install_macos.level.yaml b/scripts/printer_install_macos.level.yaml index 64de69a..2cd0844 100644 --- a/scripts/printer_install_macos.level.yaml +++ b/scripts/printer_install_macos.level.yaml @@ -2,7 +2,7 @@ name: printer_install_macos.sh description: Installs network printer via IPP using lpadmin on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/printers_remove_all.level.yaml b/scripts/printers_remove_all.level.yaml index 68d5080..01aef85 100644 --- a/scripts/printers_remove_all.level.yaml +++ b/scripts/printers_remove_all.level.yaml @@ -2,7 +2,7 @@ name: printers_remove_all.ps1 description: Removes all printers, drivers, and ports from Windows shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml index 8eceead..4bf49d1 100644 --- a/scripts/public_ip_export_superops.level.yaml +++ b/scripts/public_ip_export_superops.level.yaml @@ -2,7 +2,7 @@ name: public_ip_export_superops.ps1 description: Fetches public IP info from wtfismyip.com and syncs to SuperOps shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/public_ip_export_superops_macos.level.yaml b/scripts/public_ip_export_superops_macos.level.yaml index 5267e9c..6f5e8e8 100644 --- a/scripts/public_ip_export_superops_macos.level.yaml +++ b/scripts/public_ip_export_superops_macos.level.yaml @@ -2,7 +2,7 @@ name: public_ip_export_superops_macos.sh description: Fetches public IP info from wtfismyip.com and outputs formatted results shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index c4af40b..ee22a52 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -2,7 +2,7 @@ name: restic_b2_backup_install.ps1 description: Installs Restic, configures B2 repository, schedules daily backups shell: POWERSHELL runAs: SYSTEM -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/rustic_backup.level.yaml b/scripts/rustic_backup.level.yaml index 378b48b..7f8c5a6 100644 --- a/scripts/rustic_backup.level.yaml +++ b/scripts/rustic_backup.level.yaml @@ -2,7 +2,7 @@ name: rustic_backup.ps1 description: Runs rustic backup, prune, and integrity check using existing profile shell: POWERSHELL runAs: SYSTEM -timeout: 120 +timeout: 7200 readme: | Purpose ------- diff --git a/scripts/rustic_backup_unix.level.yaml b/scripts/rustic_backup_unix.level.yaml index 38ea2fd..78f6a95 100644 --- a/scripts/rustic_backup_unix.level.yaml +++ b/scripts/rustic_backup_unix.level.yaml @@ -2,7 +2,7 @@ name: rustic_backup_unix.sh description: Runs rustic backup, prune, and integrity check (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 120 +timeout: 7200 readme: | Purpose ------- diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index 5c4bdab..195f38a 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -2,7 +2,7 @@ name: rustic_install.ps1 description: Installs Rustic, configures backend repository, schedules daily backups shell: POWERSHELL runAs: SYSTEM -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index fe1b867..95eb381 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -2,7 +2,7 @@ name: rustic_install_unix.sh description: Installs Rustic, configures backend repository, schedules daily backups shell: BASH runAs: SYSTEM -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index c1f7f02..606183d 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -2,7 +2,7 @@ name: rustic_restore.ps1 description: Restores files from a rustic backup snapshot to a local destination shell: POWERSHELL runAs: SYSTEM -timeout: 120 +timeout: 7200 readme: | Purpose ------- diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index 062c457..bade129 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -2,7 +2,7 @@ name: rustic_restore_unix.sh description: Restores files from a rustic backup snapshot (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 120 +timeout: 7200 readme: | Purpose ------- diff --git a/scripts/rustic_uninstall.level.yaml b/scripts/rustic_uninstall.level.yaml index 4328646..8833190 100644 --- a/scripts/rustic_uninstall.level.yaml +++ b/scripts/rustic_uninstall.level.yaml @@ -2,7 +2,7 @@ name: rustic_uninstall.ps1 description: Removes rustic binary, config, scheduled task, and logs shell: POWERSHELL runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/rustic_uninstall_unix.level.yaml b/scripts/rustic_uninstall_unix.level.yaml index edf9d00..3f3ca2d 100644 --- a/scripts/rustic_uninstall_unix.level.yaml +++ b/scripts/rustic_uninstall_unix.level.yaml @@ -2,7 +2,7 @@ name: rustic_uninstall_unix.sh description: Removes rustic binary, config, schedule, and logs (Linux/macOS) shell: BASH runAs: SYSTEM -timeout: 5 +timeout: 300 readme: | Purpose ------- diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index ba43eaf..6872c5b 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -2,7 +2,7 @@ name: sentinelone_install.ps1 description: Silently installs SentinelOne endpoint agent with site token shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/sentinelone_services_start.level.yaml b/scripts/sentinelone_services_start.level.yaml index 120d372..7d27992 100644 --- a/scripts/sentinelone_services_start.level.yaml +++ b/scripts/sentinelone_services_start.level.yaml @@ -2,7 +2,7 @@ name: sentinelone_services_start.ps1 description: Ensures all SentinelOne services are running on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/sentinelone_uninstall_linux.level.yaml b/scripts/sentinelone_uninstall_linux.level.yaml index 86915e9..0e40e8b 100644 --- a/scripts/sentinelone_uninstall_linux.level.yaml +++ b/scripts/sentinelone_uninstall_linux.level.yaml @@ -2,7 +2,7 @@ name: sentinelone_uninstall_linux.sh description: Uninstalls SentinelOne agent from Linux using passphrase shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/shutdown_toggle.level.yaml b/scripts/shutdown_toggle.level.yaml index 81df4db..7f0d05c 100644 --- a/scripts/shutdown_toggle.level.yaml +++ b/scripts/shutdown_toggle.level.yaml @@ -2,7 +2,7 @@ name: shutdown_toggle.ps1 description: Toggles scheduled shutdown with warning message shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/speedtest_export_superops.level.yaml b/scripts/speedtest_export_superops.level.yaml index 5f26637..5331e9b 100644 --- a/scripts/speedtest_export_superops.level.yaml +++ b/scripts/speedtest_export_superops.level.yaml @@ -2,7 +2,7 @@ name: speedtest_export_superops.ps1 description: Runs Ookla Speedtest and syncs results to SuperOps custom fields shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_business_install.level.yaml b/scripts/splashtop_business_install.level.yaml index 1bef3ef..ec0544d 100644 --- a/scripts/splashtop_business_install.level.yaml +++ b/scripts/splashtop_business_install.level.yaml @@ -2,7 +2,7 @@ name: splashtop_business_install.ps1 description: Installs Splashtop Business client via winget shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_business_install_macos.level.yaml b/scripts/splashtop_business_install_macos.level.yaml index d39c2e1..9083eae 100644 --- a/scripts/splashtop_business_install_macos.level.yaml +++ b/scripts/splashtop_business_install_macos.level.yaml @@ -2,7 +2,7 @@ name: splashtop_business_install_macos.sh description: Downloads and installs Splashtop Business client on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_service_restart.level.yaml b/scripts/splashtop_service_restart.level.yaml index 5e6bf7a..5529e21 100644 --- a/scripts/splashtop_service_restart.level.yaml +++ b/scripts/splashtop_service_restart.level.yaml @@ -2,7 +2,7 @@ name: splashtop_service_restart.ps1 description: Restarts Splashtop Remote Service to resolve connectivity issues shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_service_restart_macos.level.yaml b/scripts/splashtop_service_restart_macos.level.yaml index f883b8b..51cd9a5 100644 --- a/scripts/splashtop_service_restart_macos.level.yaml +++ b/scripts/splashtop_service_restart_macos.level.yaml @@ -2,7 +2,7 @@ name: splashtop_service_restart_macos.sh description: Restarts Splashtop Streamer service on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_streamer_install.level.yaml b/scripts/splashtop_streamer_install.level.yaml index 01cf8a5..b366134 100644 --- a/scripts/splashtop_streamer_install.level.yaml +++ b/scripts/splashtop_streamer_install.level.yaml @@ -2,7 +2,7 @@ name: splashtop_streamer_install.ps1 description: Silently installs Splashtop Streamer agent for remote access shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_streamer_install_debian_amd64.level.yaml b/scripts/splashtop_streamer_install_debian_amd64.level.yaml index 125b652..250b961 100644 --- a/scripts/splashtop_streamer_install_debian_amd64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_amd64.level.yaml @@ -2,7 +2,7 @@ name: splashtop_streamer_install_debian_amd64.sh description: Installs Splashtop Streamer on Debian/Ubuntu AMD64 systems shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_streamer_install_debian_arm64.level.yaml b/scripts/splashtop_streamer_install_debian_arm64.level.yaml index 7b6e014..f53b007 100644 --- a/scripts/splashtop_streamer_install_debian_arm64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_arm64.level.yaml @@ -2,7 +2,7 @@ name: splashtop_streamer_install_debian_arm64.sh description: Installs Splashtop Streamer on Debian/Ubuntu ARM64 systems shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_streamer_install_macos.level.yaml b/scripts/splashtop_streamer_install_macos.level.yaml index a66ff46..931e19c 100644 --- a/scripts/splashtop_streamer_install_macos.level.yaml +++ b/scripts/splashtop_streamer_install_macos.level.yaml @@ -2,7 +2,7 @@ name: splashtop_streamer_install_macos.sh description: Downloads and installs Splashtop Streamer agent on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_uninstall.level.yaml b/scripts/splashtop_uninstall.level.yaml index 1267485..e824fba 100644 --- a/scripts/splashtop_uninstall.level.yaml +++ b/scripts/splashtop_uninstall.level.yaml @@ -2,7 +2,7 @@ name: splashtop_uninstall.ps1 description: Uninstalls Splashtop Streamer using Windows MSI service shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/splashtop_uninstall_macos.level.yaml b/scripts/splashtop_uninstall_macos.level.yaml index 72aa64e..ef851a8 100644 --- a/scripts/splashtop_uninstall_macos.level.yaml +++ b/scripts/splashtop_uninstall_macos.level.yaml @@ -2,7 +2,7 @@ name: splashtop_uninstall_macos.sh description: Completely removes Splashtop Streamer and all components from macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/start_menu_tiles_clear.level.yaml b/scripts/start_menu_tiles_clear.level.yaml index ea494bb..a18bf52 100644 --- a/scripts/start_menu_tiles_clear.level.yaml +++ b/scripts/start_menu_tiles_clear.level.yaml @@ -2,7 +2,7 @@ name: start_menu_tiles_clear.ps1 description: Removes all pinned app tiles from Windows 10 Start menu shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/stdrename_install_toggle.level.yaml b/scripts/stdrename_install_toggle.level.yaml index f387416..0c731b4 100644 --- a/scripts/stdrename_install_toggle.level.yaml +++ b/scripts/stdrename_install_toggle.level.yaml @@ -2,7 +2,7 @@ name: stdrename_install_toggle.ps1 description: Toggles installation of stdrename file renaming utility shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml index 07ccefe..4246492 100644 --- a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml +++ b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_alt_path_uninstall_macos.sh description: Uninstalls SuperOps agent from alternate /Library/limehawk path shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_install.level.yaml b/scripts/superops_agent_install.level.yaml index 6da9093..603f148 100644 --- a/scripts/superops_agent_install.level.yaml +++ b/scripts/superops_agent_install.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_install.ps1 description: Downloads and installs SuperOps RMM agent on Windows shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_install_macos.level.yaml b/scripts/superops_agent_install_macos.level.yaml index f072530..d17b109 100644 --- a/scripts/superops_agent_install_macos.level.yaml +++ b/scripts/superops_agent_install_macos.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_install_macos.sh description: Downloads and installs SuperOps RMM agent on macOS via PKG shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_legacy_uninstall.level.yaml b/scripts/superops_agent_legacy_uninstall.level.yaml index b9819c5..b56b0c9 100644 --- a/scripts/superops_agent_legacy_uninstall.level.yaml +++ b/scripts/superops_agent_legacy_uninstall.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_legacy_uninstall.ps1 description: Uninstalls legacy SuperOps agent via WMI IdentifyingNumber shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_reinstall_macos.level.yaml b/scripts/superops_agent_reinstall_macos.level.yaml index 2a3d2f5..7280afa 100644 --- a/scripts/superops_agent_reinstall_macos.level.yaml +++ b/scripts/superops_agent_reinstall_macos.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_reinstall_macos.sh description: Uninstalls and reinstalls SuperOps RMM agent on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_uninstall.level.yaml b/scripts/superops_agent_uninstall.level.yaml index 5ea6558..d16b0fc 100644 --- a/scripts/superops_agent_uninstall.level.yaml +++ b/scripts/superops_agent_uninstall.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_uninstall.ps1 description: Uninstalls SuperOps RMM agent using official or registry method shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_uninstall_alt.level.yaml b/scripts/superops_agent_uninstall_alt.level.yaml index 9ec8723..4fb8db4 100644 --- a/scripts/superops_agent_uninstall_alt.level.yaml +++ b/scripts/superops_agent_uninstall_alt.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_uninstall_alt.ps1 description: Uninstalls SuperOps agent via WMI/CIM with diagnostic reporting shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_uninstall_linux.level.yaml b/scripts/superops_agent_uninstall_linux.level.yaml index 94d9011..ac39760 100644 --- a/scripts/superops_agent_uninstall_linux.level.yaml +++ b/scripts/superops_agent_uninstall_linux.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_uninstall_linux.sh description: Uninstalls SuperOps RMM agent from Linux using vendor script shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_agent_uninstall_macos.level.yaml b/scripts/superops_agent_uninstall_macos.level.yaml index 1d86b74..6d044ce 100644 --- a/scripts/superops_agent_uninstall_macos.level.yaml +++ b/scripts/superops_agent_uninstall_macos.level.yaml @@ -2,7 +2,7 @@ name: superops_agent_uninstall_macos.sh description: Uninstalls SuperOps RMM agent from macOS using vendor script shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index d049c0d..edb56a9 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -2,7 +2,7 @@ name: superops_service_restart.ps1 description: Restarts RMM agent services with automatic RMM execution detection shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/superops_tray_icon_show_always.level.yaml b/scripts/superops_tray_icon_show_always.level.yaml index 0651595..fc5a586 100644 --- a/scripts/superops_tray_icon_show_always.level.yaml +++ b/scripts/superops_tray_icon_show_always.level.yaml @@ -2,7 +2,7 @@ name: superops_tray_icon_show_always.ps1 description: Configures Windows to always show SuperOps tray icon shell: POWERSHELL runAs: CURRENT_USER -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/synology_backup_agent_install.level.yaml b/scripts/synology_backup_agent_install.level.yaml index 682560a..41df63f 100644 --- a/scripts/synology_backup_agent_install.level.yaml +++ b/scripts/synology_backup_agent_install.level.yaml @@ -2,7 +2,7 @@ name: synology_backup_agent_install.ps1 description: Installs Synology Active Backup for Business Agent via winget shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/synology_backup_agent_install_linux.level.yaml b/scripts/synology_backup_agent_install_linux.level.yaml index a450ca6..d149495 100644 --- a/scripts/synology_backup_agent_install_linux.level.yaml +++ b/scripts/synology_backup_agent_install_linux.level.yaml @@ -2,7 +2,7 @@ name: synology_backup_agent_install_linux.sh description: Installs Synology Active Backup for Business Agent on Linux shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index 257058c..91f2bf2 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -2,7 +2,7 @@ name: terminated_user_lockout.ps1 description: Immediately locks out a terminated user — resets password, disables account, locks workstation, forces logoff shell: POWERSHELL runAs: SYSTEM -timeout: 30 +timeout: 1800 readme: | Purpose ------- diff --git a/scripts/time_sync_fix.level.yaml b/scripts/time_sync_fix.level.yaml index a520182..ebb3396 100644 --- a/scripts/time_sync_fix.level.yaml +++ b/scripts/time_sync_fix.level.yaml @@ -2,7 +2,7 @@ name: time_sync_fix.ps1 description: Fixes Windows time synchronization by resetting NTP configuration shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/time_utc_set.level.yaml b/scripts/time_utc_set.level.yaml index 5a20b9a..2e5e816 100644 --- a/scripts/time_utc_set.level.yaml +++ b/scripts/time_utc_set.level.yaml @@ -2,7 +2,7 @@ name: time_utc_set.ps1 description: Fixes time drift on Windows/Linux dual-boot systems shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/ubuntu_debian_update_verbose.level.yaml b/scripts/ubuntu_debian_update_verbose.level.yaml index aa515c7..ac8a463 100644 --- a/scripts/ubuntu_debian_update_verbose.level.yaml +++ b/scripts/ubuntu_debian_update_verbose.level.yaml @@ -2,7 +2,7 @@ name: ubuntu_debian_update_verbose.sh description: Updates all packages on Ubuntu/Debian with verbose output shell: BASH runAs: SYSTEM -timeout: 180 +timeout: 10800 readme: | Purpose ------- diff --git a/scripts/user_accounts_report.level.yaml b/scripts/user_accounts_report.level.yaml index 569af70..b42275a 100644 --- a/scripts/user_accounts_report.level.yaml +++ b/scripts/user_accounts_report.level.yaml @@ -2,7 +2,7 @@ name: user_accounts_report.ps1 description: Generates report of local user accounts and group memberships shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/usmt_lan_migrate.level.yaml b/scripts/usmt_lan_migrate.level.yaml index cdd7a04..0b5cd6d 100644 --- a/scripts/usmt_lan_migrate.level.yaml +++ b/scripts/usmt_lan_migrate.level.yaml @@ -2,7 +2,7 @@ name: usmt_lan_migrate.ps1 description: LAN profile migration over USMT, store moved via LocalSend or path shell: POWERSHELL runAs: SYSTEM -timeout: 60 +timeout: 3600 readme: | Purpose ------- diff --git a/scripts/usmt_profile_migrate.level.yaml b/scripts/usmt_profile_migrate.level.yaml index 8940227..c101c2f 100644 --- a/scripts/usmt_profile_migrate.level.yaml +++ b/scripts/usmt_profile_migrate.level.yaml @@ -2,7 +2,7 @@ name: usmt_profile_migrate.ps1 description: Interactive USMT backup/restore for remote terminal sessions shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/webview2_repair_install.level.yaml b/scripts/webview2_repair_install.level.yaml index 63c5187..10a63ba 100644 --- a/scripts/webview2_repair_install.level.yaml +++ b/scripts/webview2_repair_install.level.yaml @@ -2,7 +2,7 @@ name: webview2_repair_install.ps1 description: Detects and repairs broken Microsoft Edge WebView2 Runtime installs shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/wifi_adapters_disable.level.yaml b/scripts/wifi_adapters_disable.level.yaml index dc730a1..7553014 100644 --- a/scripts/wifi_adapters_disable.level.yaml +++ b/scripts/wifi_adapters_disable.level.yaml @@ -2,7 +2,7 @@ name: wifi_adapters_disable.ps1 description: Disables all physical and virtual Wi-Fi network adapters shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/wifi_passwords_show.level.yaml b/scripts/wifi_passwords_show.level.yaml index 30913c0..f7b4262 100644 --- a/scripts/wifi_passwords_show.level.yaml +++ b/scripts/wifi_passwords_show.level.yaml @@ -2,7 +2,7 @@ name: wifi_passwords_show.ps1 description: Retrieves and displays all saved Wi-Fi network passwords shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/wifiman_install.level.yaml b/scripts/wifiman_install.level.yaml index fb1a0bf..7713431 100644 --- a/scripts/wifiman_install.level.yaml +++ b/scripts/wifiman_install.level.yaml @@ -2,7 +2,7 @@ name: wifiman_install.ps1 description: Installs Ubiquiti WiFiman Desktop via winget shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/win11_compatibility_check.level.yaml b/scripts/win11_compatibility_check.level.yaml index 808d2a3..db90f95 100644 --- a/scripts/win11_compatibility_check.level.yaml +++ b/scripts/win11_compatibility_check.level.yaml @@ -2,7 +2,7 @@ name: win11_compatibility_check.ps1 description: Checks hardware requirements for Windows 11 upgrade shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows11_compatibility_check.level.yaml b/scripts/windows11_compatibility_check.level.yaml index ad618d8..2f81250 100644 --- a/scripts/windows11_compatibility_check.level.yaml +++ b/scripts/windows11_compatibility_check.level.yaml @@ -2,7 +2,7 @@ name: windows11_compatibility_check.ps1 description: Checks TPM, SecureBoot, RAM, CPU compatibility for Windows 11 shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_dark_mode_enable.level.yaml b/scripts/windows_dark_mode_enable.level.yaml index aadaee3..6d3bfbd 100644 --- a/scripts/windows_dark_mode_enable.level.yaml +++ b/scripts/windows_dark_mode_enable.level.yaml @@ -2,7 +2,7 @@ name: windows_dark_mode_enable.ps1 description: Sets wallpaper and dark mode on non-activated Windows 11 shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index 4e51187..35ff14b 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -2,7 +2,7 @@ name: windows_dism_sfc_chkdsk_run.ps1 description: Runs DISM, SFC, and chkdsk for Windows system file repair shell: POWERSHELL runAs: SYSTEM -timeout: 240 +timeout: 14400 readme: | Purpose ------- diff --git a/scripts/windows_firewall_toggle.level.yaml b/scripts/windows_firewall_toggle.level.yaml index c2e8fb3..7e2be0f 100644 --- a/scripts/windows_firewall_toggle.level.yaml +++ b/scripts/windows_firewall_toggle.level.yaml @@ -2,7 +2,7 @@ name: windows_firewall_toggle.ps1 description: Enables or disables Windows Firewall for all profiles shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_product_key_export_superops.level.yaml b/scripts/windows_product_key_export_superops.level.yaml index 8e8d4b9..2c97633 100644 --- a/scripts/windows_product_key_export_superops.level.yaml +++ b/scripts/windows_product_key_export_superops.level.yaml @@ -2,7 +2,7 @@ name: windows_product_key_export_superops.ps1 description: Retrieves Windows product key and syncs to SuperOps custom field shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_update_access_restore.level.yaml b/scripts/windows_update_access_restore.level.yaml index a277809..78d9968 100644 --- a/scripts/windows_update_access_restore.level.yaml +++ b/scripts/windows_update_access_restore.level.yaml @@ -2,7 +2,7 @@ name: windows_update_access_restore.ps1 description: Restores user access to Windows Update settings shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_update_access_toggle.level.yaml b/scripts/windows_update_access_toggle.level.yaml index f10e73c..1ccd4f8 100644 --- a/scripts/windows_update_access_toggle.level.yaml +++ b/scripts/windows_update_access_toggle.level.yaml @@ -2,7 +2,7 @@ name: windows_update_access_toggle.ps1 description: Toggles user access to Windows Update in Settings app shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/windows_update_reset.level.yaml b/scripts/windows_update_reset.level.yaml index 0d74631..f0bcda7 100644 --- a/scripts/windows_update_reset.level.yaml +++ b/scripts/windows_update_reset.level.yaml @@ -2,7 +2,7 @@ name: windows_update_reset.ps1 description: Resets Windows Update components and clears cache shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index ba0ce1c..76e9e7d 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -2,7 +2,7 @@ name: winget_package_install.ps1 description: Installs software package using winget with SuperOps integration shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winget_setup.level.yaml b/scripts/winget_setup.level.yaml index b9355ee..7c49ac6 100644 --- a/scripts/winget_setup.level.yaml +++ b/scripts/winget_setup.level.yaml @@ -2,7 +2,7 @@ name: winget_setup.ps1 description: Installs winget (Windows Package Manager) for RMM environments shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winget_upgrade_all.level.yaml b/scripts/winget_upgrade_all.level.yaml index f5db12f..45a2052 100644 --- a/scripts/winget_upgrade_all.level.yaml +++ b/scripts/winget_upgrade_all.level.yaml @@ -2,7 +2,7 @@ name: winget_upgrade_all.ps1 description: Upgrades all winget-managed packages to latest versions shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winre_partition_resize.level.yaml b/scripts/winre_partition_resize.level.yaml index 1f18276..fe9660d 100644 --- a/scripts/winre_partition_resize.level.yaml +++ b/scripts/winre_partition_resize.level.yaml @@ -2,7 +2,7 @@ name: winre_partition_resize.ps1 description: Extends WinRE partition by 250MB for Windows updates shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winre_restore.level.yaml b/scripts/winre_restore.level.yaml index f062c12..f3276eb 100644 --- a/scripts/winre_restore.level.yaml +++ b/scripts/winre_restore.level.yaml @@ -2,7 +2,7 @@ name: winre_restore.ps1 description: Restores Windows Recovery Environment from system image shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/winreagent_cleanup.level.yaml b/scripts/winreagent_cleanup.level.yaml index f360acf..969b0ba 100644 --- a/scripts/winreagent_cleanup.level.yaml +++ b/scripts/winreagent_cleanup.level.yaml @@ -2,7 +2,7 @@ name: winreagent_cleanup.ps1 description: Cleans up WinREAgent folder to free disk space shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/wol_enable.level.yaml b/scripts/wol_enable.level.yaml index 1e73d2a..1183180 100644 --- a/scripts/wol_enable.level.yaml +++ b/scripts/wol_enable.level.yaml @@ -2,7 +2,7 @@ name: wol_enable.ps1 description: Enables Wake-on-LAN settings for Ethernet adapters shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/wol_status_check.level.yaml b/scripts/wol_status_check.level.yaml index 64e7238..cfb395c 100644 --- a/scripts/wol_status_check.level.yaml +++ b/scripts/wol_status_check.level.yaml @@ -2,7 +2,7 @@ name: wol_status_check.ps1 description: Checks Wake-on-LAN status at BIOS and OS levels shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_info_display.level.yaml b/scripts/workstation_info_display.level.yaml index e9ca335..bff62b3 100644 --- a/scripts/workstation_info_display.level.yaml +++ b/scripts/workstation_info_display.level.yaml @@ -2,7 +2,7 @@ name: workstation_info_display.ps1 description: Displays system info popup for user self-service from tray icon shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_info_display_macos.level.yaml b/scripts/workstation_info_display_macos.level.yaml index eba9496..a32578c 100644 --- a/scripts/workstation_info_display_macos.level.yaml +++ b/scripts/workstation_info_display_macos.level.yaml @@ -2,7 +2,7 @@ name: workstation_info_display_macos.sh description: Displays system info popup dialog for macOS user self-service shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_oobe_seal.level.yaml b/scripts/workstation_oobe_seal.level.yaml index 307a375..2ca24fc 100644 --- a/scripts/workstation_oobe_seal.level.yaml +++ b/scripts/workstation_oobe_seal.level.yaml @@ -2,7 +2,7 @@ name: workstation_oobe_seal.ps1 description: Seals a configured Win11 image to a silent OOBE via sysprep shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_reboot_force.level.yaml b/scripts/workstation_reboot_force.level.yaml index cd99916..b4a447a 100644 --- a/scripts/workstation_reboot_force.level.yaml +++ b/scripts/workstation_reboot_force.level.yaml @@ -2,7 +2,7 @@ name: workstation_reboot_force.ps1 description: Forces an immediate system reboot without user prompts shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_remote_wipe.level.yaml b/scripts/workstation_remote_wipe.level.yaml index 07f804f..a54836b 100644 --- a/scripts/workstation_remote_wipe.level.yaml +++ b/scripts/workstation_remote_wipe.level.yaml @@ -2,7 +2,7 @@ name: workstation_remote_wipe.ps1 description: Initiates MDM remote wipe to factory reset Windows device shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 744f058..c444e7b 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -2,7 +2,7 @@ name: workstation_rename_auto.ps1 description: Auto-renames Windows device using CLIENT3-USER-UUID pattern shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml index 3a24252..a675115 100644 --- a/scripts/workstation_rename_auto_macos.level.yaml +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -2,7 +2,7 @@ name: workstation_rename_auto_macos.sh description: Auto-renames macOS device using CLIENT-USER-UUID pattern shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index ebc2a4b..9f81ddb 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -2,7 +2,7 @@ name: workstation_rename_manual.ps1 description: Renames Windows device with custom client segment override shell: POWERSHELL runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index c3d19da..588e79d 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -2,7 +2,7 @@ name: workstation_rename_manual_macos.sh description: Renames macOS device with custom name via RMM variable shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_screenshot_macos.level.yaml b/scripts/workstation_screenshot_macos.level.yaml index 44ab887..e4742c5 100644 --- a/scripts/workstation_screenshot_macos.level.yaml +++ b/scripts/workstation_screenshot_macos.level.yaml @@ -2,7 +2,7 @@ name: workstation_screenshot_macos.sh description: Captures screenshot of all displays on macOS shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- diff --git a/scripts/workstation_uptime_reboot_macos.level.yaml b/scripts/workstation_uptime_reboot_macos.level.yaml index 92618ea..c0efa8c 100644 --- a/scripts/workstation_uptime_reboot_macos.level.yaml +++ b/scripts/workstation_uptime_reboot_macos.level.yaml @@ -2,7 +2,7 @@ name: workstation_uptime_reboot_macos.sh description: Reboots macOS when uptime exceeds configured threshold shell: BASH runAs: SYSTEM -timeout: 15 +timeout: 900 readme: | Purpose ------- From 7b5b015ea7b8b894e8e6ff873799daaa4cb49ad8 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:56:37 -0500 Subject: [PATCH 17/36] chore: sync scripts [smart-sync] --- scripts/1password_install.level.yaml | 2 +- scripts/agent_startup_fix.level.yaml | 2 +- scripts/antivirus_status.level.yaml | 2 +- scripts/antivirus_uninstall.level.yaml | 2 +- scripts/arch_update_verbose.level.yaml | 2 +- scripts/bitlocker_superops_enable.level.yaml | 2 +- scripts/canon_mf455dw_driver_install.level.yaml | 2 +- scripts/choco_upgrade_all.level.yaml | 2 +- scripts/cloudflared_install.level.yaml | 2 +- scripts/cloudflared_status.level.yaml | 2 +- scripts/cloudflared_uninstall.level.yaml | 2 +- scripts/cloudflared_upgrade.level.yaml | 2 +- scripts/cups_toggle_macos.level.yaml | 2 +- scripts/dell_command_update.level.yaml | 2 +- scripts/delprof2_old_profiles_delete.level.yaml | 2 +- scripts/delprof2_profiles_delete_all.level.yaml | 2 +- scripts/delprof2_selected_profile_keep.level.yaml | 2 +- scripts/delprof2_specific_profile_delete.level.yaml | 2 +- scripts/deskview_install.level.yaml | 2 +- scripts/dietpi_proxmox_install.level.yaml | 2 +- scripts/directory_cleanup.level.yaml | 2 +- scripts/directory_size_analyze.level.yaml | 2 +- scripts/disk_cleanup.level.yaml | 2 +- scripts/disk_scan_fix.level.yaml | 2 +- scripts/disk_smart_status.level.yaml | 2 +- scripts/dns_flush.level.yaml | 2 +- scripts/dns_set_provider.level.yaml | 2 +- scripts/dnsfilter_uninstall.level.yaml | 2 +- scripts/dokploy_orphaned_volumes_cleanup.level.yaml | 2 +- scripts/dokploy_running_apps_deploy.level.yaml | 2 +- scripts/ds_store_disable_macos.level.yaml | 2 +- scripts/duplicati_backup_status.level.yaml | 2 +- scripts/edge_chrome_default_user_set.level.yaml | 2 +- scripts/edge_suppress_policies_system.level.yaml | 2 +- scripts/emsisoft_url_install.level.yaml | 2 +- scripts/eset_cleanup.level.yaml | 2 +- scripts/everything_file_search.level.yaml | 2 +- scripts/file_secure_delete.level.yaml | 2 +- scripts/file_secure_delete_certificate.level.yaml | 2 +- scripts/files_rename_snake_case.level.yaml | 2 +- scripts/foxit_pdf_editor_plus_install.level.yaml | 2 +- scripts/gcpw_cleanup.level.yaml | 2 +- scripts/gcpw_install.level.yaml | 2 +- scripts/google_update_trigger.level.yaml | 2 +- scripts/hardware_report.level.yaml | 2 +- scripts/huntress_install_macos.level.yaml | 2 +- scripts/ipconfig_release_renew.level.yaml | 2 +- scripts/limehawk_admin_profile_branding.level.yaml | 2 +- scripts/local_user_admin_create.level.yaml | 2 +- scripts/local_user_admin_setup.level.yaml | 2 +- scripts/local_user_admin_toggle.level.yaml | 2 +- scripts/local_user_create.level.yaml | 2 +- scripts/local_user_delete.level.yaml | 2 +- scripts/local_user_disable.level.yaml | 2 +- scripts/macos_auto_updates_enable.level.yaml | 2 +- scripts/maintenance_reboot.level.yaml | 2 +- scripts/mrt_scan.level.yaml | 2 +- scripts/msi_url_install.level.yaml | 2 +- scripts/network_dhcp_set_macos.level.yaml | 2 +- scripts/network_scan.level.yaml | 2 +- scripts/network_service_refresh_macos.level.yaml | 2 +- scripts/ninjaone_uninstall.level.yaml | 2 +- scripts/nircmd_resolution_set.level.yaml | 2 +- scripts/nircmd_screenshot.level.yaml | 2 +- scripts/nirsoft_uninstall_view.level.yaml | 2 +- scripts/nvram_reset_reboot_macos.level.yaml | 2 +- scripts/onedrive_reenable.level.yaml | 2 +- scripts/onedrive_remove_complete.level.yaml | 2 +- scripts/onestart_remove_complete.level.yaml | 2 +- scripts/onlyoffice_install.level.yaml | 2 +- scripts/openssh_server_remove.level.yaml | 2 +- scripts/openssh_server_setup.level.yaml | 2 +- scripts/outlook_link_handling_fix.level.yaml | 2 +- scripts/outlook_new_force_migrate.level.yaml | 2 +- scripts/outlook_new_remove.level.yaml | 2 +- scripts/outlook_new_restore.level.yaml | 2 +- scripts/password_files_search.level.yaml | 2 +- scripts/password_files_tickets_search.level.yaml | 2 +- scripts/potplayer_install.level.yaml | 2 +- scripts/power_plans_default_add.level.yaml | 2 +- scripts/power_profile_always_on_set.level.yaml | 2 +- scripts/power_profile_set_macos.level.yaml | 2 +- scripts/prinstall_add.level.yaml | 2 +- scripts/prinstall_driver_add.level.yaml | 2 +- scripts/prinstall_driver_list.level.yaml | 2 +- scripts/prinstall_driver_remove.level.yaml | 2 +- scripts/prinstall_drivers.level.yaml | 2 +- scripts/prinstall_id.level.yaml | 2 +- scripts/prinstall_list.level.yaml | 2 +- scripts/prinstall_remove.level.yaml | 2 +- scripts/prinstall_scan.level.yaml | 2 +- scripts/prinstall_setup.level.yaml | 2 +- scripts/prinstall_trust_codesign.level.yaml | 2 +- scripts/print_queue_clear.level.yaml | 2 +- scripts/print_queue_reset.level.yaml | 2 +- scripts/printer_connection_test.level.yaml | 2 +- scripts/printer_install_linux.level.yaml | 2 +- scripts/printer_install_macos.level.yaml | 2 +- scripts/printers_remove_all.level.yaml | 2 +- scripts/public_ip_export_superops.level.yaml | 2 +- scripts/public_ip_export_superops_macos.level.yaml | 2 +- scripts/restic_b2_backup_install.level.yaml | 2 +- scripts/rustic_backup.level.yaml | 2 +- scripts/rustic_backup_unix.level.yaml | 2 +- scripts/rustic_install.level.yaml | 2 +- scripts/rustic_install_unix.level.yaml | 2 +- scripts/rustic_restore.level.yaml | 2 +- scripts/rustic_restore_unix.level.yaml | 2 +- scripts/rustic_uninstall.level.yaml | 2 +- scripts/rustic_uninstall_unix.level.yaml | 2 +- scripts/sentinelone_install.level.yaml | 2 +- scripts/sentinelone_services_start.level.yaml | 2 +- scripts/sentinelone_uninstall_linux.level.yaml | 2 +- scripts/shutdown_toggle.level.yaml | 2 +- scripts/speedtest_export_superops.level.yaml | 2 +- scripts/splashtop_business_install.level.yaml | 2 +- scripts/splashtop_business_install_macos.level.yaml | 2 +- scripts/splashtop_service_restart.level.yaml | 2 +- scripts/splashtop_service_restart_macos.level.yaml | 2 +- scripts/splashtop_streamer_install.level.yaml | 2 +- scripts/splashtop_streamer_install_debian_amd64.level.yaml | 2 +- scripts/splashtop_streamer_install_debian_arm64.level.yaml | 2 +- scripts/splashtop_streamer_install_macos.level.yaml | 2 +- scripts/splashtop_uninstall.level.yaml | 2 +- scripts/splashtop_uninstall_macos.level.yaml | 2 +- scripts/start_menu_tiles_clear.level.yaml | 2 +- scripts/stdrename_install_toggle.level.yaml | 2 +- scripts/superops_agent_alt_path_uninstall_macos.level.yaml | 2 +- scripts/superops_agent_install.level.yaml | 2 +- scripts/superops_agent_install_macos.level.yaml | 2 +- scripts/superops_agent_legacy_uninstall.level.yaml | 2 +- scripts/superops_agent_reinstall_macos.level.yaml | 2 +- scripts/superops_agent_uninstall.level.yaml | 2 +- scripts/superops_agent_uninstall_alt.level.yaml | 2 +- scripts/superops_agent_uninstall_linux.level.yaml | 2 +- scripts/superops_agent_uninstall_macos.level.yaml | 2 +- scripts/superops_service_restart.level.yaml | 2 +- scripts/superops_tray_icon_show_always.level.yaml | 2 +- scripts/synology_backup_agent_install.level.yaml | 2 +- scripts/synology_backup_agent_install_linux.level.yaml | 2 +- scripts/terminated_user_lockout.level.yaml | 2 +- scripts/time_sync_fix.level.yaml | 2 +- scripts/time_utc_set.level.yaml | 2 +- scripts/ubuntu_debian_update_verbose.level.yaml | 2 +- scripts/user_accounts_report.level.yaml | 2 +- scripts/usmt_lan_migrate.level.yaml | 2 +- scripts/usmt_profile_migrate.level.yaml | 2 +- scripts/webview2_repair_install.level.yaml | 2 +- scripts/wifi_adapters_disable.level.yaml | 2 +- scripts/wifi_passwords_show.level.yaml | 2 +- scripts/wifiman_install.level.yaml | 2 +- scripts/win11_compatibility_check.level.yaml | 2 +- scripts/windows11_compatibility_check.level.yaml | 2 +- scripts/windows_dark_mode_enable.level.yaml | 2 +- scripts/windows_dism_sfc_chkdsk_run.level.yaml | 2 +- scripts/windows_firewall_toggle.level.yaml | 2 +- scripts/windows_product_key_export_superops.level.yaml | 2 +- scripts/windows_update_access_restore.level.yaml | 2 +- scripts/windows_update_access_toggle.level.yaml | 2 +- scripts/windows_update_reset.level.yaml | 2 +- scripts/winget_package_install.level.yaml | 2 +- scripts/winget_setup.level.yaml | 2 +- scripts/winget_upgrade_all.level.yaml | 2 +- scripts/winre_partition_resize.level.yaml | 2 +- scripts/winre_restore.level.yaml | 2 +- scripts/winreagent_cleanup.level.yaml | 2 +- scripts/wol_enable.level.yaml | 2 +- scripts/wol_status_check.level.yaml | 2 +- scripts/workstation_info_display.level.yaml | 2 +- scripts/workstation_info_display_macos.level.yaml | 2 +- scripts/workstation_oobe_seal.level.yaml | 2 +- scripts/workstation_reboot_force.level.yaml | 2 +- scripts/workstation_remote_wipe.level.yaml | 2 +- scripts/workstation_rename_auto.level.yaml | 2 +- scripts/workstation_rename_auto_macos.level.yaml | 2 +- scripts/workstation_rename_manual.level.yaml | 2 +- scripts/workstation_rename_manual_macos.level.yaml | 2 +- scripts/workstation_screenshot_macos.level.yaml | 2 +- scripts/workstation_uptime_reboot_macos.level.yaml | 2 +- 179 files changed, 179 insertions(+), 179 deletions(-) diff --git a/scripts/1password_install.level.yaml b/scripts/1password_install.level.yaml index 9ab1941..5cff3cb 100644 --- a/scripts/1password_install.level.yaml +++ b/scripts/1password_install.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMA lastPushedChecksum: "sha256:4c5b17905ada8b19" -lastPushedMetaChecksum: "sha256:e5bf4c56f467f4b9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4cc2972b4f25ddeb" \ No newline at end of file diff --git a/scripts/agent_startup_fix.level.yaml b/scripts/agent_startup_fix.level.yaml index a56ab70..fbbfa6f 100644 --- a/scripts/agent_startup_fix.level.yaml +++ b/scripts/agent_startup_fix.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMQ lastPushedChecksum: "sha256:5c55fbd2b948f152" -lastPushedMetaChecksum: "sha256:dae917e2260b8820" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c4a125f9dc0cfecf" \ No newline at end of file diff --git a/scripts/antivirus_status.level.yaml b/scripts/antivirus_status.level.yaml index 38ba06c..f9335ba 100644 --- a/scripts/antivirus_status.level.yaml +++ b/scripts/antivirus_status.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMg lastPushedChecksum: "sha256:1a20a2caeb5024b5" -lastPushedMetaChecksum: "sha256:5b017870223f77e8" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6d2043db6f0128b0" \ No newline at end of file diff --git a/scripts/antivirus_uninstall.level.yaml b/scripts/antivirus_uninstall.level.yaml index 0fb08c1..42a4d5b 100644 --- a/scripts/antivirus_uninstall.level.yaml +++ b/scripts/antivirus_uninstall.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzMw lastPushedChecksum: "sha256:20975b8efcf885c8" -lastPushedMetaChecksum: "sha256:7636ffdc64216add" \ No newline at end of file +lastPushedMetaChecksum: "sha256:be876ca8a3a8af7d" \ No newline at end of file diff --git a/scripts/arch_update_verbose.level.yaml b/scripts/arch_update_verbose.level.yaml index 269850c..a3827c3 100644 --- a/scripts/arch_update_verbose.level.yaml +++ b/scripts/arch_update_verbose.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNA lastPushedChecksum: "sha256:132e3b80eb80e9b3" -lastPushedMetaChecksum: "sha256:3428fcdf23541e8f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:e2851cf2c1bec96a" \ No newline at end of file diff --git a/scripts/bitlocker_superops_enable.level.yaml b/scripts/bitlocker_superops_enable.level.yaml index 6330e94..e290b47 100644 --- a/scripts/bitlocker_superops_enable.level.yaml +++ b/scripts/bitlocker_superops_enable.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNQ lastPushedChecksum: "sha256:5bb054e2cc26dc88" -lastPushedMetaChecksum: "sha256:11f42b6a601fee19" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5f4065d7380dd69d" \ No newline at end of file diff --git a/scripts/canon_mf455dw_driver_install.level.yaml b/scripts/canon_mf455dw_driver_install.level.yaml index 7f55919..18f2ba4 100644 --- a/scripts/canon_mf455dw_driver_install.level.yaml +++ b/scripts/canon_mf455dw_driver_install.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNg lastPushedChecksum: "sha256:9422dc3b1c79a3bf" -lastPushedMetaChecksum: "sha256:e349be0ff10b0ac4" \ No newline at end of file +lastPushedMetaChecksum: "sha256:687afe0072c4a24b" \ No newline at end of file diff --git a/scripts/choco_upgrade_all.level.yaml b/scripts/choco_upgrade_all.level.yaml index d1a8e6b..99e17f6 100644 --- a/scripts/choco_upgrade_all.level.yaml +++ b/scripts/choco_upgrade_all.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzNw lastPushedChecksum: "sha256:bf35638a77698431" -lastPushedMetaChecksum: "sha256:4bd74471548ae687" \ No newline at end of file +lastPushedMetaChecksum: "sha256:26c49d38afabc76f" \ No newline at end of file diff --git a/scripts/cloudflared_install.level.yaml b/scripts/cloudflared_install.level.yaml index bfeb3af..5a04158 100644 --- a/scripts/cloudflared_install.level.yaml +++ b/scripts/cloudflared_install.level.yaml @@ -38,4 +38,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOA lastPushedChecksum: "sha256:13f478410f8c5064" -lastPushedMetaChecksum: "sha256:ba018a9e7adb5b92" \ No newline at end of file +lastPushedMetaChecksum: "sha256:456e101d5dc58bfa" \ No newline at end of file diff --git a/scripts/cloudflared_status.level.yaml b/scripts/cloudflared_status.level.yaml index 8533cb8..6f9c5fe 100644 --- a/scripts/cloudflared_status.level.yaml +++ b/scripts/cloudflared_status.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDIzOQ lastPushedChecksum: "sha256:e7d61d1e9ee15f74" -lastPushedMetaChecksum: "sha256:206aba65dfe46ef5" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4547fac1dace91c5" \ No newline at end of file diff --git a/scripts/cloudflared_uninstall.level.yaml b/scripts/cloudflared_uninstall.level.yaml index 2155804..ad2ea46 100644 --- a/scripts/cloudflared_uninstall.level.yaml +++ b/scripts/cloudflared_uninstall.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MA lastPushedChecksum: "sha256:f9aa02bdaa9c4cda" -lastPushedMetaChecksum: "sha256:96af2573cd164559" \ No newline at end of file +lastPushedMetaChecksum: "sha256:65f4ddcdd3d9069e" \ No newline at end of file diff --git a/scripts/cloudflared_upgrade.level.yaml b/scripts/cloudflared_upgrade.level.yaml index c85553c..597c28a 100644 --- a/scripts/cloudflared_upgrade.level.yaml +++ b/scripts/cloudflared_upgrade.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0MQ lastPushedChecksum: "sha256:df3c507b8b3e95a9" -lastPushedMetaChecksum: "sha256:3373f7312efde2c3" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fa0c4f09a5a81211" \ No newline at end of file diff --git a/scripts/cups_toggle_macos.level.yaml b/scripts/cups_toggle_macos.level.yaml index 97687f7..181b0f7 100644 --- a/scripts/cups_toggle_macos.level.yaml +++ b/scripts/cups_toggle_macos.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mg lastPushedChecksum: "sha256:798218624bddb90d" -lastPushedMetaChecksum: "sha256:7bef159aaef40079" \ No newline at end of file +lastPushedMetaChecksum: "sha256:59f5cd698f6a036a" \ No newline at end of file diff --git a/scripts/dell_command_update.level.yaml b/scripts/dell_command_update.level.yaml index 74279bc..f7e5bef 100644 --- a/scripts/dell_command_update.level.yaml +++ b/scripts/dell_command_update.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Mw lastPushedChecksum: "sha256:a83e3d86b27a7bd3" -lastPushedMetaChecksum: "sha256:eadb4546b18be516" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8e7dab3839499063" \ No newline at end of file diff --git a/scripts/delprof2_old_profiles_delete.level.yaml b/scripts/delprof2_old_profiles_delete.level.yaml index 84ed603..4d4bee7 100644 --- a/scripts/delprof2_old_profiles_delete.level.yaml +++ b/scripts/delprof2_old_profiles_delete.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NA lastPushedChecksum: "sha256:106abf51d75cdcc5" -lastPushedMetaChecksum: "sha256:d9fdd5d63294ca9e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:e873225a3e8b7527" \ No newline at end of file diff --git a/scripts/delprof2_profiles_delete_all.level.yaml b/scripts/delprof2_profiles_delete_all.level.yaml index 196890d..b061360 100644 --- a/scripts/delprof2_profiles_delete_all.level.yaml +++ b/scripts/delprof2_profiles_delete_all.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0NQ lastPushedChecksum: "sha256:c59f7c3794206023" -lastPushedMetaChecksum: "sha256:8b23afa16016e13f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8c40e2cb491e3676" \ No newline at end of file diff --git a/scripts/delprof2_selected_profile_keep.level.yaml b/scripts/delprof2_selected_profile_keep.level.yaml index 7049357..103efc0 100644 --- a/scripts/delprof2_selected_profile_keep.level.yaml +++ b/scripts/delprof2_selected_profile_keep.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Ng lastPushedChecksum: "sha256:e42a9370705203ab" -lastPushedMetaChecksum: "sha256:572e8015dee88a15" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5be9cc55318f8539" \ No newline at end of file diff --git a/scripts/delprof2_specific_profile_delete.level.yaml b/scripts/delprof2_specific_profile_delete.level.yaml index 5e43a67..f5924d4 100644 --- a/scripts/delprof2_specific_profile_delete.level.yaml +++ b/scripts/delprof2_specific_profile_delete.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0Nw lastPushedChecksum: "sha256:15ac32c141b8896a" -lastPushedMetaChecksum: "sha256:a42c298c23cea937" \ No newline at end of file +lastPushedMetaChecksum: "sha256:23eab33f019fe775" \ No newline at end of file diff --git a/scripts/deskview_install.level.yaml b/scripts/deskview_install.level.yaml index f0998d4..4d838ae 100644 --- a/scripts/deskview_install.level.yaml +++ b/scripts/deskview_install.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OA lastPushedChecksum: "sha256:dca5111c6a4c7b0b" -lastPushedMetaChecksum: "sha256:7ef724d49a76be6b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a5d763537f429546" \ No newline at end of file diff --git a/scripts/dietpi_proxmox_install.level.yaml b/scripts/dietpi_proxmox_install.level.yaml index 47e68b4..7e8b526 100644 --- a/scripts/dietpi_proxmox_install.level.yaml +++ b/scripts/dietpi_proxmox_install.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI0OQ lastPushedChecksum: "sha256:4267f99c659dd43a" -lastPushedMetaChecksum: "sha256:2f4e1b1163ebac18" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7146f8ea28f0e118" \ No newline at end of file diff --git a/scripts/directory_cleanup.level.yaml b/scripts/directory_cleanup.level.yaml index ee49ec1..1589252 100644 --- a/scripts/directory_cleanup.level.yaml +++ b/scripts/directory_cleanup.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MA lastPushedChecksum: "sha256:c4b0a0caf6528904" -lastPushedMetaChecksum: "sha256:fb22272bec6215ce" \ No newline at end of file +lastPushedMetaChecksum: "sha256:befec431a22ba5de" \ No newline at end of file diff --git a/scripts/directory_size_analyze.level.yaml b/scripts/directory_size_analyze.level.yaml index 92329e7..56c0f4c 100644 --- a/scripts/directory_size_analyze.level.yaml +++ b/scripts/directory_size_analyze.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1MQ lastPushedChecksum: "sha256:341a3b130cb083e0" -lastPushedMetaChecksum: "sha256:d740248d376892ab" \ No newline at end of file +lastPushedMetaChecksum: "sha256:50e38b1f59ae7bc9" \ No newline at end of file diff --git a/scripts/disk_cleanup.level.yaml b/scripts/disk_cleanup.level.yaml index b9bdc46..56e28f3 100644 --- a/scripts/disk_cleanup.level.yaml +++ b/scripts/disk_cleanup.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mg lastPushedChecksum: "sha256:2496e05767011ab7" -lastPushedMetaChecksum: "sha256:de5fe20e298cb237" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9e36e79fba4bb5a9" \ No newline at end of file diff --git a/scripts/disk_scan_fix.level.yaml b/scripts/disk_scan_fix.level.yaml index 400e91f..71ec5c9 100644 --- a/scripts/disk_scan_fix.level.yaml +++ b/scripts/disk_scan_fix.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Mw lastPushedChecksum: "sha256:9afd6590971bc04f" -lastPushedMetaChecksum: "sha256:1c1a1727ae0a66b7" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9a562a254b2a72cc" \ No newline at end of file diff --git a/scripts/disk_smart_status.level.yaml b/scripts/disk_smart_status.level.yaml index e659520..79dbc17 100644 --- a/scripts/disk_smart_status.level.yaml +++ b/scripts/disk_smart_status.level.yaml @@ -38,4 +38,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NA lastPushedChecksum: "sha256:cf1b77bc78f75a11" -lastPushedMetaChecksum: "sha256:e422188da0dbb90f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b346d0878c0124e5" \ No newline at end of file diff --git a/scripts/dns_flush.level.yaml b/scripts/dns_flush.level.yaml index 0332e77..2de3c53 100644 --- a/scripts/dns_flush.level.yaml +++ b/scripts/dns_flush.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1NQ lastPushedChecksum: "sha256:5124eb497016d01a" -lastPushedMetaChecksum: "sha256:b30b775f27b8f160" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d307e5164ef19eba" \ No newline at end of file diff --git a/scripts/dns_set_provider.level.yaml b/scripts/dns_set_provider.level.yaml index cee4e56..fbe1d18 100644 --- a/scripts/dns_set_provider.level.yaml +++ b/scripts/dns_set_provider.level.yaml @@ -42,4 +42,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Ng lastPushedChecksum: "sha256:c5ae635e195d07c1" -lastPushedMetaChecksum: "sha256:edee716431ef2deb" \ No newline at end of file +lastPushedMetaChecksum: "sha256:da73d5ee6c22002f" \ No newline at end of file diff --git a/scripts/dnsfilter_uninstall.level.yaml b/scripts/dnsfilter_uninstall.level.yaml index a192ad7..d5ad11d 100644 --- a/scripts/dnsfilter_uninstall.level.yaml +++ b/scripts/dnsfilter_uninstall.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1Nw lastPushedChecksum: "sha256:09f70a00c2649337" -lastPushedMetaChecksum: "sha256:501bc8d986832e7c" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c77b8bc2bb6028e6" \ No newline at end of file diff --git a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml index 3919517..4ff479c 100644 --- a/scripts/dokploy_orphaned_volumes_cleanup.level.yaml +++ b/scripts/dokploy_orphaned_volumes_cleanup.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OA lastPushedChecksum: "sha256:4aa76efabe2abc10" -lastPushedMetaChecksum: "sha256:9ca2594fd1af8904" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5caae0cbbdfa6939" \ No newline at end of file diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml index 2d40460..f9eaf34 100644 --- a/scripts/dokploy_running_apps_deploy.level.yaml +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OQ lastPushedChecksum: "sha256:fe4c759579dc9eeb" -lastPushedMetaChecksum: "sha256:0b2bcda32ff05b6a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1064c600d43f830d" \ No newline at end of file diff --git a/scripts/ds_store_disable_macos.level.yaml b/scripts/ds_store_disable_macos.level.yaml index a923da6..fae217f 100644 --- a/scripts/ds_store_disable_macos.level.yaml +++ b/scripts/ds_store_disable_macos.level.yaml @@ -21,4 +21,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MA lastPushedChecksum: "sha256:6a32e8ee9e2fd422" -lastPushedMetaChecksum: "sha256:8e86e6ae0cbd6469" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8355c5b1c0403e8d" \ No newline at end of file diff --git a/scripts/duplicati_backup_status.level.yaml b/scripts/duplicati_backup_status.level.yaml index 54cc014..1d2ce2e 100644 --- a/scripts/duplicati_backup_status.level.yaml +++ b/scripts/duplicati_backup_status.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2MQ lastPushedChecksum: "sha256:360e0d7aeefcb55f" -lastPushedMetaChecksum: "sha256:99b08cfd11cb087a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fa6eba5ebb798793" \ No newline at end of file diff --git a/scripts/edge_chrome_default_user_set.level.yaml b/scripts/edge_chrome_default_user_set.level.yaml index 3ccf5f7..0c2537b 100644 --- a/scripts/edge_chrome_default_user_set.level.yaml +++ b/scripts/edge_chrome_default_user_set.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mg lastPushedChecksum: "sha256:b213f84130bd8aa5" -lastPushedMetaChecksum: "sha256:6a06dcfc14b57ff9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c2acc08e23506011" \ No newline at end of file diff --git a/scripts/edge_suppress_policies_system.level.yaml b/scripts/edge_suppress_policies_system.level.yaml index d8a9a69..29e4158 100644 --- a/scripts/edge_suppress_policies_system.level.yaml +++ b/scripts/edge_suppress_policies_system.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Mw lastPushedChecksum: "sha256:1151af7b4680d90b" -lastPushedMetaChecksum: "sha256:2a6d3291bd957604" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ac21aa75f2e06ccc" \ No newline at end of file diff --git a/scripts/emsisoft_url_install.level.yaml b/scripts/emsisoft_url_install.level.yaml index 09d5f0f..70bb6d7 100644 --- a/scripts/emsisoft_url_install.level.yaml +++ b/scripts/emsisoft_url_install.level.yaml @@ -36,4 +36,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NA lastPushedChecksum: "sha256:192d86d6bb9b656b" -lastPushedMetaChecksum: "sha256:1060d5e76886618a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2ed3ace3665c7ce7" \ No newline at end of file diff --git a/scripts/eset_cleanup.level.yaml b/scripts/eset_cleanup.level.yaml index f242e97..24eec2e 100644 --- a/scripts/eset_cleanup.level.yaml +++ b/scripts/eset_cleanup.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2NQ lastPushedChecksum: "sha256:be3fe66de9f75c4b" -lastPushedMetaChecksum: "sha256:5957f4b8651c11bf" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0237e98d9cf419df" \ No newline at end of file diff --git a/scripts/everything_file_search.level.yaml b/scripts/everything_file_search.level.yaml index f069697..7249fa8 100644 --- a/scripts/everything_file_search.level.yaml +++ b/scripts/everything_file_search.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Ng lastPushedChecksum: "sha256:0cd3f77917c59864" -lastPushedMetaChecksum: "sha256:3ed0fcc21402ddcd" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c16e860df1ba8992" \ No newline at end of file diff --git a/scripts/file_secure_delete.level.yaml b/scripts/file_secure_delete.level.yaml index f920f81..408d767 100644 --- a/scripts/file_secure_delete.level.yaml +++ b/scripts/file_secure_delete.level.yaml @@ -34,4 +34,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2Nw lastPushedChecksum: "sha256:99d45673e39aa403" -lastPushedMetaChecksum: "sha256:847473a95ebefd70" \ No newline at end of file +lastPushedMetaChecksum: "sha256:489feaaeba40b6e3" \ No newline at end of file diff --git a/scripts/file_secure_delete_certificate.level.yaml b/scripts/file_secure_delete_certificate.level.yaml index 4441b11..753a5fc 100644 --- a/scripts/file_secure_delete_certificate.level.yaml +++ b/scripts/file_secure_delete_certificate.level.yaml @@ -36,4 +36,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OA lastPushedChecksum: "sha256:a041287d0a535364" -lastPushedMetaChecksum: "sha256:af3c6b286fb45f01" \ No newline at end of file +lastPushedMetaChecksum: "sha256:47c7a4f846c9c22e" \ No newline at end of file diff --git a/scripts/files_rename_snake_case.level.yaml b/scripts/files_rename_snake_case.level.yaml index 57a68ca..e15d551 100644 --- a/scripts/files_rename_snake_case.level.yaml +++ b/scripts/files_rename_snake_case.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI2OQ lastPushedChecksum: "sha256:1667beeb231b76e8" -lastPushedMetaChecksum: "sha256:38abe9b846465d0a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2f93af2b5c4ad238" \ No newline at end of file diff --git a/scripts/foxit_pdf_editor_plus_install.level.yaml b/scripts/foxit_pdf_editor_plus_install.level.yaml index 94a95d3..f6e947e 100644 --- a/scripts/foxit_pdf_editor_plus_install.level.yaml +++ b/scripts/foxit_pdf_editor_plus_install.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MA lastPushedChecksum: "sha256:46dc5587c5f2c2bf" -lastPushedMetaChecksum: "sha256:160c15923aa5a8ea" \ No newline at end of file +lastPushedMetaChecksum: "sha256:03aa4a64189191b1" \ No newline at end of file diff --git a/scripts/gcpw_cleanup.level.yaml b/scripts/gcpw_cleanup.level.yaml index 1955bca..bab7fe7 100644 --- a/scripts/gcpw_cleanup.level.yaml +++ b/scripts/gcpw_cleanup.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3MQ lastPushedChecksum: "sha256:ac2a1fbb15510a20" -lastPushedMetaChecksum: "sha256:28fb7a5f2f13c17e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:01c25972ed0defab" \ No newline at end of file diff --git a/scripts/gcpw_install.level.yaml b/scripts/gcpw_install.level.yaml index 183b1c3..33fae3e 100644 --- a/scripts/gcpw_install.level.yaml +++ b/scripts/gcpw_install.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mg lastPushedChecksum: "sha256:6a01156dccfaf3c8" -lastPushedMetaChecksum: "sha256:a9ec0b2d333b14bf" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d432bc6517dc2bef" \ No newline at end of file diff --git a/scripts/google_update_trigger.level.yaml b/scripts/google_update_trigger.level.yaml index a5e41c3..d78d381 100644 --- a/scripts/google_update_trigger.level.yaml +++ b/scripts/google_update_trigger.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Mw lastPushedChecksum: "sha256:4646ca9e91cf3598" -lastPushedMetaChecksum: "sha256:930281525914cc22" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2f7d6a09f0708c09" \ No newline at end of file diff --git a/scripts/hardware_report.level.yaml b/scripts/hardware_report.level.yaml index 12f881d..5267670 100644 --- a/scripts/hardware_report.level.yaml +++ b/scripts/hardware_report.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NA lastPushedChecksum: "sha256:de8ba9756cb4a9ce" -lastPushedMetaChecksum: "sha256:e1b39419b7764e89" \ No newline at end of file +lastPushedMetaChecksum: "sha256:405b428c41b5ab3e" \ No newline at end of file diff --git a/scripts/huntress_install_macos.level.yaml b/scripts/huntress_install_macos.level.yaml index 19caade..3d36524 100644 --- a/scripts/huntress_install_macos.level.yaml +++ b/scripts/huntress_install_macos.level.yaml @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3NQ lastPushedChecksum: "sha256:910ea6231cde662c" -lastPushedMetaChecksum: "sha256:cf1fc4bd3a3a1c35" \ No newline at end of file +lastPushedMetaChecksum: "sha256:34241a4dc18f26c6" \ No newline at end of file diff --git a/scripts/ipconfig_release_renew.level.yaml b/scripts/ipconfig_release_renew.level.yaml index 8440011..d4bb40b 100644 --- a/scripts/ipconfig_release_renew.level.yaml +++ b/scripts/ipconfig_release_renew.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Ng lastPushedChecksum: "sha256:aee4d4bf40d78b00" -lastPushedMetaChecksum: "sha256:25798003fc736bb3" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fa83b128df10b6e8" \ No newline at end of file diff --git a/scripts/limehawk_admin_profile_branding.level.yaml b/scripts/limehawk_admin_profile_branding.level.yaml index 40c4065..7e8477a 100644 --- a/scripts/limehawk_admin_profile_branding.level.yaml +++ b/scripts/limehawk_admin_profile_branding.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3Nw lastPushedChecksum: "sha256:cc11c5cfa54f13ae" -lastPushedMetaChecksum: "sha256:362c6097924b03a1" \ No newline at end of file +lastPushedMetaChecksum: "sha256:73d1db985223e3cf" \ No newline at end of file diff --git a/scripts/local_user_admin_create.level.yaml b/scripts/local_user_admin_create.level.yaml index 6530d50..d928c57 100644 --- a/scripts/local_user_admin_create.level.yaml +++ b/scripts/local_user_admin_create.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OA lastPushedChecksum: "sha256:b00a562a4847602e" -lastPushedMetaChecksum: "sha256:241645aa6bfd890b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8e99e15d821de3f9" \ No newline at end of file diff --git a/scripts/local_user_admin_setup.level.yaml b/scripts/local_user_admin_setup.level.yaml index 2904e9b..8a76d04 100644 --- a/scripts/local_user_admin_setup.level.yaml +++ b/scripts/local_user_admin_setup.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI3OQ lastPushedChecksum: "sha256:5b01541855959832" -lastPushedMetaChecksum: "sha256:1c72174e543e1731" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7719e7438de5965b" \ No newline at end of file diff --git a/scripts/local_user_admin_toggle.level.yaml b/scripts/local_user_admin_toggle.level.yaml index 28b707b..f82cbd5 100644 --- a/scripts/local_user_admin_toggle.level.yaml +++ b/scripts/local_user_admin_toggle.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MA lastPushedChecksum: "sha256:d8f47d2d007aaf4c" -lastPushedMetaChecksum: "sha256:494d6feb83a14b40" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6ed97fab0330af93" \ No newline at end of file diff --git a/scripts/local_user_create.level.yaml b/scripts/local_user_create.level.yaml index 0483c23..75e5910 100644 --- a/scripts/local_user_create.level.yaml +++ b/scripts/local_user_create.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4MQ lastPushedChecksum: "sha256:67aa5c484662ae59" -lastPushedMetaChecksum: "sha256:89d9aaffbc8fed54" \ No newline at end of file +lastPushedMetaChecksum: "sha256:203f80e78d4fd48c" \ No newline at end of file diff --git a/scripts/local_user_delete.level.yaml b/scripts/local_user_delete.level.yaml index f491e2f..e95788f 100644 --- a/scripts/local_user_delete.level.yaml +++ b/scripts/local_user_delete.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mg lastPushedChecksum: "sha256:16d8ccc7f3be11d4" -lastPushedMetaChecksum: "sha256:a325fb28b11f0ce2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0f41c6379afcbb6c" \ No newline at end of file diff --git a/scripts/local_user_disable.level.yaml b/scripts/local_user_disable.level.yaml index 63d1121..2364291 100644 --- a/scripts/local_user_disable.level.yaml +++ b/scripts/local_user_disable.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Mw lastPushedChecksum: "sha256:0f2f743bc9b235f6" -lastPushedMetaChecksum: "sha256:9a37c1c75575a4df" \ No newline at end of file +lastPushedMetaChecksum: "sha256:04dbfddb823cc39c" \ No newline at end of file diff --git a/scripts/macos_auto_updates_enable.level.yaml b/scripts/macos_auto_updates_enable.level.yaml index 3641857..5705aaf 100644 --- a/scripts/macos_auto_updates_enable.level.yaml +++ b/scripts/macos_auto_updates_enable.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NA lastPushedChecksum: "sha256:25ead792bd41f224" -lastPushedMetaChecksum: "sha256:e926644f2c75c652" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4ce1ba02ae3dea40" \ No newline at end of file diff --git a/scripts/maintenance_reboot.level.yaml b/scripts/maintenance_reboot.level.yaml index 567aad5..e92f451 100644 --- a/scripts/maintenance_reboot.level.yaml +++ b/scripts/maintenance_reboot.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4NQ lastPushedChecksum: "sha256:7f7bd5e13d21a1a0" -lastPushedMetaChecksum: "sha256:618331f409f4f889" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ec38353eb325da89" \ No newline at end of file diff --git a/scripts/mrt_scan.level.yaml b/scripts/mrt_scan.level.yaml index b6a8f29..6a2e522 100644 --- a/scripts/mrt_scan.level.yaml +++ b/scripts/mrt_scan.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Ng lastPushedChecksum: "sha256:869633f2768cf87a" -lastPushedMetaChecksum: "sha256:4ee3e8c4af33ca70" \ No newline at end of file +lastPushedMetaChecksum: "sha256:80e7cbe7e02a4240" \ No newline at end of file diff --git a/scripts/msi_url_install.level.yaml b/scripts/msi_url_install.level.yaml index 212cb6c..04869c7 100644 --- a/scripts/msi_url_install.level.yaml +++ b/scripts/msi_url_install.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4Nw lastPushedChecksum: "sha256:11645faa554f4b42" -lastPushedMetaChecksum: "sha256:489960dffd29ead2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fa6304a82cedf013" \ No newline at end of file diff --git a/scripts/network_dhcp_set_macos.level.yaml b/scripts/network_dhcp_set_macos.level.yaml index 37354e8..8918c9a 100644 --- a/scripts/network_dhcp_set_macos.level.yaml +++ b/scripts/network_dhcp_set_macos.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OA lastPushedChecksum: "sha256:0aedf22695283c5f" -lastPushedMetaChecksum: "sha256:c3477f1b63965c80" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6b73f50022607156" \ No newline at end of file diff --git a/scripts/network_scan.level.yaml b/scripts/network_scan.level.yaml index 8792a25..cf2994a 100644 --- a/scripts/network_scan.level.yaml +++ b/scripts/network_scan.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI4OQ lastPushedChecksum: "sha256:a9fb4a959015c576" -lastPushedMetaChecksum: "sha256:88599d9458f65c54" \ No newline at end of file +lastPushedMetaChecksum: "sha256:cb5aec02bc2ab99c" \ No newline at end of file diff --git a/scripts/network_service_refresh_macos.level.yaml b/scripts/network_service_refresh_macos.level.yaml index f0de65a..f338821 100644 --- a/scripts/network_service_refresh_macos.level.yaml +++ b/scripts/network_service_refresh_macos.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MA lastPushedChecksum: "sha256:5c518394b55357ae" -lastPushedMetaChecksum: "sha256:fe2e2f62010c9d29" \ No newline at end of file +lastPushedMetaChecksum: "sha256:dfafcc5d6cef2dd1" \ No newline at end of file diff --git a/scripts/ninjaone_uninstall.level.yaml b/scripts/ninjaone_uninstall.level.yaml index f225dd5..9767547 100644 --- a/scripts/ninjaone_uninstall.level.yaml +++ b/scripts/ninjaone_uninstall.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5MQ lastPushedChecksum: "sha256:c5cf794d589cf8bc" -lastPushedMetaChecksum: "sha256:532209566417fd2b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1d07441138e0c6b2" \ No newline at end of file diff --git a/scripts/nircmd_resolution_set.level.yaml b/scripts/nircmd_resolution_set.level.yaml index 1932dcd..ecf2e32 100644 --- a/scripts/nircmd_resolution_set.level.yaml +++ b/scripts/nircmd_resolution_set.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mg lastPushedChecksum: "sha256:144f3fde5574868a" -lastPushedMetaChecksum: "sha256:fd32d84b847ee22e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5ca9f9cf9f5a5181" \ No newline at end of file diff --git a/scripts/nircmd_screenshot.level.yaml b/scripts/nircmd_screenshot.level.yaml index 2ea84c7..8a6cb98 100644 --- a/scripts/nircmd_screenshot.level.yaml +++ b/scripts/nircmd_screenshot.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Mw lastPushedChecksum: "sha256:1796923bd56b59bc" -lastPushedMetaChecksum: "sha256:363678f9014ac04b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:14d852f3133d9e8d" \ No newline at end of file diff --git a/scripts/nirsoft_uninstall_view.level.yaml b/scripts/nirsoft_uninstall_view.level.yaml index ed208d7..a270b00 100644 --- a/scripts/nirsoft_uninstall_view.level.yaml +++ b/scripts/nirsoft_uninstall_view.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NA lastPushedChecksum: "sha256:87cabcfd5f2ac46f" -lastPushedMetaChecksum: "sha256:ca0f735ecce6019d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5ccf687959bb12b2" \ No newline at end of file diff --git a/scripts/nvram_reset_reboot_macos.level.yaml b/scripts/nvram_reset_reboot_macos.level.yaml index 1d23178..c36e627 100644 --- a/scripts/nvram_reset_reboot_macos.level.yaml +++ b/scripts/nvram_reset_reboot_macos.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5NQ lastPushedChecksum: "sha256:706557f66e04e540" -lastPushedMetaChecksum: "sha256:1a4aba2b935e1ace" \ No newline at end of file +lastPushedMetaChecksum: "sha256:01867e65928c912f" \ No newline at end of file diff --git a/scripts/onedrive_reenable.level.yaml b/scripts/onedrive_reenable.level.yaml index 6b755d1..94f1de0 100644 --- a/scripts/onedrive_reenable.level.yaml +++ b/scripts/onedrive_reenable.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Ng lastPushedChecksum: "sha256:640ca7ab752253cc" -lastPushedMetaChecksum: "sha256:11da2fa083a2e32c" \ No newline at end of file +lastPushedMetaChecksum: "sha256:927a6fa438d77c73" \ No newline at end of file diff --git a/scripts/onedrive_remove_complete.level.yaml b/scripts/onedrive_remove_complete.level.yaml index 5da817b..c033f10 100644 --- a/scripts/onedrive_remove_complete.level.yaml +++ b/scripts/onedrive_remove_complete.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5Nw lastPushedChecksum: "sha256:e1f4ee52cb2ad974" -lastPushedMetaChecksum: "sha256:537407ec22480492" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1763b0675e257efc" \ No newline at end of file diff --git a/scripts/onestart_remove_complete.level.yaml b/scripts/onestart_remove_complete.level.yaml index 6f8bfc1..aef65b4 100644 --- a/scripts/onestart_remove_complete.level.yaml +++ b/scripts/onestart_remove_complete.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OA lastPushedChecksum: "sha256:a672ec29a7dc6a4b" -lastPushedMetaChecksum: "sha256:3ab2f45b842594af" \ No newline at end of file +lastPushedMetaChecksum: "sha256:00d73bce056db2aa" \ No newline at end of file diff --git a/scripts/onlyoffice_install.level.yaml b/scripts/onlyoffice_install.level.yaml index 568c13d..4b2ad75 100644 --- a/scripts/onlyoffice_install.level.yaml +++ b/scripts/onlyoffice_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI5OQ lastPushedChecksum: "sha256:85daf10183a79aef" -lastPushedMetaChecksum: "sha256:1907853c3c0fe7ae" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4b64ef7800cf0aec" \ No newline at end of file diff --git a/scripts/openssh_server_remove.level.yaml b/scripts/openssh_server_remove.level.yaml index bcd443c..0c41dc4 100644 --- a/scripts/openssh_server_remove.level.yaml +++ b/scripts/openssh_server_remove.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMA lastPushedChecksum: "sha256:71f9a649c4db3f9b" -lastPushedMetaChecksum: "sha256:a67c53a71027433f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b0fae51c710c8234" \ No newline at end of file diff --git a/scripts/openssh_server_setup.level.yaml b/scripts/openssh_server_setup.level.yaml index 8773b7a..1023b88 100644 --- a/scripts/openssh_server_setup.level.yaml +++ b/scripts/openssh_server_setup.level.yaml @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMQ lastPushedChecksum: "sha256:c182f7aae76eb7a9" -lastPushedMetaChecksum: "sha256:0e96d2f5fd84a2a2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ed6fdd260dab7da6" \ No newline at end of file diff --git a/scripts/outlook_link_handling_fix.level.yaml b/scripts/outlook_link_handling_fix.level.yaml index 60d7219..f9083d2 100644 --- a/scripts/outlook_link_handling_fix.level.yaml +++ b/scripts/outlook_link_handling_fix.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMg lastPushedChecksum: "sha256:bfcb50c6b844cef4" -lastPushedMetaChecksum: "sha256:b88dd093aabe460a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:04fef14eb0b70e39" \ No newline at end of file diff --git a/scripts/outlook_new_force_migrate.level.yaml b/scripts/outlook_new_force_migrate.level.yaml index 4ad180d..9a41480 100644 --- a/scripts/outlook_new_force_migrate.level.yaml +++ b/scripts/outlook_new_force_migrate.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwMw lastPushedChecksum: "sha256:e983e27a747703ea" -lastPushedMetaChecksum: "sha256:3a478b14847eb321" \ No newline at end of file +lastPushedMetaChecksum: "sha256:158f24a6adb6916b" \ No newline at end of file diff --git a/scripts/outlook_new_remove.level.yaml b/scripts/outlook_new_remove.level.yaml index b65f38c..d257193 100644 --- a/scripts/outlook_new_remove.level.yaml +++ b/scripts/outlook_new_remove.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNA lastPushedChecksum: "sha256:b2ff05e51e2d5e97" -lastPushedMetaChecksum: "sha256:3e35cca047acfa31" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b28aed12e71c2c75" \ No newline at end of file diff --git a/scripts/outlook_new_restore.level.yaml b/scripts/outlook_new_restore.level.yaml index f311d89..4c7b0cc 100644 --- a/scripts/outlook_new_restore.level.yaml +++ b/scripts/outlook_new_restore.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNQ lastPushedChecksum: "sha256:45a3649ff7a97649" -lastPushedMetaChecksum: "sha256:8c3fa4096c9dfb8d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4bf3be293721ff57" \ No newline at end of file diff --git a/scripts/password_files_search.level.yaml b/scripts/password_files_search.level.yaml index 8f90050..9308e1b 100644 --- a/scripts/password_files_search.level.yaml +++ b/scripts/password_files_search.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNg lastPushedChecksum: "sha256:74b41d5efc2d9aad" -lastPushedMetaChecksum: "sha256:91cba42e8343ac7b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:cd158eec1d02200e" \ No newline at end of file diff --git a/scripts/password_files_tickets_search.level.yaml b/scripts/password_files_tickets_search.level.yaml index 55773af..3ac17c9 100644 --- a/scripts/password_files_tickets_search.level.yaml +++ b/scripts/password_files_tickets_search.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwNw lastPushedChecksum: "sha256:e3aaedff2a6342a9" -lastPushedMetaChecksum: "sha256:27002e1694dcb0a0" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c40aab6caa59ebbc" \ No newline at end of file diff --git a/scripts/potplayer_install.level.yaml b/scripts/potplayer_install.level.yaml index 7f234e6..ccedfc6 100644 --- a/scripts/potplayer_install.level.yaml +++ b/scripts/potplayer_install.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOA lastPushedChecksum: "sha256:7533ac610d424652" -lastPushedMetaChecksum: "sha256:26f2612e2732f0f5" \ No newline at end of file +lastPushedMetaChecksum: "sha256:e34a1ac1f92a47b7" \ No newline at end of file diff --git a/scripts/power_plans_default_add.level.yaml b/scripts/power_plans_default_add.level.yaml index 531f6d3..bf3fe87 100644 --- a/scripts/power_plans_default_add.level.yaml +++ b/scripts/power_plans_default_add.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMwOQ lastPushedChecksum: "sha256:3bb8c3a5422e2db1" -lastPushedMetaChecksum: "sha256:8c984ade33d1295e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9998ceb48258c846" \ No newline at end of file diff --git a/scripts/power_profile_always_on_set.level.yaml b/scripts/power_profile_always_on_set.level.yaml index bf8c43b..50c433c 100644 --- a/scripts/power_profile_always_on_set.level.yaml +++ b/scripts/power_profile_always_on_set.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMA lastPushedChecksum: "sha256:27bd0adef334e036" -lastPushedMetaChecksum: "sha256:23ec334680a78a54" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6baf5970ca55c03c" \ No newline at end of file diff --git a/scripts/power_profile_set_macos.level.yaml b/scripts/power_profile_set_macos.level.yaml index 19ad6ef..d2b521a 100644 --- a/scripts/power_profile_set_macos.level.yaml +++ b/scripts/power_profile_set_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMQ lastPushedChecksum: "sha256:6f8c56d312326c36" -lastPushedMetaChecksum: "sha256:11e2afb2d0118b2d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:bb301f6395f145ee" \ No newline at end of file diff --git a/scripts/prinstall_add.level.yaml b/scripts/prinstall_add.level.yaml index 7b2eda9..7c5afd9 100644 --- a/scripts/prinstall_add.level.yaml +++ b/scripts/prinstall_add.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMg lastPushedChecksum: "sha256:14ba5595155d0539" -lastPushedMetaChecksum: "sha256:e630c4ad4b9ae2cd" \ No newline at end of file +lastPushedMetaChecksum: "sha256:909105b5f9ee34c0" \ No newline at end of file diff --git a/scripts/prinstall_driver_add.level.yaml b/scripts/prinstall_driver_add.level.yaml index f7cb24d..39e7903 100644 --- a/scripts/prinstall_driver_add.level.yaml +++ b/scripts/prinstall_driver_add.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxMw lastPushedChecksum: "sha256:a65408cecc70eaf4" -lastPushedMetaChecksum: "sha256:77ae1b2ff2bf4f61" \ No newline at end of file +lastPushedMetaChecksum: "sha256:96b999bd1c07b8e3" \ No newline at end of file diff --git a/scripts/prinstall_driver_list.level.yaml b/scripts/prinstall_driver_list.level.yaml index 756accc..fc85380 100644 --- a/scripts/prinstall_driver_list.level.yaml +++ b/scripts/prinstall_driver_list.level.yaml @@ -21,4 +21,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNA lastPushedChecksum: "sha256:feaf37e6d0aa7773" -lastPushedMetaChecksum: "sha256:79e2fb2359627660" \ No newline at end of file +lastPushedMetaChecksum: "sha256:28995de0f60bab15" \ No newline at end of file diff --git a/scripts/prinstall_driver_remove.level.yaml b/scripts/prinstall_driver_remove.level.yaml index b604aae..3c3ab92 100644 --- a/scripts/prinstall_driver_remove.level.yaml +++ b/scripts/prinstall_driver_remove.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNQ lastPushedChecksum: "sha256:2807dd15e3ce2e70" -lastPushedMetaChecksum: "sha256:db07b80458ac8286" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7d3f1836096ae023" \ No newline at end of file diff --git a/scripts/prinstall_drivers.level.yaml b/scripts/prinstall_drivers.level.yaml index 38d5da5..9b49d6d 100644 --- a/scripts/prinstall_drivers.level.yaml +++ b/scripts/prinstall_drivers.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNg lastPushedChecksum: "sha256:460ee74ac32197ed" -lastPushedMetaChecksum: "sha256:61fa798a39562fda" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2f7436090f0b5465" \ No newline at end of file diff --git a/scripts/prinstall_id.level.yaml b/scripts/prinstall_id.level.yaml index fb035de..22792f6 100644 --- a/scripts/prinstall_id.level.yaml +++ b/scripts/prinstall_id.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxNw lastPushedChecksum: "sha256:6b982f78a98d4882" -lastPushedMetaChecksum: "sha256:c8a33ccaad71fbc6" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b26e694699e39eee" \ No newline at end of file diff --git a/scripts/prinstall_list.level.yaml b/scripts/prinstall_list.level.yaml index ac3887e..25f2716 100644 --- a/scripts/prinstall_list.level.yaml +++ b/scripts/prinstall_list.level.yaml @@ -21,4 +21,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOA lastPushedChecksum: "sha256:d8c62d94975b0077" -lastPushedMetaChecksum: "sha256:36e56d6b28500324" \ No newline at end of file +lastPushedMetaChecksum: "sha256:94ac01ac37cd842b" \ No newline at end of file diff --git a/scripts/prinstall_remove.level.yaml b/scripts/prinstall_remove.level.yaml index 355239c..1874062 100644 --- a/scripts/prinstall_remove.level.yaml +++ b/scripts/prinstall_remove.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMxOQ lastPushedChecksum: "sha256:d68a04864344e349" -lastPushedMetaChecksum: "sha256:bbbe5385fb443d78" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3b7a381e8dfe0968" \ No newline at end of file diff --git a/scripts/prinstall_scan.level.yaml b/scripts/prinstall_scan.level.yaml index ca8346b..0a9d085 100644 --- a/scripts/prinstall_scan.level.yaml +++ b/scripts/prinstall_scan.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMA lastPushedChecksum: "sha256:97d57bd6f9b1475b" -lastPushedMetaChecksum: "sha256:7d7bff57520ae681" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f881129b3146716f" \ No newline at end of file diff --git a/scripts/prinstall_setup.level.yaml b/scripts/prinstall_setup.level.yaml index 37c0067..a2b668e 100644 --- a/scripts/prinstall_setup.level.yaml +++ b/scripts/prinstall_setup.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMQ lastPushedChecksum: "sha256:91001c70808f9cc5" -lastPushedMetaChecksum: "sha256:3f8b297f1f1ab936" \ No newline at end of file +lastPushedMetaChecksum: "sha256:61dabbef7cd23842" \ No newline at end of file diff --git a/scripts/prinstall_trust_codesign.level.yaml b/scripts/prinstall_trust_codesign.level.yaml index cf29bb5..64f0fe2 100644 --- a/scripts/prinstall_trust_codesign.level.yaml +++ b/scripts/prinstall_trust_codesign.level.yaml @@ -31,4 +31,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMg lastPushedChecksum: "sha256:cb3d19fc839edbb8" -lastPushedMetaChecksum: "sha256:0c37ebcebad3fe24" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7cfbced5d7bab9de" \ No newline at end of file diff --git a/scripts/print_queue_clear.level.yaml b/scripts/print_queue_clear.level.yaml index 99bc844..aeca594 100644 --- a/scripts/print_queue_clear.level.yaml +++ b/scripts/print_queue_clear.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyMw lastPushedChecksum: "sha256:a2439d52ec6601ab" -lastPushedMetaChecksum: "sha256:8511c2df4e70e0cb" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c47138daa63d3581" \ No newline at end of file diff --git a/scripts/print_queue_reset.level.yaml b/scripts/print_queue_reset.level.yaml index a71c385..6aae1a0 100644 --- a/scripts/print_queue_reset.level.yaml +++ b/scripts/print_queue_reset.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNA lastPushedChecksum: "sha256:96b72c3fc16240ef" -lastPushedMetaChecksum: "sha256:12affd7af1c9959f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:de589b74fc31c8cd" \ No newline at end of file diff --git a/scripts/printer_connection_test.level.yaml b/scripts/printer_connection_test.level.yaml index 413f199..aca9608 100644 --- a/scripts/printer_connection_test.level.yaml +++ b/scripts/printer_connection_test.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNQ lastPushedChecksum: "sha256:80e00c348b5ea77c" -lastPushedMetaChecksum: "sha256:de688f9dec1da77a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:cfe2d9e32e309cfd" \ No newline at end of file diff --git a/scripts/printer_install_linux.level.yaml b/scripts/printer_install_linux.level.yaml index ab884a9..5ad9525 100644 --- a/scripts/printer_install_linux.level.yaml +++ b/scripts/printer_install_linux.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNg lastPushedChecksum: "sha256:d721fe27c531e96a" -lastPushedMetaChecksum: "sha256:84153bfeffa1e5f1" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a855a5e07fd137cd" \ No newline at end of file diff --git a/scripts/printer_install_macos.level.yaml b/scripts/printer_install_macos.level.yaml index 2cd0844..c39623d 100644 --- a/scripts/printer_install_macos.level.yaml +++ b/scripts/printer_install_macos.level.yaml @@ -31,4 +31,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyNw lastPushedChecksum: "sha256:629c0f1457ee7d88" -lastPushedMetaChecksum: "sha256:23d54f6695356c10" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6293f73c0f7de6ac" \ No newline at end of file diff --git a/scripts/printers_remove_all.level.yaml b/scripts/printers_remove_all.level.yaml index 01aef85..e9c49b4 100644 --- a/scripts/printers_remove_all.level.yaml +++ b/scripts/printers_remove_all.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOA lastPushedChecksum: "sha256:f5ff959c9835072b" -lastPushedMetaChecksum: "sha256:8d1c50a752d5f761" \ No newline at end of file +lastPushedMetaChecksum: "sha256:49ece219c140a966" \ No newline at end of file diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml index 4bf49d1..8e2b44d 100644 --- a/scripts/public_ip_export_superops.level.yaml +++ b/scripts/public_ip_export_superops.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOQ lastPushedChecksum: "sha256:e613d96669eff586" -lastPushedMetaChecksum: "sha256:5332ba552c143a0e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:72ac6bd29023777f" \ No newline at end of file diff --git a/scripts/public_ip_export_superops_macos.level.yaml b/scripts/public_ip_export_superops_macos.level.yaml index 6f5e8e8..60e9ba4 100644 --- a/scripts/public_ip_export_superops_macos.level.yaml +++ b/scripts/public_ip_export_superops_macos.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMA lastPushedChecksum: "sha256:c115a7ff0b97c23b" -lastPushedMetaChecksum: "sha256:8b2b8e3452284be9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:deb7b3f42214fdf0" \ No newline at end of file diff --git a/scripts/restic_b2_backup_install.level.yaml b/scripts/restic_b2_backup_install.level.yaml index ee22a52..34e2112 100644 --- a/scripts/restic_b2_backup_install.level.yaml +++ b/scripts/restic_b2_backup_install.level.yaml @@ -37,4 +37,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMQ lastPushedChecksum: "sha256:c09fd6b042b511b6" -lastPushedMetaChecksum: "sha256:e7ebd95472fa2496" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1ec2c009ba0dbbfd" \ No newline at end of file diff --git a/scripts/rustic_backup.level.yaml b/scripts/rustic_backup.level.yaml index 7f8c5a6..f082bc6 100644 --- a/scripts/rustic_backup.level.yaml +++ b/scripts/rustic_backup.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMg lastPushedChecksum: "sha256:37d4d46a94882a30" -lastPushedMetaChecksum: "sha256:d1e6bbc60f822ce1" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0fa3173759925e88" \ No newline at end of file diff --git a/scripts/rustic_backup_unix.level.yaml b/scripts/rustic_backup_unix.level.yaml index 78f6a95..02c5401 100644 --- a/scripts/rustic_backup_unix.level.yaml +++ b/scripts/rustic_backup_unix.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzMw lastPushedChecksum: "sha256:a10b4b3cc851a31b" -lastPushedMetaChecksum: "sha256:b92cbb3a761938c1" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8f421517af16e5ab" \ No newline at end of file diff --git a/scripts/rustic_install.level.yaml b/scripts/rustic_install.level.yaml index 195f38a..8f7c8ce 100644 --- a/scripts/rustic_install.level.yaml +++ b/scripts/rustic_install.level.yaml @@ -43,4 +43,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNA lastPushedChecksum: "sha256:c11a00e8cfcc8fb6" -lastPushedMetaChecksum: "sha256:bc1adbefaee5749d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f6bdfccb02668f80" \ No newline at end of file diff --git a/scripts/rustic_install_unix.level.yaml b/scripts/rustic_install_unix.level.yaml index 95eb381..18a96eb 100644 --- a/scripts/rustic_install_unix.level.yaml +++ b/scripts/rustic_install_unix.level.yaml @@ -45,4 +45,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNQ lastPushedChecksum: "sha256:6f06c1d9e9f5d54b" -lastPushedMetaChecksum: "sha256:bc01bc39e7a9d3bd" \ No newline at end of file +lastPushedMetaChecksum: "sha256:10efc9d95cc47f03" \ No newline at end of file diff --git a/scripts/rustic_restore.level.yaml b/scripts/rustic_restore.level.yaml index 606183d..9c7a7b1 100644 --- a/scripts/rustic_restore.level.yaml +++ b/scripts/rustic_restore.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNg lastPushedChecksum: "sha256:59f81da920ec0a94" -lastPushedMetaChecksum: "sha256:d047dd3660db230a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4a497d7cd476607c" \ No newline at end of file diff --git a/scripts/rustic_restore_unix.level.yaml b/scripts/rustic_restore_unix.level.yaml index bade129..ff210f3 100644 --- a/scripts/rustic_restore_unix.level.yaml +++ b/scripts/rustic_restore_unix.level.yaml @@ -33,4 +33,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzNw lastPushedChecksum: "sha256:83c3c35a5f0ba9bc" -lastPushedMetaChecksum: "sha256:6b0c0403b6e993ca" \ No newline at end of file +lastPushedMetaChecksum: "sha256:1dddd71f8d0a0778" \ No newline at end of file diff --git a/scripts/rustic_uninstall.level.yaml b/scripts/rustic_uninstall.level.yaml index 8833190..1252eb3 100644 --- a/scripts/rustic_uninstall.level.yaml +++ b/scripts/rustic_uninstall.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOA lastPushedChecksum: "sha256:3e899b4f1ae514a7" -lastPushedMetaChecksum: "sha256:615f9321b711d1e9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0522707d97bb82c5" \ No newline at end of file diff --git a/scripts/rustic_uninstall_unix.level.yaml b/scripts/rustic_uninstall_unix.level.yaml index 3f3ca2d..e50f826 100644 --- a/scripts/rustic_uninstall_unix.level.yaml +++ b/scripts/rustic_uninstall_unix.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMzOQ lastPushedChecksum: "sha256:6361db8bf61c78a0" -lastPushedMetaChecksum: "sha256:365c81af0d669e74" \ No newline at end of file +lastPushedMetaChecksum: "sha256:285b39bbc6c9010c" \ No newline at end of file diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index 6872c5b..961e0ab 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA lastPushedChecksum: "sha256:aab2ea4bf232ddc9" -lastPushedMetaChecksum: "sha256:d2d9aa4d51bd367e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:761f0587b986e04b" \ No newline at end of file diff --git a/scripts/sentinelone_services_start.level.yaml b/scripts/sentinelone_services_start.level.yaml index 7d27992..ef14f35 100644 --- a/scripts/sentinelone_services_start.level.yaml +++ b/scripts/sentinelone_services_start.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MQ lastPushedChecksum: "sha256:4f61d11ab3baffb7" -lastPushedMetaChecksum: "sha256:291f408df180ee0e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d21d4b9997ba8bff" \ No newline at end of file diff --git a/scripts/sentinelone_uninstall_linux.level.yaml b/scripts/sentinelone_uninstall_linux.level.yaml index 0e40e8b..a9a508e 100644 --- a/scripts/sentinelone_uninstall_linux.level.yaml +++ b/scripts/sentinelone_uninstall_linux.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mg lastPushedChecksum: "sha256:14d539a27befd82d" -lastPushedMetaChecksum: "sha256:ec8a82144399d2f9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a67fedd0e755613b" \ No newline at end of file diff --git a/scripts/shutdown_toggle.level.yaml b/scripts/shutdown_toggle.level.yaml index 7f0d05c..477071f 100644 --- a/scripts/shutdown_toggle.level.yaml +++ b/scripts/shutdown_toggle.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Mw lastPushedChecksum: "sha256:469ca706feb53740" -lastPushedMetaChecksum: "sha256:63e65b100e9702ef" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b5d59a060e176044" \ No newline at end of file diff --git a/scripts/speedtest_export_superops.level.yaml b/scripts/speedtest_export_superops.level.yaml index 5331e9b..f20b04e 100644 --- a/scripts/speedtest_export_superops.level.yaml +++ b/scripts/speedtest_export_superops.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NA lastPushedChecksum: "sha256:f0b07e25413d5fec" -lastPushedMetaChecksum: "sha256:fe6125a40e76fcc4" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6afc2af3e746c7ed" \ No newline at end of file diff --git a/scripts/splashtop_business_install.level.yaml b/scripts/splashtop_business_install.level.yaml index ec0544d..7f8a21c 100644 --- a/scripts/splashtop_business_install.level.yaml +++ b/scripts/splashtop_business_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0NQ lastPushedChecksum: "sha256:de86051d4da42af9" -lastPushedMetaChecksum: "sha256:7dcf516e31340c48" \ No newline at end of file +lastPushedMetaChecksum: "sha256:c9ccc5444c61bb30" \ No newline at end of file diff --git a/scripts/splashtop_business_install_macos.level.yaml b/scripts/splashtop_business_install_macos.level.yaml index 9083eae..4aeb410 100644 --- a/scripts/splashtop_business_install_macos.level.yaml +++ b/scripts/splashtop_business_install_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Ng lastPushedChecksum: "sha256:687707d59ce4a3d6" -lastPushedMetaChecksum: "sha256:73bbf405c008a3a1" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6f39428aeaa9c473" \ No newline at end of file diff --git a/scripts/splashtop_service_restart.level.yaml b/scripts/splashtop_service_restart.level.yaml index 5529e21..3d165e7 100644 --- a/scripts/splashtop_service_restart.level.yaml +++ b/scripts/splashtop_service_restart.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0Nw lastPushedChecksum: "sha256:af58133e2ca89fc7" -lastPushedMetaChecksum: "sha256:0379b5f3dec11c2e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:ca5ff6d66ef74047" \ No newline at end of file diff --git a/scripts/splashtop_service_restart_macos.level.yaml b/scripts/splashtop_service_restart_macos.level.yaml index 51cd9a5..fecb810 100644 --- a/scripts/splashtop_service_restart_macos.level.yaml +++ b/scripts/splashtop_service_restart_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OA lastPushedChecksum: "sha256:e0bc68bd45e5ac0e" -lastPushedMetaChecksum: "sha256:15f9402ea2e6eb59" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7b2c9fbaea16af16" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install.level.yaml b/scripts/splashtop_streamer_install.level.yaml index b366134..1a23694 100644 --- a/scripts/splashtop_streamer_install.level.yaml +++ b/scripts/splashtop_streamer_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0OQ lastPushedChecksum: "sha256:ba206f1ad3a5419d" -lastPushedMetaChecksum: "sha256:bcdb7310d335173e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f2888088f12693e5" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_amd64.level.yaml b/scripts/splashtop_streamer_install_debian_amd64.level.yaml index 250b961..ae6f26e 100644 --- a/scripts/splashtop_streamer_install_debian_amd64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_amd64.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MA lastPushedChecksum: "sha256:0d1eb15b627f4539" -lastPushedMetaChecksum: "sha256:d7f24c8fc5aebb5d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:97c2d5a9a1c8fb74" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_debian_arm64.level.yaml b/scripts/splashtop_streamer_install_debian_arm64.level.yaml index f53b007..2c74c36 100644 --- a/scripts/splashtop_streamer_install_debian_arm64.level.yaml +++ b/scripts/splashtop_streamer_install_debian_arm64.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1MQ lastPushedChecksum: "sha256:4fb1452893ccc28c" -lastPushedMetaChecksum: "sha256:702c91687481a735" \ No newline at end of file +lastPushedMetaChecksum: "sha256:fe7c924f979e90b5" \ No newline at end of file diff --git a/scripts/splashtop_streamer_install_macos.level.yaml b/scripts/splashtop_streamer_install_macos.level.yaml index 931e19c..a5c8ac1 100644 --- a/scripts/splashtop_streamer_install_macos.level.yaml +++ b/scripts/splashtop_streamer_install_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mg lastPushedChecksum: "sha256:7962109ca8b9e885" -lastPushedMetaChecksum: "sha256:dbd2bc84ab9fc824" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4306f91b36daf03a" \ No newline at end of file diff --git a/scripts/splashtop_uninstall.level.yaml b/scripts/splashtop_uninstall.level.yaml index e824fba..743c288 100644 --- a/scripts/splashtop_uninstall.level.yaml +++ b/scripts/splashtop_uninstall.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Mw lastPushedChecksum: "sha256:0800aca199e5aa18" -lastPushedMetaChecksum: "sha256:9be935a1ec698f10" \ No newline at end of file +lastPushedMetaChecksum: "sha256:debb96d46a80206e" \ No newline at end of file diff --git a/scripts/splashtop_uninstall_macos.level.yaml b/scripts/splashtop_uninstall_macos.level.yaml index ef851a8..d1a8543 100644 --- a/scripts/splashtop_uninstall_macos.level.yaml +++ b/scripts/splashtop_uninstall_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NA lastPushedChecksum: "sha256:b9213924115309e4" -lastPushedMetaChecksum: "sha256:31813ec18a421a60" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9301e2495aeb9189" \ No newline at end of file diff --git a/scripts/start_menu_tiles_clear.level.yaml b/scripts/start_menu_tiles_clear.level.yaml index a18bf52..654d62b 100644 --- a/scripts/start_menu_tiles_clear.level.yaml +++ b/scripts/start_menu_tiles_clear.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1NQ lastPushedChecksum: "sha256:e5c2f1f84776bf20" -lastPushedMetaChecksum: "sha256:a83594d7f53d0397" \ No newline at end of file +lastPushedMetaChecksum: "sha256:bcb32d4287d20577" \ No newline at end of file diff --git a/scripts/stdrename_install_toggle.level.yaml b/scripts/stdrename_install_toggle.level.yaml index 0c731b4..90411e8 100644 --- a/scripts/stdrename_install_toggle.level.yaml +++ b/scripts/stdrename_install_toggle.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Ng lastPushedChecksum: "sha256:6fb3442faa559a1f" -lastPushedMetaChecksum: "sha256:8add225b2d770828" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9b34f30babe918f9" \ No newline at end of file diff --git a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml index 4246492..5d4ba2f 100644 --- a/scripts/superops_agent_alt_path_uninstall_macos.level.yaml +++ b/scripts/superops_agent_alt_path_uninstall_macos.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1Nw lastPushedChecksum: "sha256:8863ba4e5a0a2968" -lastPushedMetaChecksum: "sha256:902345f5e07fe135" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8a18ecff63084297" \ No newline at end of file diff --git a/scripts/superops_agent_install.level.yaml b/scripts/superops_agent_install.level.yaml index 603f148..7f68d49 100644 --- a/scripts/superops_agent_install.level.yaml +++ b/scripts/superops_agent_install.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OA lastPushedChecksum: "sha256:52ab8410999a4df7" -lastPushedMetaChecksum: "sha256:f9272867ca5911e4" \ No newline at end of file +lastPushedMetaChecksum: "sha256:53916519f3b9b717" \ No newline at end of file diff --git a/scripts/superops_agent_install_macos.level.yaml b/scripts/superops_agent_install_macos.level.yaml index d17b109..99422b2 100644 --- a/scripts/superops_agent_install_macos.level.yaml +++ b/scripts/superops_agent_install_macos.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM1OQ lastPushedChecksum: "sha256:6fc3490acf5c28f8" -lastPushedMetaChecksum: "sha256:ae026ce0c61159b5" \ No newline at end of file +lastPushedMetaChecksum: "sha256:d222a493646d4c3f" \ No newline at end of file diff --git a/scripts/superops_agent_legacy_uninstall.level.yaml b/scripts/superops_agent_legacy_uninstall.level.yaml index b56b0c9..b083120 100644 --- a/scripts/superops_agent_legacy_uninstall.level.yaml +++ b/scripts/superops_agent_legacy_uninstall.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MA lastPushedChecksum: "sha256:b7ce686565594ba9" -lastPushedMetaChecksum: "sha256:cb704d2efc278fc6" \ No newline at end of file +lastPushedMetaChecksum: "sha256:596c2c959ad1c2bd" \ No newline at end of file diff --git a/scripts/superops_agent_reinstall_macos.level.yaml b/scripts/superops_agent_reinstall_macos.level.yaml index 7280afa..71e7317 100644 --- a/scripts/superops_agent_reinstall_macos.level.yaml +++ b/scripts/superops_agent_reinstall_macos.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2MQ lastPushedChecksum: "sha256:174ea4eea6e05f07" -lastPushedMetaChecksum: "sha256:f94198327e45540f" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3244aa9e885c8897" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall.level.yaml b/scripts/superops_agent_uninstall.level.yaml index d16b0fc..67ac56e 100644 --- a/scripts/superops_agent_uninstall.level.yaml +++ b/scripts/superops_agent_uninstall.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mg lastPushedChecksum: "sha256:76c7e150cfacff89" -lastPushedMetaChecksum: "sha256:294f643ddaa2a23a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:77311cc9d07e964c" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_alt.level.yaml b/scripts/superops_agent_uninstall_alt.level.yaml index 4fb8db4..b904201 100644 --- a/scripts/superops_agent_uninstall_alt.level.yaml +++ b/scripts/superops_agent_uninstall_alt.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Mw lastPushedChecksum: "sha256:d389b242c9fa2afc" -lastPushedMetaChecksum: "sha256:ef5e54cbf8f7cfae" \ No newline at end of file +lastPushedMetaChecksum: "sha256:eec19bb4840dff42" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_linux.level.yaml b/scripts/superops_agent_uninstall_linux.level.yaml index ac39760..edf80a4 100644 --- a/scripts/superops_agent_uninstall_linux.level.yaml +++ b/scripts/superops_agent_uninstall_linux.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NA lastPushedChecksum: "sha256:2009c72750ce9121" -lastPushedMetaChecksum: "sha256:232ed932582ae0de" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f9008353821bfc43" \ No newline at end of file diff --git a/scripts/superops_agent_uninstall_macos.level.yaml b/scripts/superops_agent_uninstall_macos.level.yaml index 6d044ce..0777b3c 100644 --- a/scripts/superops_agent_uninstall_macos.level.yaml +++ b/scripts/superops_agent_uninstall_macos.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2NQ lastPushedChecksum: "sha256:1f2ddeee28510922" -lastPushedMetaChecksum: "sha256:f77a43aeb7e1e327" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f5ace28a184bd5b2" \ No newline at end of file diff --git a/scripts/superops_service_restart.level.yaml b/scripts/superops_service_restart.level.yaml index edb56a9..8da973e 100644 --- a/scripts/superops_service_restart.level.yaml +++ b/scripts/superops_service_restart.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Ng lastPushedChecksum: "sha256:21071e206631d4f0" -lastPushedMetaChecksum: "sha256:7a06590c036c0813" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b164d6950b1ebfca" \ No newline at end of file diff --git a/scripts/superops_tray_icon_show_always.level.yaml b/scripts/superops_tray_icon_show_always.level.yaml index fc5a586..38a8210 100644 --- a/scripts/superops_tray_icon_show_always.level.yaml +++ b/scripts/superops_tray_icon_show_always.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2Nw lastPushedChecksum: "sha256:60705b6f854e0ad7" -lastPushedMetaChecksum: "sha256:126b041f269b6d65" \ No newline at end of file +lastPushedMetaChecksum: "sha256:f9f2aee50948f820" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install.level.yaml b/scripts/synology_backup_agent_install.level.yaml index 41df63f..ad4b59a 100644 --- a/scripts/synology_backup_agent_install.level.yaml +++ b/scripts/synology_backup_agent_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OA lastPushedChecksum: "sha256:71047d6fc64e0624" -lastPushedMetaChecksum: "sha256:44b04888cdc598f4" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3146194ade7788b0" \ No newline at end of file diff --git a/scripts/synology_backup_agent_install_linux.level.yaml b/scripts/synology_backup_agent_install_linux.level.yaml index d149495..ee41776 100644 --- a/scripts/synology_backup_agent_install_linux.level.yaml +++ b/scripts/synology_backup_agent_install_linux.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM2OQ lastPushedChecksum: "sha256:d25da66ea53f3a05" -lastPushedMetaChecksum: "sha256:408e506ed1895585" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5a69a5cf5651e9ab" \ No newline at end of file diff --git a/scripts/terminated_user_lockout.level.yaml b/scripts/terminated_user_lockout.level.yaml index 91f2bf2..aed72c7 100644 --- a/scripts/terminated_user_lockout.level.yaml +++ b/scripts/terminated_user_lockout.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MA lastPushedChecksum: "sha256:a2fc53f08fbbf738" -lastPushedMetaChecksum: "sha256:8a6768c748f06a7e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3146db3911a79e6e" \ No newline at end of file diff --git a/scripts/time_sync_fix.level.yaml b/scripts/time_sync_fix.level.yaml index ebb3396..2c1655c 100644 --- a/scripts/time_sync_fix.level.yaml +++ b/scripts/time_sync_fix.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3MQ lastPushedChecksum: "sha256:2a5b7085817c1386" -lastPushedMetaChecksum: "sha256:083897b5ae0e72fe" \ No newline at end of file +lastPushedMetaChecksum: "sha256:59750e210cec6130" \ No newline at end of file diff --git a/scripts/time_utc_set.level.yaml b/scripts/time_utc_set.level.yaml index 2e5e816..57da64b 100644 --- a/scripts/time_utc_set.level.yaml +++ b/scripts/time_utc_set.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mg lastPushedChecksum: "sha256:4a8bd8317bc76df9" -lastPushedMetaChecksum: "sha256:18556b80f8fa2272" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0ad7080096c9e58e" \ No newline at end of file diff --git a/scripts/ubuntu_debian_update_verbose.level.yaml b/scripts/ubuntu_debian_update_verbose.level.yaml index ac8a463..0ed8efa 100644 --- a/scripts/ubuntu_debian_update_verbose.level.yaml +++ b/scripts/ubuntu_debian_update_verbose.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Mw lastPushedChecksum: "sha256:cb32e47af9465ca4" -lastPushedMetaChecksum: "sha256:e37d862657d9a801" \ No newline at end of file +lastPushedMetaChecksum: "sha256:832c0b229748f99e" \ No newline at end of file diff --git a/scripts/user_accounts_report.level.yaml b/scripts/user_accounts_report.level.yaml index b42275a..8205dfc 100644 --- a/scripts/user_accounts_report.level.yaml +++ b/scripts/user_accounts_report.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NA lastPushedChecksum: "sha256:5aff121cdaf29830" -lastPushedMetaChecksum: "sha256:c616841db34a0e5e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:45743dae6ae0c17c" \ No newline at end of file diff --git a/scripts/usmt_lan_migrate.level.yaml b/scripts/usmt_lan_migrate.level.yaml index 0b5cd6d..f150bf5 100644 --- a/scripts/usmt_lan_migrate.level.yaml +++ b/scripts/usmt_lan_migrate.level.yaml @@ -34,4 +34,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3NQ lastPushedChecksum: "sha256:fc591c1e7cec5da2" -lastPushedMetaChecksum: "sha256:5556293b4acf14b9" \ No newline at end of file +lastPushedMetaChecksum: "sha256:5df630b2eefb6644" \ No newline at end of file diff --git a/scripts/usmt_profile_migrate.level.yaml b/scripts/usmt_profile_migrate.level.yaml index c101c2f..f3c5d2c 100644 --- a/scripts/usmt_profile_migrate.level.yaml +++ b/scripts/usmt_profile_migrate.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Ng lastPushedChecksum: "sha256:d397fd188deca05c" -lastPushedMetaChecksum: "sha256:36014b5afd5cbb4b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2e087a2a73503345" \ No newline at end of file diff --git a/scripts/webview2_repair_install.level.yaml b/scripts/webview2_repair_install.level.yaml index 10a63ba..576a2b3 100644 --- a/scripts/webview2_repair_install.level.yaml +++ b/scripts/webview2_repair_install.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3Nw lastPushedChecksum: "sha256:eb622de3ac3b06f0" -lastPushedMetaChecksum: "sha256:20ec65a09d4e9240" \ No newline at end of file +lastPushedMetaChecksum: "sha256:12630399b7d7c829" \ No newline at end of file diff --git a/scripts/wifi_adapters_disable.level.yaml b/scripts/wifi_adapters_disable.level.yaml index 7553014..3b4ff66 100644 --- a/scripts/wifi_adapters_disable.level.yaml +++ b/scripts/wifi_adapters_disable.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OA lastPushedChecksum: "sha256:16dd67e48b67ceaf" -lastPushedMetaChecksum: "sha256:3b95ea5a10595d38" \ No newline at end of file +lastPushedMetaChecksum: "sha256:78f8840e065d4f86" \ No newline at end of file diff --git a/scripts/wifi_passwords_show.level.yaml b/scripts/wifi_passwords_show.level.yaml index f7b4262..69c4fcb 100644 --- a/scripts/wifi_passwords_show.level.yaml +++ b/scripts/wifi_passwords_show.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM3OQ lastPushedChecksum: "sha256:23635bb4bd6d99f9" -lastPushedMetaChecksum: "sha256:83acf59c8627e46a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7744b32421d67520" \ No newline at end of file diff --git a/scripts/wifiman_install.level.yaml b/scripts/wifiman_install.level.yaml index 7713431..1db8761 100644 --- a/scripts/wifiman_install.level.yaml +++ b/scripts/wifiman_install.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MA lastPushedChecksum: "sha256:22ab242925134ed1" -lastPushedMetaChecksum: "sha256:e615ee148e606c95" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8b91771f373e0326" \ No newline at end of file diff --git a/scripts/win11_compatibility_check.level.yaml b/scripts/win11_compatibility_check.level.yaml index db90f95..2fa546c 100644 --- a/scripts/win11_compatibility_check.level.yaml +++ b/scripts/win11_compatibility_check.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4MQ lastPushedChecksum: "sha256:12be2dab9e24d0d4" -lastPushedMetaChecksum: "sha256:812e0d355e14b702" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9910bc724e201799" \ No newline at end of file diff --git a/scripts/windows11_compatibility_check.level.yaml b/scripts/windows11_compatibility_check.level.yaml index 2f81250..2d13519 100644 --- a/scripts/windows11_compatibility_check.level.yaml +++ b/scripts/windows11_compatibility_check.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mg lastPushedChecksum: "sha256:c2db40bcd9a3a6cf" -lastPushedMetaChecksum: "sha256:9c787947e9859a0b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:113554ca377d83e9" \ No newline at end of file diff --git a/scripts/windows_dark_mode_enable.level.yaml b/scripts/windows_dark_mode_enable.level.yaml index 6d3bfbd..eb334d3 100644 --- a/scripts/windows_dark_mode_enable.level.yaml +++ b/scripts/windows_dark_mode_enable.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Mw lastPushedChecksum: "sha256:9d07ef367a12f5b9" -lastPushedMetaChecksum: "sha256:5ea3e567ac0f2109" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9277a9b1d43842a5" \ No newline at end of file diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index 35ff14b..4598333 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA lastPushedChecksum: "sha256:be481319dad82072" -lastPushedMetaChecksum: "sha256:3723761c092cf42d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b8b34b4001d1223d" \ No newline at end of file diff --git a/scripts/windows_firewall_toggle.level.yaml b/scripts/windows_firewall_toggle.level.yaml index 7e2be0f..6e27aa4 100644 --- a/scripts/windows_firewall_toggle.level.yaml +++ b/scripts/windows_firewall_toggle.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NQ lastPushedChecksum: "sha256:3ababf5f681c4117" -lastPushedMetaChecksum: "sha256:46c11db43ba3b37a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:14fe87767297b1c7" \ No newline at end of file diff --git a/scripts/windows_product_key_export_superops.level.yaml b/scripts/windows_product_key_export_superops.level.yaml index 2c97633..d0c2aa2 100644 --- a/scripts/windows_product_key_export_superops.level.yaml +++ b/scripts/windows_product_key_export_superops.level.yaml @@ -28,4 +28,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Ng lastPushedChecksum: "sha256:8c4fd9133fdd413e" -lastPushedMetaChecksum: "sha256:b607d86369c87716" \ No newline at end of file +lastPushedMetaChecksum: "sha256:64c9a1b00066f6da" \ No newline at end of file diff --git a/scripts/windows_update_access_restore.level.yaml b/scripts/windows_update_access_restore.level.yaml index 78d9968..0a5b2a4 100644 --- a/scripts/windows_update_access_restore.level.yaml +++ b/scripts/windows_update_access_restore.level.yaml @@ -21,4 +21,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4Nw lastPushedChecksum: "sha256:b8d790b668a1b512" -lastPushedMetaChecksum: "sha256:6cbf5fc275418651" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2a13b643717822f7" \ No newline at end of file diff --git a/scripts/windows_update_access_toggle.level.yaml b/scripts/windows_update_access_toggle.level.yaml index 1ccd4f8..0e402be 100644 --- a/scripts/windows_update_access_toggle.level.yaml +++ b/scripts/windows_update_access_toggle.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OA lastPushedChecksum: "sha256:f3e6ce36a0c0a34e" -lastPushedMetaChecksum: "sha256:2b6bf3a20ead0305" \ No newline at end of file +lastPushedMetaChecksum: "sha256:9315fab47e7ee94e" \ No newline at end of file diff --git a/scripts/windows_update_reset.level.yaml b/scripts/windows_update_reset.level.yaml index f0bcda7..c6b22de 100644 --- a/scripts/windows_update_reset.level.yaml +++ b/scripts/windows_update_reset.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4OQ lastPushedChecksum: "sha256:dc0660ba30a52b1f" -lastPushedMetaChecksum: "sha256:8d02cd8cb88afed8" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7a248ea5926f32dd" \ No newline at end of file diff --git a/scripts/winget_package_install.level.yaml b/scripts/winget_package_install.level.yaml index 76e9e7d..d7b72e9 100644 --- a/scripts/winget_package_install.level.yaml +++ b/scripts/winget_package_install.level.yaml @@ -24,4 +24,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MA lastPushedChecksum: "sha256:81593e032c1092d2" -lastPushedMetaChecksum: "sha256:a6312bfeb71d9766" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3720ad0025a0796a" \ No newline at end of file diff --git a/scripts/winget_setup.level.yaml b/scripts/winget_setup.level.yaml index 7c49ac6..9937858 100644 --- a/scripts/winget_setup.level.yaml +++ b/scripts/winget_setup.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5MQ lastPushedChecksum: "sha256:9c39b0b8e934af79" -lastPushedMetaChecksum: "sha256:9af883bea1716b53" \ No newline at end of file +lastPushedMetaChecksum: "sha256:df6c4302eaf1984d" \ No newline at end of file diff --git a/scripts/winget_upgrade_all.level.yaml b/scripts/winget_upgrade_all.level.yaml index 45a2052..11d02b1 100644 --- a/scripts/winget_upgrade_all.level.yaml +++ b/scripts/winget_upgrade_all.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mg lastPushedChecksum: "sha256:a012ab90c5f2a0d1" -lastPushedMetaChecksum: "sha256:051cccec6586caf8" \ No newline at end of file +lastPushedMetaChecksum: "sha256:8e02e7d5acd2db4d" \ No newline at end of file diff --git a/scripts/winre_partition_resize.level.yaml b/scripts/winre_partition_resize.level.yaml index fe9660d..e45e2c4 100644 --- a/scripts/winre_partition_resize.level.yaml +++ b/scripts/winre_partition_resize.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Mw lastPushedChecksum: "sha256:193e2e8a68f2a4ce" -lastPushedMetaChecksum: "sha256:345abe185a3c6e4a" \ No newline at end of file +lastPushedMetaChecksum: "sha256:16d1d403c7cd3d39" \ No newline at end of file diff --git a/scripts/winre_restore.level.yaml b/scripts/winre_restore.level.yaml index f3276eb..1e439e0 100644 --- a/scripts/winre_restore.level.yaml +++ b/scripts/winre_restore.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NA lastPushedChecksum: "sha256:2ee202fdbbaf51a9" -lastPushedMetaChecksum: "sha256:feec4a4defb663e2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:295aff01d82520b3" \ No newline at end of file diff --git a/scripts/winreagent_cleanup.level.yaml b/scripts/winreagent_cleanup.level.yaml index 969b0ba..7ce3001 100644 --- a/scripts/winreagent_cleanup.level.yaml +++ b/scripts/winreagent_cleanup.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5NQ lastPushedChecksum: "sha256:142834ca4118604e" -lastPushedMetaChecksum: "sha256:98dd75233e437d6d" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7e9b2e2e650ff49e" \ No newline at end of file diff --git a/scripts/wol_enable.level.yaml b/scripts/wol_enable.level.yaml index 1183180..57a66de 100644 --- a/scripts/wol_enable.level.yaml +++ b/scripts/wol_enable.level.yaml @@ -32,4 +32,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Ng lastPushedChecksum: "sha256:2af7e13609778071" -lastPushedMetaChecksum: "sha256:4b798181ed103da2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:7a03f392ef857aa3" \ No newline at end of file diff --git a/scripts/wol_status_check.level.yaml b/scripts/wol_status_check.level.yaml index cfb395c..f1e9798 100644 --- a/scripts/wol_status_check.level.yaml +++ b/scripts/wol_status_check.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5Nw lastPushedChecksum: "sha256:fd47c8923957702e" -lastPushedMetaChecksum: "sha256:767c6d3394d223f2" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b323a1bc9defad48" \ No newline at end of file diff --git a/scripts/workstation_info_display.level.yaml b/scripts/workstation_info_display.level.yaml index bff62b3..5db5048 100644 --- a/scripts/workstation_info_display.level.yaml +++ b/scripts/workstation_info_display.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OA lastPushedChecksum: "sha256:330cc5d8ea5101af" -lastPushedMetaChecksum: "sha256:c29bfa0912d3d52e" \ No newline at end of file +lastPushedMetaChecksum: "sha256:6f267d18c8bc710b" \ No newline at end of file diff --git a/scripts/workstation_info_display_macos.level.yaml b/scripts/workstation_info_display_macos.level.yaml index a32578c..1bf19f4 100644 --- a/scripts/workstation_info_display_macos.level.yaml +++ b/scripts/workstation_info_display_macos.level.yaml @@ -23,4 +23,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM5OQ lastPushedChecksum: "sha256:1308f5b29f92137a" -lastPushedMetaChecksum: "sha256:679ba203f4465b0b" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b4e5067f95e281e0" \ No newline at end of file diff --git a/scripts/workstation_oobe_seal.level.yaml b/scripts/workstation_oobe_seal.level.yaml index 2ca24fc..0561294 100644 --- a/scripts/workstation_oobe_seal.level.yaml +++ b/scripts/workstation_oobe_seal.level.yaml @@ -34,4 +34,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMA lastPushedChecksum: "sha256:131faea0ea03ff73" -lastPushedMetaChecksum: "sha256:7fa146dbae7cf2e5" \ No newline at end of file +lastPushedMetaChecksum: "sha256:38bb682d15a4d427" \ No newline at end of file diff --git a/scripts/workstation_reboot_force.level.yaml b/scripts/workstation_reboot_force.level.yaml index b4a447a..9dd9479 100644 --- a/scripts/workstation_reboot_force.level.yaml +++ b/scripts/workstation_reboot_force.level.yaml @@ -22,4 +22,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMQ lastPushedChecksum: "sha256:396ded2032104a45" -lastPushedMetaChecksum: "sha256:63abdff245ec4e06" \ No newline at end of file +lastPushedMetaChecksum: "sha256:2c00b765cd6f6685" \ No newline at end of file diff --git a/scripts/workstation_remote_wipe.level.yaml b/scripts/workstation_remote_wipe.level.yaml index a54836b..81ac448 100644 --- a/scripts/workstation_remote_wipe.level.yaml +++ b/scripts/workstation_remote_wipe.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMg lastPushedChecksum: "sha256:ee9261e6127e7c42" -lastPushedMetaChecksum: "sha256:ed81699ea144dfae" \ No newline at end of file +lastPushedMetaChecksum: "sha256:95746506d05791bb" \ No newline at end of file diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index c444e7b..2dce194 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -29,4 +29,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw lastPushedChecksum: "sha256:d5996dd1d435f7a6" -lastPushedMetaChecksum: "sha256:636fd36ea9975510" \ No newline at end of file +lastPushedMetaChecksum: "sha256:af7756ec2ff2d127" \ No newline at end of file diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml index a675115..087d5dc 100644 --- a/scripts/workstation_rename_auto_macos.level.yaml +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNA lastPushedChecksum: "sha256:e20d54ceb44212c7" -lastPushedMetaChecksum: "sha256:d29cd04959201a95" \ No newline at end of file +lastPushedMetaChecksum: "sha256:4b1b3ff221eed4c3" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 9f81ddb..17b48c2 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -30,4 +30,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ lastPushedChecksum: "sha256:2140a719a807fc81" -lastPushedMetaChecksum: "sha256:41dc31df097fe2de" \ No newline at end of file +lastPushedMetaChecksum: "sha256:b0af7692d1c1244c" \ No newline at end of file diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index 588e79d..d6472df 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -26,4 +26,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg lastPushedChecksum: "sha256:cf6852c71596e859" -lastPushedMetaChecksum: "sha256:0f8163d70098d164" \ No newline at end of file +lastPushedMetaChecksum: "sha256:a01d977c6f07856b" \ No newline at end of file diff --git a/scripts/workstation_screenshot_macos.level.yaml b/scripts/workstation_screenshot_macos.level.yaml index e4742c5..2673393 100644 --- a/scripts/workstation_screenshot_macos.level.yaml +++ b/scripts/workstation_screenshot_macos.level.yaml @@ -27,4 +27,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNw lastPushedChecksum: "sha256:68e461f9f17d2d4c" -lastPushedMetaChecksum: "sha256:fd34fd5689266dca" \ No newline at end of file +lastPushedMetaChecksum: "sha256:3146d24ddd1b608a" \ No newline at end of file diff --git a/scripts/workstation_uptime_reboot_macos.level.yaml b/scripts/workstation_uptime_reboot_macos.level.yaml index c0efa8c..622ae67 100644 --- a/scripts/workstation_uptime_reboot_macos.level.yaml +++ b/scripts/workstation_uptime_reboot_macos.level.yaml @@ -25,4 +25,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwOA lastPushedChecksum: "sha256:3ba41914e543c9d9" -lastPushedMetaChecksum: "sha256:3b05bdad507cddbd" \ No newline at end of file +lastPushedMetaChecksum: "sha256:0781436877e2f134" \ No newline at end of file From 9ff23f30c5b4a9c618ebb503ac48e8ef95b76920 Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 16:06:36 -0400 Subject: [PATCH 18/36] feat(level): windows11_25h2_install v1.1.0 path-aware upgrades Detect source OS and choose path: eKB for 24H2 (KB5054156), full feature upgrade via WU then Installation Assistant for Win10 and pre-24H2 Win11. Timeout 14400s (4h). Fixes Win10 22H2 hard-fail. --- scripts/windows11_25h2_install.level.yaml | 46 +- scripts/windows11_25h2_install.ps1 | 977 ++++++++++++---------- 2 files changed, 570 insertions(+), 453 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 11c4a89..988dacc 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -1,40 +1,40 @@ name: windows11_25h2_install.ps1 -description: Silently install Windows 11 25H2 (KB5054156) for Level RMM +description: Path-aware silent upgrade to Windows 11 25H2 for Level RMM shell: POWERSHELL runAs: SYSTEM -timeout: 7200 +timeout: 14400 readme: | Purpose ------- - Silently installs Windows 11, version 25H2 by applying Microsoft enablement package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 (build 26100) with the required cumulative update, this is a small master-switch package that activates already-present 25H2 features after one restart. Not a full ISO feature upgrade. - + Detects the current Windows version and chooses a clean upgrade path to Windows 11 version 25H2 for Level RMM (run as System). + + Paths + ----- + - Already 25H2: no-op success + - Windows 11 24H2 (build 26100) with UBR 5074+: enablement package KB5054156 (wusa silent) + - Windows 11 24H2 with low UBR: fail and require KB5064081+ cumulative update first + - Windows 10 or Windows 11 older than 24H2: full feature upgrade via Windows Update (if offered), else Windows 11 Installation Assistant + Usage Notes ----------- - - Level: run as System; timeout 7200 seconds (2 hours) — Level timeout is seconds, not minutes - - Validates hardcoded inputs, then reads DisplayVersion / build / UBR from registry - - Already on 25H2 exits success (idempotent) - - Requires Windows 11 24H2 build 26100 with UBR 5074+ (KB5064081 or later) - - Selects AMD64 or ARM64 Microsoft catalog MSU URL automatically - - Downloads KB5054156 MSU to TEMP; installs with wusa.exe /quiet /norestart - - Treats wusa exit codes 0, 3010, and 2359302 as success - - Reboot After Install defaults to false (safe Level default); reboot still required to activate 25H2 - - Console sections are captured in the Level script run / activity log - - Min UBR: 5074 | Required Build: 26100 | Source: 24H2 | Target: 25H2 - + - Level: run as System; timeout 14400 seconds (4 hours) + - Reboot After Install defaults to false for eKB; full upgrade may reboot via IA/WU + - Prefer Windows Update is true by default; falls back to Installation Assistant + - Installation Assistant: https://go.microsoft.com/fwlink/?linkid=2171764 + - eKB MSU URLs: Microsoft catalog KB5054156 x64 and ARM64 + Requirements ------------ - Level agent online; script executed as System - - Windows PowerShell 5.1 or later - - Windows 11 version 24H2 only (OS build 26100) - - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later - - Internet connectivity to catalog.sf.dl.delivery.mp.microsoft.com - + - Internet connectivity + - eKB path: Windows 11 24H2 build 26100 UBR 5074+ + - Full upgrade path: Windows 11 hardware requirements must be met + Security -------- - No secrets in logs - - Downloads only from hardcoded Microsoft delivery catalog URLs - - Scoped to enablement package only (no full ISO upgrade) + - Downloads only from Microsoft endpoints groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg lastPushedChecksum: "sha256:3d1f988df6c52a9f" -lastPushedMetaChecksum: "sha256:492c09c5ef07fc38" \ No newline at end of file +lastPushedMetaChecksum: "sha256:492c09c5ef07fc38" diff --git a/scripts/windows11_25h2_install.ps1 b/scripts/windows11_25h2_install.ps1 index 69a6cb5..b5cd81b 100644 --- a/scripts/windows11_25h2_install.ps1 +++ b/scripts/windows11_25h2_install.ps1 @@ -7,159 +7,120 @@ $ErrorActionPreference = 'Stop' ███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ ╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ================================================================================ - SCRIPT : Windows 11 25H2 Install v1.0.1 + SCRIPT : Windows 11 25H2 Install v1.1.0 AUTHOR : Limehawk.io DATE : July 2026 USAGE : .\windows11_25h2_install.ps1 ================================================================================ FILE : windows11_25h2_install.ps1 - DESCRIPTION : Silently install Windows 11 25H2 (KB5054156) for Level RMM + DESCRIPTION : Path-aware silent upgrade to Windows 11 25H2 for Level RMM -------------------------------------------------------------------------------- README -------------------------------------------------------------------------------- PURPOSE - Silently installs Windows 11, version 25H2 by applying Microsoft enablement - package KB5054156. Built for Level RMM (run as System). On Windows 11 24H2 - (build 26100) with the required CU, this is a small "master switch" that - activates already-present 25H2 features after one restart. Not a full ISO - feature upgrade path. + Detects the current Windows version and chooses a clean upgrade path to + Windows 11, version 25H2 for Level RMM (run as System). + + Paths (Microsoft-aligned): + - Already 25H2 → no-op success + - Windows 11 24H2 (build 26100) + CU UBR 5074+ → enablement package KB5054156 + (24H2/25H2 share a core; eKB is a small "master switch" + one restart) + - Windows 11 24H2 with UBR below 5074 → fail with clear CU prerequisite + - Windows 10 or Windows 11 older than 24H2 → full feature upgrade via + Windows Update (if offered) then Windows 11 Installation Assistant + + Sources: Microsoft KB5054156 (eKB applies to 24H2 only; prerequisite + KB5064081 / 26100.5074+). Older releases need a full feature update / ISO / + Installation Assistant — not the eKB. DATA SOURCES & PRIORITY - Registry HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion - (DisplayVersion, CurrentBuild/CurrentBuildNumber, UBR, ProductName) - - Win32_OperatingSystem Caption for OS family confirmation - - PROCESSOR_ARCHITECTURE / PROCESSOR_ARCHITEW6432 for AMD64 vs ARM64 - - Microsoft Update Catalog MSU download URLs for KB5054156 (x64 + ARM64) + - Win32_OperatingSystem Caption + - PROCESSOR_ARCHITECTURE / PROCESSOR_ARCHITEW6432 + - Microsoft Update COM (feature update search) + - Microsoft catalog MSU URLs for KB5054156 (x64 + ARM64) + - Windows 11 Installation Assistant (go.microsoft.com fwlink) REQUIRED INPUTS - All inputs are hardcoded in the script body (edit in Level script library - or clone per-policy if you need different reboot behavior): - - $downloadUrlX64 : x64 MSU URL for KB5054156 - - $downloadUrlArm64 : ARM64 MSU URL for KB5054156 - - $minUbr : Minimum UBR required on build 26100 (5074) - - $requiredBuild : Required OS build number (26100 = 24H2 core) - - $targetDisplayVersion : Target DisplayVersion after enablement (25H2) - - $sourceDisplayVersion : Required source DisplayVersion (24H2) - - $rebootAfterInstall : If $true, schedule reboot after successful apply + All inputs are hardcoded in the script body: + - $downloadUrlX64 / $downloadUrlArm64 : KB5054156 MSU URLs + - $minUbr / $requiredBuild : eKB prereq (26100 / 5074) + - $targetDisplayVersion : 25H2 + - $sourceDisplayVersion : 24H2 (eKB source) + - $installationAssistantUrl : IA download fwlink + - $preferWindowsUpdate : try WU feature update before IA + - $rebootAfterInstall : schedule reboot after eKB success SETTINGS - Configuration defaults: - - Download URL (x64) : Microsoft catalog MSU for windows11.0-kb5054156-x64 - - Download URL (ARM64): Microsoft catalog MSU for windows11.0-kb5054156-arm64 - - Min UBR : 5074 (KB5064081 or later cumulative update) - - Required Build : 26100 - - Source Version : 24H2 - - Target Version : 25H2 - - Reboot After Install: false (safe Level default; reboot still required) - - Installer Path : %TEMP%\windows11.0-kb5054156.msu - - Install method : wusa.exe /quiet /norestart - - Level run context : System (SYSTEM_USER) - - Level timeout : 7200 seconds (2 hours) — Level unit is seconds + - eKB method : wusa.exe /quiet /norestart + - Full upgrade fallback : Windows11InstallationAssistant.exe + /QuietInstall /SkipEULA /NoRestartUI + - Level timeout : 14400 seconds (4 hours) recommended + - Level run context : System BEHAVIOR - The script performs the following actions in order: - 1. Validates hardcoded input values - 2. Reads OS identity from registry (DisplayVersion, build, UBR, ProductName) - 3. If already on 25H2, exits 0 (idempotent success) - 4. Fails if not Windows 11 - 5. Fails if not build 26100 / not 24H2 (enablement package only path) - 6. Fails if UBR is below 5074 (install latest CU / KB5064081+ first) - 7. Selects AMD64 or ARM64 download URL - 8. Downloads the MSU to TEMP - 9. Installs silently with wusa.exe /quiet /norestart - (exit 0 and 3010 = success; 2359302 already-installed = success) - 10. Optionally schedules reboot if $rebootAfterInstall is true - 11. Cleans up the downloaded MSU - 12. Reports final DisplayVersion/build/UBR and reboot-pending status - (console output is captured in Level activity / script run log) + 1. Validate inputs + 2. Detect OS family, DisplayVersion, build, UBR, architecture + 3. Select upgrade path from source → target + 4. Execute path (eKB MSU, or WU feature update, or Installation Assistant) + 5. Report final status and reboot-pending note PREREQUISITES - - Windows PowerShell 5.1 or later - - Level agent online; script run as System - - Administrator / SYSTEM privileges (wusa enablement package install) - - Windows 11 version 24H2 only (OS build 26100) - - August 29, 2025 cumulative update KB5064081 (OS Build 26100.5074) or later - - Internet connectivity to download the Microsoft catalog MSU - - A restart is required after install to activate 25H2 (unless already applied) + - Level agent; run as System + - Internet access (MSU catalog and/or WU / Installation Assistant) + - Admin / SYSTEM privileges + - eKB path: Windows 11 24H2 build 26100 with UBR 5074+ (KB5064081 or later) + - Full upgrade path: device must meet Windows 11 hardware requirements + - Restart required to finish most upgrades SECURITY NOTES - No secrets in logs - - Downloads only from hardcoded Microsoft delivery catalog URLs - - Does not perform a full ISO upgrade; scoped to enablement package only - - Default does not force reboot; set $rebootAfterInstall = $true to schedule + - Downloads only from Microsoft delivery endpoints + - Full upgrade may reboot the device (Installation Assistant / WU) ENDPOINTS - - x64 MSU : catalog.sf.dl.delivery.mp.microsoft.com ... windows11.0-kb5054156-x64_*.msu - - ARM64 MSU: catalog.sf.dl.delivery.mp.microsoft.com ... windows11.0-kb5054156-arm64_*.msu + - catalog.sf.dl.delivery.mp.microsoft.com (KB5054156 MSU x64/ARM64) + - https://go.microsoft.com/fwlink/?linkid=2171764 (Installation Assistant) + - Windows Update (device-configured) EXIT CODES - 0 = Success (already on 25H2, package applied, or already installed) - 1 = Failure (unsupported OS/build/CU, download/install error) + 0 = Success (already target, package applied, or upgrade started/completed) + 1 = Failure (unsupported OS, missing prereq, download/install error) - EXAMPLE RUN - - [INFO] INPUT VALIDATION - ============================================================== - Download URL (x64) : https://catalog.sf.dl.delivery.mp.microsoft.com/...msu - Download URL (ARM64) : https://catalog.sf.dl.delivery.mp.microsoft.com/...msu - Min UBR : 5074 - Required Build : 26100 - Source Version : 24H2 - Target Version : 25H2 - Reboot After Install : False - Inputs validated successfully + EXAMPLE RUN (Win10 → full upgrade path) [INFO] OS DETECTION ============================================================== - Product Name : Windows 11 Pro - Display Version : 24H2 - Build : 26100 - UBR : 5074 - Architecture : AMD64 - - [RUN] DOWNLOAD - ============================================================== - Downloading KB5054156 enablement package... - Download completed successfully - - [RUN] INSTALLATION - ============================================================== - Running wusa.exe quietly (no restart)... - Installer exit code : 3010 - Installation completed successfully (reboot required) - - [RUN] CLEANUP - ============================================================== - Removing MSU file... - Cleanup completed + Product Name : Windows 10 Pro + Display Version : 22H2 + Build : 19045 + Path : full_feature_upgrade - [OK] FINAL STATUS + [RUN] WINDOWS UPDATE SEARCH ============================================================== - Result : SUCCESS - Display Version : 24H2 - Build.UBR : 26100.5074 - Reboot Pending : True - Note : Restart required to activate Windows 11 25H2 + No matching 25H2 feature update offered — using Installation Assistant - [OK] SCRIPT COMPLETED + [RUN] INSTALLATION ASSISTANT ============================================================== + Quiet install started... -------------------------------------------------------------------------------- CHANGELOG -------------------------------------------------------------------------------- - 2026-07-22 v1.0.1 Level timeout set to 7200s (2h). Level timeout is seconds, - not minutes — previous sidecar value of 60 was only 60s. - 2026-07-22 v1.0.0 Initial release - silent Windows 11 25H2 enablement package - (KB5054156) for Level RMM; x64 + ARM64 catalog MSU URLs + 2026-07-22 v1.1.0 Path-aware upgrades: eKB for 24H2; full feature upgrade + (WU then Installation Assistant) for Win10 / pre-24H2 Win11. + Level timeout guidance 14400s (4h). + 2026-07-22 v1.0.1 Level timeout 7200s (2h); Level unit is seconds. + 2026-07-22 v1.0.0 Initial release - silent eKB KB5054156 only (24H2→25H2) ================================================================================ #> @@ -172,6 +133,8 @@ $minUbr = 5074 $requiredBuild = '26100' $targetDisplayVersion = '25H2' $sourceDisplayVersion = '24H2' +$installationAssistantUrl = 'https://go.microsoft.com/fwlink/?linkid=2171764' +$preferWindowsUpdate = $true $rebootAfterInstall = $false Set-StrictMode -Version Latest @@ -179,88 +142,32 @@ Set-StrictMode -Version Latest # ============================================================================== # CONSTANTS # ============================================================================== -$installerPath = Join-Path $env:TEMP 'windows11.0-kb5054156.msu' +$msuPath = Join-Path $env:TEMP 'windows11.0-kb5054156.msu' +$iaPath = Join-Path $env:TEMP 'Windows11InstallationAssistant.exe' $ntCurrentVersionPath = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -# wusa success codes: 0 = success, 3010 = success reboot required -# 2359302 = WU_S_ALREADY_INSTALLED (package already present) -$successExitCodes = @(0, 3010, 2359302) +# wusa: 0 success, 3010 reboot required, 2359302 already installed +$wusaSuccessExitCodes = @(0, 3010, 2359302) # ============================================================================== -# INPUT VALIDATION +# HELPERS # ============================================================================== -Write-Host "" -Write-Host "[INFO] INPUT VALIDATION" -Write-Host "==============================================================" - -$errorOccurred = $false -$errorText = "" - -if ([string]::IsNullOrWhiteSpace($downloadUrlX64)) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Download URL (x64) is required" -} - -if ($minUbr -isnot [int] -and $minUbr -isnot [long]) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Min UBR must be an integer" -} elseif ([int]$minUbr -lt 1) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Min UBR must be a positive integer" -} - -if ([string]::IsNullOrWhiteSpace($requiredBuild)) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Required Build is required" -} - -if ([string]::IsNullOrWhiteSpace($targetDisplayVersion)) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Target Display Version is required" -} - -if ([string]::IsNullOrWhiteSpace($sourceDisplayVersion)) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Source Display Version is required" -} - -if ($rebootAfterInstall -isnot [bool]) { - $errorOccurred = $true - if ($errorText.Length -gt 0) { $errorText += "`n" } - $errorText += "- Reboot After Install must be a boolean" -} - -if ($errorOccurred) { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host $errorText +function Write-Section { + param([string]$Tag, [string]$Title) Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" + Write-Host "[$Tag] $Title" Write-Host "==============================================================" - exit 1 } -$arm64Display = if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { '(empty)' } else { $downloadUrlArm64 } - -Write-Host " Download URL (x64) : $downloadUrlX64" -Write-Host " Download URL (ARM64) : $arm64Display" -Write-Host " Min UBR : $minUbr" -Write-Host " Required Build : $requiredBuild" -Write-Host " Source Version : $sourceDisplayVersion" -Write-Host " Target Version : $targetDisplayVersion" -Write-Host " Reboot After Install : $rebootAfterInstall" -Write-Host " Inputs validated successfully" - -# ============================================================================== -# HELPERS -# ============================================================================== +function Write-FailAndExit { + param([string[]]$Lines) + Write-Section -Tag 'ERROR' -Title 'ERROR OCCURRED' + foreach ($line in $Lines) { + Write-Host " $line" + } + Write-Section -Tag 'ERROR' -Title 'SCRIPT COMPLETED' + exit 1 +} function Get-WindowsVersionInfo { $props = Get-ItemProperty -Path $ntCurrentVersionPath -ErrorAction Stop @@ -297,7 +204,6 @@ function Get-WindowsVersionInfo { $caption = '' } - # Prefer native architecture under WOW64 if present $arch = $env:PROCESSOR_ARCHITECTURE if (-not [string]::IsNullOrWhiteSpace($env:PROCESSOR_ARCHITEW6432)) { $arch = $env:PROCESSOR_ARCHITEW6432 @@ -306,6 +212,23 @@ function Get-WindowsVersionInfo { $arch = 'UNKNOWN' } + $blob = ("$productName $caption").ToLowerInvariant() + $family = 'Unknown' + if ($blob -match 'windows 11') { + $family = 'Windows11' + } elseif ($blob -match 'windows 10') { + $family = 'Windows10' + } + + # Build-based fallback (ProductName can lag after upgrades) + try { + $buildNum = [int]$build + if ($family -eq 'Unknown' -or $family -eq 'Windows10') { + if ($buildNum -ge 22000) { $family = 'Windows11' } + elseif ($buildNum -ge 10240) { $family = 'Windows10' } + } + } catch { } + return @{ DisplayVersion = $displayVersion Build = $build @@ -313,304 +236,492 @@ function Get-WindowsVersionInfo { ProductName = $productName Caption = $caption Architecture = $arch.ToUpperInvariant() + Family = $family } } -function Test-IsWindows11 { - param( - [string]$ProductName, - [string]$Caption - ) - - $blob = ("$ProductName $Caption").ToLowerInvariant() - return ($blob -match 'windows 11') -} - function Test-RebootPending { $pending = $false - try { if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending') { $pending = $true } } catch { } - try { if (Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired') { $pending = $true } } catch { } - return $pending } -# ============================================================================== -# OS DETECTION -# ============================================================================== +function Get-UpgradePath { + param($OsInfo) -Write-Host "" -Write-Host "[INFO] OS DETECTION" -Write-Host "==============================================================" + if ($OsInfo.DisplayVersion -eq $targetDisplayVersion) { + return @{ + Name = 'already_target' + Reason = "Already on Windows 11 $targetDisplayVersion" + } + } -try { - $osInfo = Get-WindowsVersionInfo -} catch { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Failed to read Windows version information" - Write-Host " Path : $ntCurrentVersionPath" - Write-Host " Error : $($_.Exception.Message)" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} + # eKB path: Windows 11 24H2 / build 26100 only (Microsoft KB5054156) + $is24h2Core = ($OsInfo.Family -eq 'Windows11' -and ( + $OsInfo.DisplayVersion -eq $sourceDisplayVersion -or + $OsInfo.Build -eq $requiredBuild + )) + + if ($is24h2Core) { + if ([int]$OsInfo.Ubr -lt [int]$minUbr) { + return @{ + Name = 'enablement_needs_cu' + Reason = "Windows 11 $sourceDisplayVersion build $requiredBuild but UBR $($OsInfo.Ubr) < $minUbr (need KB5064081+ before eKB)" + } + } + return @{ + Name = 'enablement_ekb' + Reason = "Windows 11 $sourceDisplayVersion ready for enablement package KB5054156" + } + } -Write-Host " Product Name : $($osInfo.ProductName)" -if (-not [string]::IsNullOrWhiteSpace($osInfo.Caption)) { - Write-Host " Caption : $($osInfo.Caption)" -} -Write-Host " Display Version : $($osInfo.DisplayVersion)" -Write-Host " Build : $($osInfo.Build)" -Write-Host " UBR : $($osInfo.Ubr)" -Write-Host " Architecture : $($osInfo.Architecture)" + if ($OsInfo.Family -eq 'Windows10' -or $OsInfo.Family -eq 'Windows11') { + return @{ + Name = 'full_feature_upgrade' + Reason = "$($OsInfo.Family) $($OsInfo.DisplayVersion) (build $($OsInfo.Build)) cannot use eKB — full feature upgrade required" + } + } -# Already on target version - idempotent success -if ($osInfo.DisplayVersion -eq $targetDisplayVersion) { - Write-Host "" - Write-Host "[OK] FINAL STATUS" - Write-Host "==============================================================" - Write-Host " Result : SUCCESS" - Write-Host " Display Version : $($osInfo.DisplayVersion)" - Write-Host " Build.UBR : $($osInfo.Build).$($osInfo.Ubr)" - Write-Host " Note : Already on Windows 11 $targetDisplayVersion - no action needed" - Write-Host "" - Write-Host "[OK] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 0 + return @{ + Name = 'unsupported' + Reason = "Unsupported OS family: $($OsInfo.Family) ($($OsInfo.ProductName))" + } } -if (-not (Test-IsWindows11 -ProductName $osInfo.ProductName -Caption $osInfo.Caption)) { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " This script only supports Windows 11" - Write-Host " Product Name : $($osInfo.ProductName)" - Write-Host " Caption : $($osInfo.Caption)" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} +function Install-EnablementPackage { + param($OsInfo) + + Write-Section -Tag 'INFO' -Title 'ARCHITECTURE' + $selectedUrl = '' + $selectedArch = $OsInfo.Architecture + + if ($selectedArch -eq 'AMD64' -or $selectedArch -eq 'X64') { + $selectedUrl = $downloadUrlX64 + $selectedArch = 'AMD64' + } elseif ($selectedArch -eq 'ARM64') { + if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { + Write-FailAndExit -Lines @( + 'ARM64 download URL is empty in hardcoded inputs' + 'Set $downloadUrlArm64 to the Microsoft catalog MSU for KB5054156 ARM64' + ) + } + $selectedUrl = $downloadUrlArm64 + } else { + Write-FailAndExit -Lines @( + "Unsupported processor architecture: $($OsInfo.Architecture)" + 'Supported architectures : AMD64, ARM64' + ) + } -if ($osInfo.Build -ne $requiredBuild -or $osInfo.DisplayVersion -ne $sourceDisplayVersion) { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Enablement package KB5054156 only works from Windows 11 $sourceDisplayVersion (build $requiredBuild)" - Write-Host " Current Display Version : $($osInfo.DisplayVersion)" - Write-Host " Current Build : $($osInfo.Build)" - Write-Host " This script does not perform a full feature update / ISO upgrade path" - Write-Host " Upgrade the device to Windows 11 $sourceDisplayVersion with a recent CU first" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} + Write-Host " Architecture : $selectedArch" + Write-Host " Package URL : $selectedUrl" -if ([int]$osInfo.Ubr -lt [int]$minUbr) { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Cumulative update prerequisite not met" - Write-Host " Required : build $requiredBuild UBR $minUbr or later (KB5064081+)" - Write-Host " Current : build $($osInfo.Build) UBR $($osInfo.Ubr)" - Write-Host " Install the latest Windows 11 cumulative update, then re-run this script" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} + Write-Section -Tag 'RUN' -Title 'DOWNLOAD' + try { + Write-Host " Downloading KB5054156 enablement package..." + Write-Host " Destination : $msuPath" + Invoke-WebRequest -Uri $selectedUrl -OutFile $msuPath -UseBasicParsing + if (-not (Test-Path -Path $msuPath -PathType Leaf)) { + throw 'MSU file was not downloaded' + } + $fileSizeMb = [math]::Round((Get-Item -Path $msuPath).Length / 1MB, 2) + Write-Host " File Size : $fileSizeMb MB" + Write-Host " Download completed successfully" + } catch { + Write-FailAndExit -Lines @( + 'Failed to download KB5054156 enablement package' + "URL : $selectedUrl" + "Error : $($_.Exception.Message)" + ) + } -# ============================================================================== -# ARCHITECTURE / URL SELECTION -# ============================================================================== + Write-Section -Tag 'RUN' -Title 'INSTALLATION' + $installExitCode = -1 + $rebootRequired = $false + try { + Write-Host " Method : wusa.exe /quiet /norestart" + Write-Host " Package : $msuPath" + $process = Start-Process -FilePath 'wusa.exe' -ArgumentList "`"$msuPath`"", '/quiet', '/norestart' -Wait -PassThru -NoNewWindow + $installExitCode = $process.ExitCode + Write-Host " Installer exit code : $installExitCode" + + if ($wusaSuccessExitCodes -notcontains $installExitCode) { + throw "wusa.exe failed with exit code: $installExitCode" + } -Write-Host "" -Write-Host "[INFO] ARCHITECTURE" -Write-Host "==============================================================" + if ($installExitCode -eq 3010) { + $rebootRequired = $true + Write-Host " Installation completed successfully (reboot required)" + } elseif ($installExitCode -eq 2359302) { + Write-Host " Package already installed (treated as success)" + $rebootRequired = Test-RebootPending + } else { + Write-Host " Installation completed successfully" + $rebootRequired = $true + } + } catch { + if (Test-Path -Path $msuPath -PathType Leaf) { + Remove-Item -Path $msuPath -Force -ErrorAction SilentlyContinue + } + Write-FailAndExit -Lines @( + 'Failed to install KB5054156 enablement package' + "Exit Code : $installExitCode" + "Error : $($_.Exception.Message)" + "Hint : Confirm Windows 11 $sourceDisplayVersion build $requiredBuild UBR $minUbr+" + ) + } -$selectedUrl = '' -$selectedArch = $osInfo.Architecture + Write-Section -Tag 'RUN' -Title 'CLEANUP' + Remove-Item -Path $msuPath -Force -ErrorAction SilentlyContinue + if (Test-Path -Path $msuPath -PathType Leaf) { + Write-Host " [WARN] Could not remove MSU file: $msuPath" + } else { + Write-Host " Cleanup completed" + } -if ($selectedArch -eq 'AMD64' -or $selectedArch -eq 'X64') { - $selectedUrl = $downloadUrlX64 - $selectedArch = 'AMD64' - Write-Host " Architecture : AMD64" - Write-Host " Package URL : $selectedUrl" -} elseif ($selectedArch -eq 'ARM64') { - Write-Host " Architecture : ARM64" - if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " ARM64 download URL is empty in hardcoded inputs" - Write-Host " Set `$downloadUrlArm64 to the Microsoft catalog MSU URL for KB5054156 ARM64" - Write-Host " Then re-run this script from Level on the ARM64 device" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 - } - $selectedUrl = $downloadUrlArm64 - Write-Host " Package URL : $selectedUrl" -} else { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Unsupported processor architecture: $($osInfo.Architecture)" - Write-Host " Supported architectures : AMD64, ARM64" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} + if ($rebootAfterInstall) { + Write-Section -Tag 'RUN' -Title 'REBOOT' + try { + $rebootDelaySeconds = 60 + $msg = "Windows 11 $targetDisplayVersion enablement package (KB5054156) installed. Restarting to activate." + Write-Host " Scheduling restart in $rebootDelaySeconds seconds..." + $shutdownProc = Start-Process -FilePath 'shutdown.exe' -ArgumentList "/r /t $rebootDelaySeconds /c `"$msg`" /d p:2:4" -Wait -PassThru -NoNewWindow + if ($null -ne $shutdownProc -and $shutdownProc.ExitCode -ne 0) { + throw "shutdown.exe returned exit code $($shutdownProc.ExitCode)" + } + $rebootRequired = $true + Write-Host " Restart scheduled successfully" + } catch { + Write-Host " [WARN] Reboot scheduling failed: $($_.Exception.Message)" + $rebootRequired = $true + } + } -# ============================================================================== -# DOWNLOAD -# ============================================================================== + return @{ + InstallExitCode = $installExitCode + RebootRequired = $rebootRequired + Method = 'enablement_ekb' + SelectedArch = $selectedArch + } +} -Write-Host "" -Write-Host "[RUN] DOWNLOAD" -Write-Host "==============================================================" +function Install-FeatureUpdateViaWindowsUpdate { + Write-Section -Tag 'RUN' -Title 'WINDOWS UPDATE SEARCH' + Write-Host " Searching for Windows 11 $targetDisplayVersion feature update..." -try { - Write-Host " Downloading KB5054156 enablement package..." - Write-Host " Destination : $installerPath" - Invoke-WebRequest -Uri $selectedUrl -OutFile $installerPath -UseBasicParsing + try { + $session = New-Object -ComObject Microsoft.Update.Session + $searcher = $session.CreateUpdateSearcher() + # Broad software search; filter in PowerShell for feature update titles + $result = $searcher.Search('IsInstalled=0 and Type=''Software''') + } catch { + Write-Host " Windows Update search failed: $($_.Exception.Message)" + return $false + } - if (-not (Test-Path -Path $installerPath -PathType Leaf)) { - throw "MSU file was not downloaded" + $updateColl = New-Object -ComObject Microsoft.Update.UpdateColl + $foundTitles = New-Object System.Collections.Generic.List[string] + $updateCount = 0 + try { + $updateCount = [int]$result.Updates.Count + } catch { + $updateCount = 0 } - $fileSize = (Get-Item -Path $installerPath).Length - $fileSizeMb = [math]::Round($fileSize / 1MB, 2) - Write-Host " File Size : $fileSizeMb MB" - Write-Host " Download completed successfully" -} catch { - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Failed to download KB5054156 enablement package" - Write-Host " URL : $selectedUrl" - Write-Host " Error : $($_.Exception.Message)" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 -} + for ($i = 0; $i -lt $updateCount; $i++) { + $update = $result.Updates.Item($i) + $title = [string]$update.Title + $titleLower = $title.ToLowerInvariant() + $isTargeted = ($titleLower -match '25h2') -or ($titleLower -match 'version 25h2') + $isWin11Feature = ( + ($titleLower -match 'windows 11') -and + ( + $isTargeted -or + ($titleLower -match 'feature update') + ) + ) + if (-not $isWin11Feature) { continue } + + # Prefer explicit 25H2 titles; accept first generic Win11 feature update only if none targeted yet + if ($isTargeted -or $updateColl.Count -eq 0) { + if ($isTargeted -and $updateColl.Count -gt 0 -and -not ($foundTitles[0] -match '25h2')) { + # Rebuild coll with targeted update only + $updateColl = New-Object -ComObject Microsoft.Update.UpdateColl + $foundTitles.Clear() + } + if ($isTargeted -or $updateColl.Count -eq 0) { + [void]$updateColl.Add($update) + [void]$foundTitles.Add($title) + } + } + } -# ============================================================================== -# INSTALLATION -# ============================================================================== + if ($updateColl.Count -eq 0) { + Write-Host " No matching Windows 11 $targetDisplayVersion feature update is currently offered by Windows Update" + return $false + } -Write-Host "" -Write-Host "[RUN] INSTALLATION" -Write-Host "==============================================================" + Write-Host " Found $($updateColl.Count) update(s):" + foreach ($t in $foundTitles) { + Write-Host " - $t" + } -$installExitCode = -1 -$rebootRequired = $false + Write-Section -Tag 'RUN' -Title 'WINDOWS UPDATE DOWNLOAD' + try { + $downloader = $session.CreateUpdateDownloader() + $downloader.Updates = $updateColl + $downloadResult = $downloader.Download() + Write-Host " Download result code : $($downloadResult.ResultCode)" + # 2 = Succeeded (OperationResultCode) + if ([int]$downloadResult.ResultCode -ne 2) { + Write-Host " Download did not fully succeed — falling back" + return $false + } + } catch { + Write-Host " Download failed: $($_.Exception.Message)" + return $false + } -try { - Write-Host " Method : wusa.exe /quiet /norestart" - Write-Host " Package : $installerPath" - Write-Host " Running wusa.exe quietly (no restart)..." + Write-Section -Tag 'RUN' -Title 'WINDOWS UPDATE INSTALL' + try { + $installer = $session.CreateUpdateInstaller() + $installer.Updates = $updateColl + $installResult = $installer.Install() + Write-Host " Install result code : $($installResult.ResultCode)" + Write-Host " Reboot required : $($installResult.RebootRequired)" + if ([int]$installResult.ResultCode -eq 2 -or [int]$installResult.ResultCode -eq 3) { + # 2 Succeeded, 3 SucceededWithErrors + return $true + } + Write-Host " Install did not succeed — falling back" + return $false + } catch { + Write-Host " Install failed: $($_.Exception.Message)" + return $false + } +} - $process = Start-Process -FilePath 'wusa.exe' -ArgumentList "`"$installerPath`"", '/quiet', '/norestart' -Wait -PassThru -NoNewWindow - $installExitCode = $process.ExitCode - Write-Host " Installer exit code : $installExitCode" +function Install-ViaInstallationAssistant { + Write-Section -Tag 'RUN' -Title 'INSTALLATION ASSISTANT' + try { + Write-Host " Downloading Windows 11 Installation Assistant..." + Write-Host " URL : $installationAssistantUrl" + Write-Host " Destination : $iaPath" + Invoke-WebRequest -Uri $installationAssistantUrl -OutFile $iaPath -UseBasicParsing + if (-not (Test-Path -Path $iaPath -PathType Leaf)) { + throw 'Installation Assistant was not downloaded' + } + $fileSizeMb = [math]::Round((Get-Item -Path $iaPath).Length / 1MB, 2) + Write-Host " File Size : $fileSizeMb MB" + Write-Host " Download completed" + } catch { + Write-FailAndExit -Lines @( + 'Failed to download Windows 11 Installation Assistant' + "URL : $installationAssistantUrl" + "Error : $($_.Exception.Message)" + ) + } - if ($successExitCodes -notcontains $installExitCode) { - throw "wusa.exe failed with exit code: $installExitCode" + try { + # Community/Microsoft-assisted silent flags for unattended upgrade + $iaArgs = @('/QuietInstall', '/SkipEULA', '/NoRestartUI') + Write-Host " Launching Installation Assistant silently..." + Write-Host " Args : $($iaArgs -join ' ')" + Write-Host " Note : Full upgrade can take a long time; device may reboot" + $process = Start-Process -FilePath $iaPath -ArgumentList $iaArgs -Wait -PassThru -NoNewWindow + Write-Host " Exit code : $($process.ExitCode)" + # IA often returns 0 on successful handoff/start; non-zero is failure + if ($null -ne $process.ExitCode -and $process.ExitCode -ne 0) { + throw "Installation Assistant failed with exit code $($process.ExitCode)" + } + Write-Host " Installation Assistant completed (or handed off upgrade)" + } catch { + if (Test-Path -Path $iaPath -PathType Leaf) { + Remove-Item -Path $iaPath -Force -ErrorAction SilentlyContinue + } + Write-FailAndExit -Lines @( + 'Windows 11 Installation Assistant failed' + "Error : $($_.Exception.Message)" + 'Device must meet Windows 11 hardware requirements' + 'Check SetupDiag / Windows Update history if this persists' + ) } - if ($installExitCode -eq 3010) { - $rebootRequired = $true - Write-Host " Installation completed successfully (reboot required)" - } elseif ($installExitCode -eq 2359302) { - Write-Host " Package already installed (treated as success)" - $rebootRequired = Test-RebootPending + Write-Section -Tag 'RUN' -Title 'CLEANUP' + Remove-Item -Path $iaPath -Force -ErrorAction SilentlyContinue + if (Test-Path -Path $iaPath -PathType Leaf) { + Write-Host " [WARN] Could not remove IA binary: $iaPath" } else { - Write-Host " Installation completed successfully" - $rebootRequired = Test-RebootPending + Write-Host " Cleanup completed" } -} catch { - if (Test-Path -Path $installerPath -PathType Leaf) { - Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue + + return @{ + InstallExitCode = 0 + RebootRequired = $true + Method = 'installation_assistant' + SelectedArch = '' } - Write-Host "" - Write-Host "[ERROR] ERROR OCCURRED" - Write-Host "==============================================================" - Write-Host " Failed to install KB5054156 enablement package" - Write-Host " Exit Code : $installExitCode" - Write-Host " Error : $($_.Exception.Message)" - Write-Host " Hint : Confirm the device is Windows 11 24H2 build 26100 with CU UBR $minUbr+" - Write-Host "" - Write-Host "[ERROR] SCRIPT COMPLETED" - Write-Host "==============================================================" - exit 1 +} + +function Install-FullFeatureUpgrade { + if ($preferWindowsUpdate) { + $wuOk = Install-FeatureUpdateViaWindowsUpdate + if ($wuOk) { + return @{ + InstallExitCode = 0 + RebootRequired = (Test-RebootPending) + Method = 'windows_update_feature' + SelectedArch = '' + } + } + Write-Host " Falling back to Windows 11 Installation Assistant..." + } + + return Install-ViaInstallationAssistant } # ============================================================================== -# OPTIONAL REBOOT +# INPUT VALIDATION # ============================================================================== -if ($rebootAfterInstall) { - Write-Host "" - Write-Host "[RUN] REBOOT" - Write-Host "==============================================================" - try { - $rebootDelaySeconds = 60 - $rebootMessage = "Windows 11 $targetDisplayVersion enablement package (KB5054156) installed. Restarting to activate." - Write-Host " Scheduling restart in $rebootDelaySeconds seconds..." - Write-Host " Command : shutdown /r /t $rebootDelaySeconds" - $shutdownArgs = "/r /t $rebootDelaySeconds /c `"$rebootMessage`" /d p:2:4" - $shutdownProc = Start-Process -FilePath 'shutdown.exe' -ArgumentList $shutdownArgs -Wait -PassThru -NoNewWindow - if ($null -ne $shutdownProc -and $shutdownProc.ExitCode -ne 0) { - throw "shutdown.exe returned exit code $($shutdownProc.ExitCode)" - } - $rebootRequired = $true - Write-Host " Restart scheduled successfully" - } catch { - Write-Host "" - Write-Host "[WARN] REBOOT SCHEDULING FAILED" - Write-Host "==============================================================" - Write-Host " Package install succeeded but reboot could not be scheduled" - Write-Host " Error : $($_.Exception.Message)" - Write-Host " Restart the device manually to activate Windows 11 $targetDisplayVersion" - $rebootRequired = $true - } -} else { - # Enablement still needs a reboot to activate even when we do not schedule one - if ($installExitCode -eq 3010 -or $installExitCode -eq 0) { - $rebootRequired = $true - } +Write-Section -Tag 'INFO' -Title 'INPUT VALIDATION' + +$errorOccurred = $false +$errorText = "" + +if ([string]::IsNullOrWhiteSpace($downloadUrlX64)) { + $errorOccurred = $true + $errorText += "- Download URL (x64) is required`n" +} +if ($minUbr -isnot [int] -and $minUbr -isnot [long]) { + $errorOccurred = $true + $errorText += "- Min UBR must be an integer`n" +} elseif ([int]$minUbr -lt 1) { + $errorOccurred = $true + $errorText += "- Min UBR must be a positive integer`n" +} +if ([string]::IsNullOrWhiteSpace($requiredBuild)) { + $errorOccurred = $true + $errorText += "- Required Build is required`n" +} +if ([string]::IsNullOrWhiteSpace($targetDisplayVersion)) { + $errorOccurred = $true + $errorText += "- Target Display Version is required`n" +} +if ([string]::IsNullOrWhiteSpace($sourceDisplayVersion)) { + $errorOccurred = $true + $errorText += "- Source Display Version is required`n" +} +if ([string]::IsNullOrWhiteSpace($installationAssistantUrl)) { + $errorOccurred = $true + $errorText += "- Installation Assistant URL is required`n" +} +if ($preferWindowsUpdate -isnot [bool]) { + $errorOccurred = $true + $errorText += "- Prefer Windows Update must be a boolean`n" +} +if ($rebootAfterInstall -isnot [bool]) { + $errorOccurred = $true + $errorText += "- Reboot After Install must be a boolean`n" +} + +if ($errorOccurred) { + Write-FailAndExit -Lines @($errorText.TrimEnd().Split("`n")) +} + +$arm64Display = if ([string]::IsNullOrWhiteSpace($downloadUrlArm64)) { '(empty)' } else { $downloadUrlArm64 } +Write-Host " Download URL (x64) : $downloadUrlX64" +Write-Host " Download URL (ARM64) : $arm64Display" +Write-Host " Min UBR : $minUbr" +Write-Host " Required Build : $requiredBuild" +Write-Host " eKB Source Version : $sourceDisplayVersion" +Write-Host " Target Version : $targetDisplayVersion" +Write-Host " Prefer Windows Update: $preferWindowsUpdate" +Write-Host " Installation Assistant: $installationAssistantUrl" +Write-Host " Reboot After Install : $rebootAfterInstall" +Write-Host " Inputs validated successfully" + +# ============================================================================== +# OS DETECTION +# ============================================================================== + +Write-Section -Tag 'INFO' -Title 'OS DETECTION' + +try { + $osInfo = Get-WindowsVersionInfo +} catch { + Write-FailAndExit -Lines @( + 'Failed to read Windows version information' + "Path : $ntCurrentVersionPath" + "Error : $($_.Exception.Message)" + ) +} + +Write-Host " Product Name : $($osInfo.ProductName)" +if (-not [string]::IsNullOrWhiteSpace($osInfo.Caption)) { + Write-Host " Caption : $($osInfo.Caption)" } +Write-Host " Family : $($osInfo.Family)" +Write-Host " Display Version : $($osInfo.DisplayVersion)" +Write-Host " Build : $($osInfo.Build)" +Write-Host " UBR : $($osInfo.Ubr)" +Write-Host " Architecture : $($osInfo.Architecture)" # ============================================================================== -# CLEANUP +# PATH SELECTION # ============================================================================== -Write-Host "" -Write-Host "[RUN] CLEANUP" -Write-Host "==============================================================" -Write-Host " Removing MSU file..." -Remove-Item -Path $installerPath -Force -ErrorAction SilentlyContinue -if (Test-Path -Path $installerPath -PathType Leaf) { - Write-Host " [WARN] Could not remove MSU file: $installerPath" -} else { - Write-Host " Cleanup completed" +Write-Section -Tag 'INFO' -Title 'UPGRADE PATH' +$path = Get-UpgradePath -OsInfo $osInfo +Write-Host " Selected Path : $($path.Name)" +Write-Host " Reason : $($path.Reason)" +Write-Host " Source → Target : $($osInfo.Family) $($osInfo.DisplayVersion) (build $($osInfo.Build).$($osInfo.Ubr)) → Windows 11 $targetDisplayVersion" + +$result = $null + +switch ($path.Name) { + 'already_target' { + Write-Section -Tag 'OK' -Title 'FINAL STATUS' + Write-Host " Result : SUCCESS" + Write-Host " Display Version : $($osInfo.DisplayVersion)" + Write-Host " Build.UBR : $($osInfo.Build).$($osInfo.Ubr)" + Write-Host " Note : Already on Windows 11 $targetDisplayVersion — no action needed" + Write-Section -Tag 'OK' -Title 'SCRIPT COMPLETED' + exit 0 + } + 'enablement_needs_cu' { + Write-FailAndExit -Lines @( + 'Enablement package prerequisite not met' + "Required : Windows 11 $sourceDisplayVersion build $requiredBuild UBR $minUbr+ (KB5064081 or later CU)" + "Current : build $($osInfo.Build) UBR $($osInfo.Ubr)" + 'Install the latest Windows 11 cumulative update for 24H2, then re-run this script' + 'Microsoft: KB5054156 requires 24H2 + KB5064081 (26100.5074) or later' + ) + } + 'unsupported' { + Write-FailAndExit -Lines @( + $path.Reason + 'This script supports Windows 10 and Windows 11 only' + ) + } + 'enablement_ekb' { + $result = Install-EnablementPackage -OsInfo $osInfo + } + 'full_feature_upgrade' { + $result = Install-FullFeatureUpgrade + } + default { + Write-FailAndExit -Lines @("Unknown upgrade path: $($path.Name)") + } } # ============================================================================== @@ -624,27 +735,33 @@ try { $finalInfo = $osInfo } +$rebootRequired = $false +if ($null -ne $result -and $result.ContainsKey('RebootRequired') -and $result.RebootRequired) { + $rebootRequired = $true +} if (-not $rebootRequired) { $rebootRequired = Test-RebootPending } -Write-Host "" -Write-Host "[OK] FINAL STATUS" -Write-Host "==============================================================" +Write-Section -Tag 'OK' -Title 'FINAL STATUS' Write-Host " Result : SUCCESS" +Write-Host " Path : $($path.Name)" +if ($null -ne $result -and $result.ContainsKey('Method') -and -not [string]::IsNullOrWhiteSpace([string]$result.Method)) { + Write-Host " Method : $($result.Method)" +} Write-Host " Display Version : $($finalInfo.DisplayVersion)" Write-Host " Build.UBR : $($finalInfo.Build).$($finalInfo.Ubr)" -Write-Host " Architecture : $selectedArch" -Write-Host " Install Exit : $installExitCode" +Write-Host " Family : $($finalInfo.Family)" +if ($null -ne $result -and $result.ContainsKey('InstallExitCode')) { + Write-Host " Install Exit : $($result.InstallExitCode)" +} Write-Host " Reboot Pending : $rebootRequired" if ($finalInfo.DisplayVersion -ne $targetDisplayVersion) { - Write-Host " Note : Restart required to activate Windows 11 $targetDisplayVersion" + Write-Host " Note : DisplayVersion may still show pre-upgrade until reboot / setup finishes" + Write-Host " Note : Restart required to complete Windows 11 $targetDisplayVersion" } else { Write-Host " Note : DisplayVersion already reports $targetDisplayVersion" } -Write-Host "" -Write-Host "[OK] SCRIPT COMPLETED" -Write-Host "==============================================================" - +Write-Section -Tag 'OK' -Title 'SCRIPT COMPLETED' exit 0 From 44e422105c9869a0afef492d1e02f15e47917d66 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:06:48 -0500 Subject: [PATCH 19/36] chore: sync scripts [smart-sync] --- scripts/windows11_25h2_install.level.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 988dacc..968b89d 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Detects the current Windows version and chooses a clean upgrade path to Windows 11 version 25H2 for Level RMM (run as System). - + Paths ----- - Already 25H2: no-op success - Windows 11 24H2 (build 26100) with UBR 5074+: enablement package KB5054156 (wusa silent) - Windows 11 24H2 with low UBR: fail and require KB5064081+ cumulative update first - Windows 10 or Windows 11 older than 24H2: full feature upgrade via Windows Update (if offered), else Windows 11 Installation Assistant - + Usage Notes ----------- - Level: run as System; timeout 14400 seconds (4 hours) @@ -22,19 +22,19 @@ readme: | - Prefer Windows Update is true by default; falls back to Installation Assistant - Installation Assistant: https://go.microsoft.com/fwlink/?linkid=2171764 - eKB MSU URLs: Microsoft catalog KB5054156 x64 and ARM64 - + Requirements ------------ - Level agent online; script executed as System - Internet connectivity - eKB path: Windows 11 24H2 build 26100 UBR 5074+ - Full upgrade path: Windows 11 hardware requirements must be met - + Security -------- - No secrets in logs - Downloads only from Microsoft endpoints groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg -lastPushedChecksum: "sha256:3d1f988df6c52a9f" -lastPushedMetaChecksum: "sha256:492c09c5ef07fc38" +lastPushedChecksum: "sha256:f288e2caf201766f" +lastPushedMetaChecksum: "sha256:956c7b96d8299d58" \ No newline at end of file From 70ac15d76c47b0d0ca866740dd66737645548383 Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:23:08 -0400 Subject: [PATCH 20/36] fix(level): windows11_25h2_install v1.1.1 reboot after install default true Upgrade is incomplete without restart. Schedule a 60s reboot after eKB or full feature-upgrade success. Set $rebootAfterInstall = $false for maintenance windows. --- scripts/windows11_25h2_install.level.yaml | 13 ++-- scripts/windows11_25h2_install.ps1 | 75 +++++++++++++++-------- 2 files changed, 56 insertions(+), 32 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 968b89d..2078ccb 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -7,29 +7,30 @@ readme: | Purpose ------- Detects the current Windows version and chooses a clean upgrade path to Windows 11 version 25H2 for Level RMM (run as System). - + Paths ----- - Already 25H2: no-op success - Windows 11 24H2 (build 26100) with UBR 5074+: enablement package KB5054156 (wusa silent) - Windows 11 24H2 with low UBR: fail and require KB5064081+ cumulative update first - Windows 10 or Windows 11 older than 24H2: full feature upgrade via Windows Update (if offered), else Windows 11 Installation Assistant - + Usage Notes ----------- - Level: run as System; timeout 14400 seconds (4 hours) - - Reboot After Install defaults to false for eKB; full upgrade may reboot via IA/WU + - Reboot After Install defaults to true (60s scheduled reboot after eKB success) + - Full upgrade via WU/IA may reboot on its own even when the flag is false - Prefer Windows Update is true by default; falls back to Installation Assistant - Installation Assistant: https://go.microsoft.com/fwlink/?linkid=2171764 - eKB MSU URLs: Microsoft catalog KB5054156 x64 and ARM64 - + Requirements ------------ - Level agent online; script executed as System - Internet connectivity - eKB path: Windows 11 24H2 build 26100 UBR 5074+ - Full upgrade path: Windows 11 hardware requirements must be met - + Security -------- - No secrets in logs @@ -37,4 +38,4 @@ readme: | groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg lastPushedChecksum: "sha256:f288e2caf201766f" -lastPushedMetaChecksum: "sha256:956c7b96d8299d58" \ No newline at end of file +lastPushedMetaChecksum: "sha256:956c7b96d8299d58" diff --git a/scripts/windows11_25h2_install.ps1 b/scripts/windows11_25h2_install.ps1 index b5cd81b..851118a 100644 --- a/scripts/windows11_25h2_install.ps1 +++ b/scripts/windows11_25h2_install.ps1 @@ -7,7 +7,7 @@ $ErrorActionPreference = 'Stop' ███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ ╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ================================================================================ - SCRIPT : Windows 11 25H2 Install v1.1.0 + SCRIPT : Windows 11 25H2 Install v1.1.1 AUTHOR : Limehawk.io DATE : July 2026 USAGE : .\windows11_25h2_install.ps1 @@ -52,13 +52,15 @@ $ErrorActionPreference = 'Stop' - $sourceDisplayVersion : 24H2 (eKB source) - $installationAssistantUrl : IA download fwlink - $preferWindowsUpdate : try WU feature update before IA - - $rebootAfterInstall : schedule reboot after eKB success + - $rebootAfterInstall : schedule reboot after successful apply + (default $true — upgrade incomplete without restart) SETTINGS - - eKB method : wusa.exe /quiet /norestart + - eKB method : wusa.exe /quiet /norestart (then optional scheduled reboot) - Full upgrade fallback : Windows11InstallationAssistant.exe /QuietInstall /SkipEULA /NoRestartUI + - Reboot After Install : true (default) — 60s delay via shutdown.exe after eKB - Level timeout : 14400 seconds (4 hours) recommended - Level run context : System @@ -68,7 +70,8 @@ $ErrorActionPreference = 'Stop' 2. Detect OS family, DisplayVersion, build, UBR, architecture 3. Select upgrade path from source → target 4. Execute path (eKB MSU, or WU feature update, or Installation Assistant) - 5. Report final status and reboot-pending note + 5. If $rebootAfterInstall, schedule reboot (eKB path); WU/IA may reboot themselves + 6. Report final status and reboot-pending note PREREQUISITES @@ -77,13 +80,14 @@ $ErrorActionPreference = 'Stop' - Admin / SYSTEM privileges - eKB path: Windows 11 24H2 build 26100 with UBR 5074+ (KB5064081 or later) - Full upgrade path: device must meet Windows 11 hardware requirements - - Restart required to finish most upgrades + - Restart required to finish most upgrades (default schedules one after eKB) SECURITY NOTES - No secrets in logs - Downloads only from Microsoft delivery endpoints - - Full upgrade may reboot the device (Installation Assistant / WU) + - Default reboots after success (set $rebootAfterInstall = $false for maintenance windows) + - Full upgrade may reboot via Installation Assistant / WU even if flag is false ENDPOINTS @@ -116,6 +120,7 @@ $ErrorActionPreference = 'Stop' -------------------------------------------------------------------------------- CHANGELOG -------------------------------------------------------------------------------- + 2026-07-22 v1.1.1 Default $rebootAfterInstall = $true (upgrade incomplete without restart). 2026-07-22 v1.1.0 Path-aware upgrades: eKB for 24H2; full feature upgrade (WU then Installation Assistant) for Win10 / pre-24H2 Win11. Level timeout guidance 14400s (4h). @@ -135,7 +140,7 @@ $targetDisplayVersion = '25H2' $sourceDisplayVersion = '24H2' $installationAssistantUrl = 'https://go.microsoft.com/fwlink/?linkid=2171764' $preferWindowsUpdate = $true -$rebootAfterInstall = $false +$rebootAfterInstall = $true Set-StrictMode -Version Latest @@ -388,24 +393,7 @@ function Install-EnablementPackage { Write-Host " Cleanup completed" } - if ($rebootAfterInstall) { - Write-Section -Tag 'RUN' -Title 'REBOOT' - try { - $rebootDelaySeconds = 60 - $msg = "Windows 11 $targetDisplayVersion enablement package (KB5054156) installed. Restarting to activate." - Write-Host " Scheduling restart in $rebootDelaySeconds seconds..." - $shutdownProc = Start-Process -FilePath 'shutdown.exe' -ArgumentList "/r /t $rebootDelaySeconds /c `"$msg`" /d p:2:4" -Wait -PassThru -NoNewWindow - if ($null -ne $shutdownProc -and $shutdownProc.ExitCode -ne 0) { - throw "shutdown.exe returned exit code $($shutdownProc.ExitCode)" - } - $rebootRequired = $true - Write-Host " Restart scheduled successfully" - } catch { - Write-Host " [WARN] Reboot scheduling failed: $($_.Exception.Message)" - $rebootRequired = $true - } - } - + # Reboot is applied once in the main flow via $rebootAfterInstall return @{ InstallExitCode = $installExitCode RebootRequired = $rebootRequired @@ -578,7 +566,7 @@ function Install-FullFeatureUpgrade { if ($wuOk) { return @{ InstallExitCode = 0 - RebootRequired = (Test-RebootPending) + RebootRequired = $true Method = 'windows_update_feature' SelectedArch = '' } @@ -589,6 +577,31 @@ function Install-FullFeatureUpgrade { return Install-ViaInstallationAssistant } +function Invoke-ScheduledReboot { + param( + [string]$Message, + [int]$DelaySeconds = 60 + ) + + Write-Section -Tag 'RUN' -Title 'REBOOT' + try { + Write-Host " Scheduling restart in $DelaySeconds seconds..." + Write-Host " Message : $Message" + $shutdownProc = Start-Process -FilePath 'shutdown.exe' ` + -ArgumentList "/r /t $DelaySeconds /c `"$Message`" /d p:2:4" ` + -Wait -PassThru -NoNewWindow + if ($null -ne $shutdownProc -and $shutdownProc.ExitCode -ne 0) { + throw "shutdown.exe returned exit code $($shutdownProc.ExitCode)" + } + Write-Host " Restart scheduled successfully" + return $true + } catch { + Write-Host " [WARN] Reboot scheduling failed: $($_.Exception.Message)" + Write-Host " Restart the device manually to finish the upgrade" + return $false + } +} + # ============================================================================== # INPUT VALIDATION # ============================================================================== @@ -743,6 +756,16 @@ if (-not $rebootRequired) { $rebootRequired = Test-RebootPending } +# Default true: upgrade does not finish until restart (eKB activation; WU feature install) +if ($rebootAfterInstall -and $null -ne $result) { + $rebootMsg = "Windows 11 $targetDisplayVersion upgrade applied (path: $($path.Name)). Restarting to complete." + if (Invoke-ScheduledReboot -Message $rebootMsg -DelaySeconds 60) { + $rebootRequired = $true + } else { + $rebootRequired = $true + } +} + Write-Section -Tag 'OK' -Title 'FINAL STATUS' Write-Host " Result : SUCCESS" Write-Host " Path : $($path.Name)" From 04320fd909bd733d746a9fa354224d87eb106cee Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:12:38 -0400 Subject: [PATCH 21/36] fix(dism): stop false-positive RestoreHealth on healthy ScanHealth (v2.0.4) Healthy DISM output "No component store corruption detected." matched corruption.*detected and forced a needless RestoreHealth run. Match only "component store is repairable". --- scripts/windows_dism_sfc_chkdsk_run.ps1 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/windows_dism_sfc_chkdsk_run.ps1 b/scripts/windows_dism_sfc_chkdsk_run.ps1 index 1be8762..fade546 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.ps1 +++ b/scripts/windows_dism_sfc_chkdsk_run.ps1 @@ -8,7 +8,7 @@ $ErrorActionPreference = 'Stop' ███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ ╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ================================================================================ - SCRIPT : Windows DISM SFC Chkdsk Maintenance v2.0.3 + SCRIPT : Windows DISM SFC Chkdsk Maintenance v2.0.4 AUTHOR : Limehawk.io DATE : July 2026 USAGE : .\windows_dism_sfc_chkdsk_run.ps1 @@ -112,6 +112,9 @@ DESCRIPTION : Runs DISM, SFC, and chkdsk for Windows system file repair -------------------------------------------------------------------------------- CHANGELOG -------------------------------------------------------------------------------- + 2026-07-22 v2.0.4 Fix ScanHealth false positive: healthy "No component store + corruption detected." matched corruption.*detected and + wrongly ran RestoreHealth 2026-07-08 v2.0.3 Raised sidecar execution timeout to 240 min for worst-case DISM/SFC/chkdsk runs 2026-07-08 v2.0.2 Raised sidecar execution timeout to 120 min for long DISM/SFC/chkdsk runs 2026-01-19 v2.0.1 Updated to two-line ASCII console output style @@ -229,8 +232,10 @@ if ($RunDismScan) { # Check exit code as primary indicator (DISM: 0 = success) if ($dismScanExitCode -eq 0) { - # Check if corruption was detected (scan succeeded but found issues) - if ($dismScanOutput -match "component store is repairable|corruption.*detected") { + # Healthy: "No component store corruption detected." + # Corrupt: "The component store is repairable." + # Do NOT match "corruption.*detected" — that false-positives on the healthy line. + if ($dismScanOutput -match "component store is repairable") { Write-Host "Result : Corruption detected - repair needed" $corruptionDetected = $true } else { From 6347f41b1a022535df06e0e833962691eeaba340 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 18:13:43 -0500 Subject: [PATCH 22/36] chore: sync scripts [smart-sync] --- scripts/windows11_25h2_install.level.yaml | 12 ++++++------ scripts/windows_dism_sfc_chkdsk_run.level.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 2078ccb..b38a8a2 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -7,14 +7,14 @@ readme: | Purpose ------- Detects the current Windows version and chooses a clean upgrade path to Windows 11 version 25H2 for Level RMM (run as System). - + Paths ----- - Already 25H2: no-op success - Windows 11 24H2 (build 26100) with UBR 5074+: enablement package KB5054156 (wusa silent) - Windows 11 24H2 with low UBR: fail and require KB5064081+ cumulative update first - Windows 10 or Windows 11 older than 24H2: full feature upgrade via Windows Update (if offered), else Windows 11 Installation Assistant - + Usage Notes ----------- - Level: run as System; timeout 14400 seconds (4 hours) @@ -23,19 +23,19 @@ readme: | - Prefer Windows Update is true by default; falls back to Installation Assistant - Installation Assistant: https://go.microsoft.com/fwlink/?linkid=2171764 - eKB MSU URLs: Microsoft catalog KB5054156 x64 and ARM64 - + Requirements ------------ - Level agent online; script executed as System - Internet connectivity - eKB path: Windows 11 24H2 build 26100 UBR 5074+ - Full upgrade path: Windows 11 hardware requirements must be met - + Security -------- - No secrets in logs - Downloads only from Microsoft endpoints groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg -lastPushedChecksum: "sha256:f288e2caf201766f" -lastPushedMetaChecksum: "sha256:956c7b96d8299d58" +lastPushedChecksum: "sha256:e4d0ade6f1a0228e" +lastPushedMetaChecksum: "sha256:956c7b96d8299d58" \ No newline at end of file diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index 4598333..b8b61ba 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -31,5 +31,5 @@ readme: | - Requires elevated permissions to modify system components groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA -lastPushedChecksum: "sha256:be481319dad82072" +lastPushedChecksum: "sha256:61b2368d3d8ee6d8" lastPushedMetaChecksum: "sha256:b8b34b4001d1223d" \ No newline at end of file From 77d89053b5157ecdcd5f2e44b8b1da7caa8f8741 Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 21:05:35 -0400 Subject: [PATCH 23/36] fix(bitlocker): rewrite bitlocker_enable to guarantee Protection On (v2.0.0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the Level-only bitlocker_enable.ps1 (never lived in this repo) which reported success while leaving Protection Status: Off — OOBE pre-provisioned volumes (FullyEncrypted + clear key) never got their protectors enabled, so Level scored the disk unencrypted. - Converge every state: decrypted -> start encryption; encrypted with protection suspended -> manage-bde -protectors -enable - Check manage-bde exit codes; show its output in the Level log - Final status fails (exit 1) unless Protection is On or encryption is in progress with protectors active — no more false success - Require ready TPM; ensure exactly one RecoveryPassword protector Closes #57 steps 1-2. Framework validated (script-framework-engine, PASS). Claude-Session: https://claude.ai/code/session_01TtVS51os6EjjAmxLXjitL8 --- scripts/bitlocker_enable.level.yaml | 30 ++ scripts/bitlocker_enable.ps1 | 482 ++++++++++++++++++++++++++++ scripts/bitlocker_enable.yaml | 36 +++ 3 files changed, 548 insertions(+) create mode 100644 scripts/bitlocker_enable.level.yaml create mode 100644 scripts/bitlocker_enable.ps1 create mode 100644 scripts/bitlocker_enable.yaml diff --git a/scripts/bitlocker_enable.level.yaml b/scripts/bitlocker_enable.level.yaml new file mode 100644 index 0000000..c56b569 --- /dev/null +++ b/scripts/bitlocker_enable.level.yaml @@ -0,0 +1,30 @@ +name: bitlocker_enable.ps1 +description: Enables BitLocker on the OS drive and guarantees Protection On +shell: POWERSHELL +runAs: SYSTEM +timeout: 600 +readme: | + Purpose + ------- + Converges the OS drive to BitLocker "Protection On" from any starting state: fully decrypted, encrypted with protection suspended (the OOBE pre-provisioned clear-key state), or already protected. Prints the recovery password to the console for Level activity-log capture and fails loudly (exit 1) whenever protection cannot be activated, instead of reporting false success. + + Usage Notes + ----------- + - Requires a present and ready TPM (fails otherwise) + - Ensures exactly one RecoveryPassword protector and a TPM protector + - Starts encryption via manage-bde (xts_aes256, used space only, no hardware test) when the volume is FullyDecrypted + - Activates protectors (manage-bde -protectors -enable) when the volume is encrypted but Protection Status is Off + - manage-bde exit codes are checked; failures exit 1 instead of reporting false success + - Target drive default: C: + + Requirements + ------------ + - PowerShell 5.1 or later + - Windows 10/11 Pro or Enterprise with BitLocker feature + - Level: run as System; timeout 600 seconds + - TPM present and ready + + Security + -------- + - Recovery password is printed to console by design (Level activity log is the key escrow record) + - No other secrets in logs diff --git a/scripts/bitlocker_enable.ps1 b/scripts/bitlocker_enable.ps1 new file mode 100644 index 0000000..80ca19a --- /dev/null +++ b/scripts/bitlocker_enable.ps1 @@ -0,0 +1,482 @@ +$ErrorActionPreference = 'Stop' +<# +██╗ ██╗███╗ ███╗███████╗██╗ ██╗ █████╗ ██╗ ██╗██╗ ██╗ +██║ ██║████╗ ████║██╔════╝██║ ██║██╔══██╗██║ ██║██║ ██╔╝ +██║ ██║██╔████╔██║█████╗ ███████║███████║██║ █╗ ██║█████╔╝ +██║ ██║██║╚██╔╝██║██╔══╝ ██╔══██║██╔══██║██║███╗██║██╔═██╗ +███████╗██║██║ ╚═╝ ██║███████╗██║ ██║██║ ██║╚███╔███╔╝██║ ██╗ +╚══════╝╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ +================================================================================ + SCRIPT : BitLocker Enable v2.0.0 + AUTHOR : Limehawk.io + DATE : July 2026 + USAGE : .\bitlocker_enable.ps1 +================================================================================ + FILE : bitlocker_enable.ps1 + DESCRIPTION : Enables BitLocker on the OS drive and guarantees Protection On +-------------------------------------------------------------------------------- + README +-------------------------------------------------------------------------------- + PURPOSE + + Converges the OS drive to BitLocker "Protection On" from any starting + state: fully decrypted, encrypted with protection suspended (the OOBE + pre-provisioned clear-key state), or already protected. Prints the + recovery password to the console for Level activity-log capture and + fails loudly (exit 1) whenever protection cannot be activated, instead + of reporting false success. + + DATA SOURCES & PRIORITY + + 1) Hardcoded values (drive letter, encryption settings) + 2) TPM status via Get-Tpm cmdlet + 3) BitLocker volume status via Get-BitLockerVolume + 4) manage-bde for encryption start and protector activation + + REQUIRED INPUTS + + All inputs are hardcoded in the script body: + - $Drive: Target drive for BitLocker (default: 'C:') + + SETTINGS + + Configuration details and default values: + - Encryption Method : xts_aes256 (manage-bde token for XTS-AES 256) + - Used Space Only : enabled (faster initial encryption) + - Skip Hardware Test: enabled (no reboot required to start) + + BEHAVIOR + + The script performs the following actions in order: + 1. Validates administrator privileges and input values + 2. Ensures BDESVC (BitLocker Drive Encryption Service) is running + 3. Requires a present and ready TPM (fails otherwise) + 4. Ensures exactly one RecoveryPassword protector and a TPM protector + 5. Starts encryption via manage-bde when the volume is FullyDecrypted + 6. Activates protectors (manage-bde -protectors -enable) when the + volume is encrypted but Protection Status is Off (clear-key state) + 7. Prints the recovery key ID and recovery password + 8. Verifies final state: Protection On, or encryption in progress with + protectors activated - anything else exits 1 + + PREREQUISITES + + - PowerShell 5.1 or later + - Windows 10/11 Pro or Enterprise with BitLocker feature + - Administrator privileges (Level runs as SYSTEM) + - TPM present and ready + + SECURITY NOTES + + - Recovery password is printed to console by design (captured by the + Level activity log as the key escrow record) + - No other secrets in logs + + ENDPOINTS + + - Not applicable (local TPM and BitLocker service only) + + EXIT CODES + + 0 = Success - protection on, or encryption in progress with protectors active + 1 = Failure - validation, TPM, protector, encryption, or activation error + + EXAMPLE RUN + + [INFO] INPUT VALIDATION + ============================================================== + Drive : C: + Admin Privileges : Confirmed + + [INFO] PRECHECK + ============================================================== + BDESVC Status : Running + TPM Present : True + TPM Ready : True + Volume Status : FullyEncrypted + Protection : Off + Encryption % : 100 + + [RUN] CONFIGURE PROTECTORS + ============================================================== + RecoveryPassword protector already exists + Recovery Key ID : {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY} + TPM protector already present + + [RUN] ENABLE ENCRYPTION + ============================================================== + Volume already encrypted - skipping encryption start + + [RUN] ACTIVATE PROTECTION + ============================================================== + Protection is Off - enabling key protectors + [OK] Key protectors enabled + Protection : On + + [INFO] RECOVERY KEY + ============================================================== + Recovery Key ID : {YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY} + Recovery Password: + 123456-789012-345678-901234-567890-123456-789012-345678 + + [OK] FINAL STATUS + ============================================================== + Volume Status : FullyEncrypted + Protection : On + Result : SUCCESS + + [OK] SCRIPT COMPLETED + ============================================================== + +-------------------------------------------------------------------------------- + CHANGELOG +-------------------------------------------------------------------------------- + 2026-07-22 v2.0.0 Rewrite: converge every state to Protection On; activate + suspended protectors (OOBE clear-key state); check + manage-bde exit codes; fail instead of false success +================================================================================ +#> + +# ============================================================================== +# HARDCODED INPUTS +# ============================================================================== + +$Drive = 'C:' + +Set-StrictMode -Version Latest + +# ============================================================================== +# STATE VARIABLES +# ============================================================================== + +$errorOccurred = $false +$errorText = "" +$recoveryKeyId = "" +$recoveryPassword = "" +$encryptionStartedNow = $false +$activationAttempted = $false +$activationSucceeded = $false + +# ============================================================================== +# HELPER FUNCTION +# ============================================================================== + +function Invoke-ManageBde { + # Runs manage-bde with native stderr handling, prints output indented, + # and returns the exit code. + param([string[]]$BdeArgs) + + $prevEap = $ErrorActionPreference + $ErrorActionPreference = 'Continue' + $output = & manage-bde @BdeArgs 2>&1 + $code = $LASTEXITCODE + $ErrorActionPreference = $prevEap + + foreach ($line in @($output)) { + $text = "$line".TrimEnd() + if (-not [string]::IsNullOrWhiteSpace($text)) { + Write-Host " $text" + } + } + return $code +} + +# ============================================================================== +# INPUT VALIDATION +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] INPUT VALIDATION" +Write-Host "==============================================================" + +if ([string]::IsNullOrWhiteSpace($Drive) -or $Drive -notmatch '^[A-Za-z]:$') { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Drive must be a drive letter like 'C:'" +} + +$isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) +if (-not $isAdmin) { + $errorOccurred = $true + if ($errorText.Length -gt 0) { $errorText += "`n" } + $errorText += "- Script must be run with Administrator privileges" +} + +if ($errorOccurred) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Input validation failed:" + Write-Host " $errorText" + exit 1 +} + +Write-Host " Drive : $Drive" +Write-Host " Admin Privileges : Confirmed" + +# ============================================================================== +# PRECHECK +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] PRECHECK" +Write-Host "==============================================================" + +try { + $svc = Get-Service -Name 'BDESVC' + if ($svc.Status -ne 'Running') { + Start-Service -Name 'BDESVC' + } + Set-Service -Name 'BDESVC' -StartupType Automatic + Write-Host " BDESVC Status : $((Get-Service BDESVC).Status)" +} catch { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " BDESVC (BitLocker Drive Encryption Service) check failed" + Write-Host " Error: $($_.Exception.Message)" + Write-Host "" + Write-Host " Troubleshooting:" + Write-Host " - Check Windows edition supports BitLocker (Pro/Enterprise)" + exit 1 +} + +$tpmPresent = $false +$tpmReady = $false +try { + $tpm = Get-Tpm + $tpmPresent = $tpm.TpmPresent + $tpmReady = $tpm.TpmReady +} catch { + # Get-Tpm throws when no TPM stack is available; treated as absent below +} +Write-Host " TPM Present : $tpmPresent" +Write-Host " TPM Ready : $tpmReady" + +if (-not ($tpmPresent -and $tpmReady)) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " TPM is not present or not ready - cannot enable BitLocker" + Write-Host "" + Write-Host " Troubleshooting:" + Write-Host " - Enable/activate the TPM in UEFI firmware settings" + Write-Host " - Initialize the TPM (Initialize-Tpm) and rerun" + exit 1 +} + +try { + $blv = Get-BitLockerVolume -MountPoint $Drive +} catch { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Could not read BitLocker state for $Drive" + Write-Host " Error: $($_.Exception.Message)" + exit 1 +} + +Write-Host " Volume Status : $($blv.VolumeStatus)" +Write-Host " Protection : $($blv.ProtectionStatus)" +Write-Host " Encryption % : $($blv.EncryptionPercentage)" + +if ("$($blv.VolumeStatus)" -eq 'DecryptionInProgress') { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Volume is currently DECRYPTING - cannot enable until done" + Write-Host " Rerun this script after decryption completes" + exit 1 +} + +# ============================================================================== +# CONFIGURE PROTECTORS +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] CONFIGURE PROTECTORS" +Write-Host "==============================================================" + +# Ensure exactly one RecoveryPassword protector (keep first, drop extras) +$recProtectors = @($blv.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' }) + +if ($recProtectors.Count -eq 0) { + try { + Add-BitLockerKeyProtector -MountPoint $Drive -RecoveryPasswordProtector -WarningAction SilentlyContinue | Out-Null + Write-Host " Added new RecoveryPassword protector" + } catch { + Write-Host " [ERROR] Failed to add RecoveryPassword protector: $($_.Exception.Message)" + $errorOccurred = $true + } +} else { + Write-Host " RecoveryPassword protector already exists" + foreach ($extra in ($recProtectors | Select-Object -Skip 1)) { + try { + Remove-BitLockerKeyProtector -MountPoint $Drive -KeyProtectorId $extra.KeyProtectorId | Out-Null + Write-Host " Removed extra recovery protector $($extra.KeyProtectorId)" + } catch { + Write-Host " [WARN] Could not remove extra protector $($extra.KeyProtectorId): $($_.Exception.Message)" + } + } +} + +# Ensure TPM protector +$blv = Get-BitLockerVolume -MountPoint $Drive +$hasTpmProtector = @($blv.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'Tpm' }).Count -gt 0 + +if (-not $hasTpmProtector) { + try { + Add-BitLockerKeyProtector -MountPoint $Drive -TpmProtector -WarningAction SilentlyContinue | Out-Null + Write-Host " TPM protector added" + } catch { + Write-Host " [ERROR] Failed to add TPM protector: $($_.Exception.Message)" + $errorOccurred = $true + } +} else { + Write-Host " TPM protector already present" +} + +# Capture recovery key details for output +$blv = Get-BitLockerVolume -MountPoint $Drive +$recKp = $blv.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' } | Select-Object -First 1 +if ($recKp) { + $recoveryKeyId = $recKp.KeyProtectorId + $recoveryPassword = $recKp.RecoveryPassword + Write-Host " Recovery Key ID : $recoveryKeyId" +} else { + Write-Host " [ERROR] No RecoveryPassword protector present after configuration" + $errorOccurred = $true +} + +if ($errorOccurred) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " Protector configuration failed - aborting before encryption" + exit 1 +} + +# ============================================================================== +# ENABLE ENCRYPTION +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] ENABLE ENCRYPTION" +Write-Host "==============================================================" + +$blv = Get-BitLockerVolume -MountPoint $Drive + +if ("$($blv.VolumeStatus)" -eq 'FullyDecrypted') { + Write-Host " Starting encryption (xts_aes256, used space only)" + $exitCode = Invoke-ManageBde -BdeArgs @('-on', $Drive, '-skiphardwaretest', '-usedspaceonly', '-encryptionmethod', 'xts_aes256') + + if ($exitCode -ne 0) { + Write-Host "" + Write-Host "[ERROR] ERROR OCCURRED" + Write-Host "==============================================================" + Write-Host " manage-bde -on failed with exit code $exitCode" + Write-Host " See manage-bde output above for the cause" + exit 1 + } + Write-Host " [OK] Encryption started" + $encryptionStartedNow = $true +} else { + Write-Host " Volume already encrypted or in progress - skipping start" +} + +# ============================================================================== +# ACTIVATE PROTECTION +# ============================================================================== + +Write-Host "" +Write-Host "[RUN] ACTIVATE PROTECTION" +Write-Host "==============================================================" + +$blv = Get-BitLockerVolume -MountPoint $Drive + +if ($encryptionStartedNow) { + # Fresh start: protectors were active from the beginning (no clear key), + # protection flips On automatically when conversion completes + Write-Host " Encryption just started - protection activates on completion" +} elseif ("$($blv.ProtectionStatus)" -eq 'Off' -and "$($blv.VolumeStatus)" -ne 'FullyDecrypted') { + Write-Host " Protection is Off - enabling key protectors" + $activationAttempted = $true + $exitCode = Invoke-ManageBde -BdeArgs @('-protectors', '-enable', $Drive) + + if ($exitCode -eq 0) { + $activationSucceeded = $true + Write-Host " [OK] Key protectors enabled" + } else { + Write-Host " [ERROR] manage-bde -protectors -enable failed with exit code $exitCode" + $errorOccurred = $true + } +} else { + Write-Host " Protection already active - nothing to enable" +} + +$blv = Get-BitLockerVolume -MountPoint $Drive +Write-Host " Protection : $($blv.ProtectionStatus)" + +# ============================================================================== +# RECOVERY KEY +# ============================================================================== + +Write-Host "" +Write-Host "[INFO] RECOVERY KEY" +Write-Host "==============================================================" +Write-Host " Recovery Key ID : $recoveryKeyId" + +if ([string]::IsNullOrWhiteSpace("$recoveryPassword")) { + Write-Host " [WARN] Recovery password not readable via Get-BitLockerVolume" +} else { + Write-Host " Recovery Password:" + Write-Host " $recoveryPassword" +} + +# ============================================================================== +# FINAL STATUS +# ============================================================================== + +$final = Get-BitLockerVolume -MountPoint $Drive +$finalProtection = "$($final.ProtectionStatus)" +$finalVolume = "$($final.VolumeStatus)" + +# Success = protection is On, or encryption is still converting and the +# protectors were activated (protection flips On when conversion completes) +$success = $false +if (-not $errorOccurred) { + if ($finalProtection -eq 'On') { + $success = $true + } elseif ($finalVolume -eq 'EncryptionInProgress' -and (-not $activationAttempted -or $activationSucceeded)) { + $success = $true + } +} + +if ($success) { + Write-Host "" + Write-Host "[OK] FINAL STATUS" + Write-Host "==============================================================" + Write-Host " Volume Status : $finalVolume" + Write-Host " Protection : $finalProtection" + Write-Host " Encryption % : $($final.EncryptionPercentage)" + if ($finalProtection -ne 'On') { + Write-Host " [INFO] Encryption in progress - protection activates on completion" + } + Write-Host " Result : SUCCESS" + Write-Host "" + Write-Host "[OK] SCRIPT COMPLETED" + Write-Host "==============================================================" + exit 0 +} else { + Write-Host "" + Write-Host "[ERROR] FINAL STATUS" + Write-Host "==============================================================" + Write-Host " Volume Status : $finalVolume" + Write-Host " Protection : $finalProtection" + Write-Host " Result : FAILED - protection is not active" + Write-Host "" + Write-Host " Troubleshooting:" + Write-Host " - Review manage-bde output above for the failing step" + Write-Host " - Run 'manage-bde -status $Drive' on the device" + exit 1 +} diff --git a/scripts/bitlocker_enable.yaml b/scripts/bitlocker_enable.yaml new file mode 100644 index 0000000..4fd3b59 --- /dev/null +++ b/scripts/bitlocker_enable.yaml @@ -0,0 +1,36 @@ +name: bitlocker_enable.ps1 +description: Enables BitLocker on the OS drive and guarantees Protection On +language: PowerShell +tags: +- Security +- Windows +- Level +runAs: SYSTEM_USER +timeout: 600 +readme: | + Purpose + ------- + Converges the OS drive to BitLocker "Protection On" from any starting state: fully decrypted, encrypted with protection suspended (the OOBE pre-provisioned clear-key state), or already protected. Prints the recovery password to the console for Level activity-log capture and fails loudly (exit 1) whenever protection cannot be activated, instead of reporting false success. + + Usage Notes + ----------- + - Requires a present and ready TPM (fails otherwise) + - Ensures exactly one RecoveryPassword protector and a TPM protector + - Starts encryption via manage-bde (xts_aes256, used space only, no hardware test) when the volume is FullyDecrypted + - Activates protectors (manage-bde -protectors -enable) when the volume is encrypted but Protection Status is Off + - manage-bde exit codes are checked; failures exit 1 instead of reporting false success + - Target drive default: C: + + Requirements + ------------ + - PowerShell 5.1 or later + - Windows 10/11 Pro or Enterprise with BitLocker feature + - Administrator privileges (Level runs as SYSTEM) + - TPM present and ready + + Security + -------- + - Recovery password is printed to console by design (Level activity log is the key escrow record) + - No other secrets in logs +favourite: false +shared: false From 649b1a726bec3148bfa110d751bf97798a58e9bf Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 20:07:52 -0500 Subject: [PATCH 24/36] chore: sync scripts [smart-sync] --- scripts/bitlocker_enable.level.yaml | 32 +++++------------------------ 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/scripts/bitlocker_enable.level.yaml b/scripts/bitlocker_enable.level.yaml index c56b569..d73ca13 100644 --- a/scripts/bitlocker_enable.level.yaml +++ b/scripts/bitlocker_enable.level.yaml @@ -1,30 +1,8 @@ name: bitlocker_enable.ps1 -description: Enables BitLocker on the OS drive and guarantees Protection On +description: "" shell: POWERSHELL runAs: SYSTEM -timeout: 600 -readme: | - Purpose - ------- - Converges the OS drive to BitLocker "Protection On" from any starting state: fully decrypted, encrypted with protection suspended (the OOBE pre-provisioned clear-key state), or already protected. Prints the recovery password to the console for Level activity-log capture and fails loudly (exit 1) whenever protection cannot be activated, instead of reporting false success. - - Usage Notes - ----------- - - Requires a present and ready TPM (fails otherwise) - - Ensures exactly one RecoveryPassword protector and a TPM protector - - Starts encryption via manage-bde (xts_aes256, used space only, no hardware test) when the volume is FullyDecrypted - - Activates protectors (manage-bde -protectors -enable) when the volume is encrypted but Protection Status is Off - - manage-bde exit codes are checked; failures exit 1 instead of reporting false success - - Target drive default: C: - - Requirements - ------------ - - PowerShell 5.1 or later - - Windows 10/11 Pro or Enterprise with BitLocker feature - - Level: run as System; timeout 600 seconds - - TPM present and ready - - Security - -------- - - Recovery password is printed to console by design (Level activity log is the key escrow record) - - No other secrets in logs +timeout: 100 +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzM1NDg3 +lastPushedChecksum: "sha256:195cb56792e8ea36" +lastPushedMetaChecksum: "sha256:6c1116c06c39be3c" \ No newline at end of file From 5fa2b72c58b7577a2c60d9d1c3d9f00db34c2721 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 20:09:19 -0500 Subject: [PATCH 25/36] chore: sync scripts [smart-sync] --- scripts/dokploy_running_apps_deploy.level.yaml | 2 +- scripts/level_agent_install.level.yaml | 8 ++++++++ scripts/level_agent_install_macos.level.yaml | 8 ++++++++ scripts/public_ip_export_superops.level.yaml | 2 +- scripts/windows_dism_sfc_chkdsk_run.level.yaml | 2 +- scripts/windowsapps_orphan_cleanup.level.yaml | 8 ++++++++ 6 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 scripts/level_agent_install.level.yaml create mode 100644 scripts/level_agent_install_macos.level.yaml create mode 100644 scripts/windowsapps_orphan_cleanup.level.yaml diff --git a/scripts/dokploy_running_apps_deploy.level.yaml b/scripts/dokploy_running_apps_deploy.level.yaml index f9eaf34..bff13f7 100644 --- a/scripts/dokploy_running_apps_deploy.level.yaml +++ b/scripts/dokploy_running_apps_deploy.level.yaml @@ -31,5 +31,5 @@ readme: | - All calls are localhost-only, no external network traffic groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDI1OQ -lastPushedChecksum: "sha256:fe4c759579dc9eeb" +lastPushedChecksum: "sha256:ecf5e9ab795bafee" lastPushedMetaChecksum: "sha256:1064c600d43f830d" \ No newline at end of file diff --git a/scripts/level_agent_install.level.yaml b/scripts/level_agent_install.level.yaml new file mode 100644 index 0000000..502f9b2 --- /dev/null +++ b/scripts/level_agent_install.level.yaml @@ -0,0 +1,8 @@ +name: level_agent_install.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzUxMQ +lastPushedChecksum: "sha256:a9b2f3b9656090a7" +lastPushedMetaChecksum: "sha256:4998b3dfa27ba35b" \ No newline at end of file diff --git a/scripts/level_agent_install_macos.level.yaml b/scripts/level_agent_install_macos.level.yaml new file mode 100644 index 0000000..0462ef4 --- /dev/null +++ b/scripts/level_agent_install_macos.level.yaml @@ -0,0 +1,8 @@ +name: level_agent_install_macos.sh +shell: BASH +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzUxMg +lastPushedChecksum: "sha256:b99bbfa346ec46c5" +lastPushedMetaChecksum: "sha256:3766b722aa498154" \ No newline at end of file diff --git a/scripts/public_ip_export_superops.level.yaml b/scripts/public_ip_export_superops.level.yaml index 8e2b44d..e859287 100644 --- a/scripts/public_ip_export_superops.level.yaml +++ b/scripts/public_ip_export_superops.level.yaml @@ -26,5 +26,5 @@ readme: | - $customFieldName: SuperOps custom field name groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDMyOQ -lastPushedChecksum: "sha256:e613d96669eff586" +lastPushedChecksum: "sha256:79f6d5c2dcf1ae22" lastPushedMetaChecksum: "sha256:72ac6bd29023777f" \ No newline at end of file diff --git a/scripts/windows_dism_sfc_chkdsk_run.level.yaml b/scripts/windows_dism_sfc_chkdsk_run.level.yaml index cf1a074..2375d7b 100644 --- a/scripts/windows_dism_sfc_chkdsk_run.level.yaml +++ b/scripts/windows_dism_sfc_chkdsk_run.level.yaml @@ -32,5 +32,5 @@ readme: | - Requires elevated permissions to modify system components groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM4NA -lastPushedChecksum: "sha256:61b2368d3d8ee6d8" +lastPushedChecksum: "sha256:b4ad9d2189166041" lastPushedMetaChecksum: "sha256:b8b34b4001d1223d" \ No newline at end of file diff --git a/scripts/windowsapps_orphan_cleanup.level.yaml b/scripts/windowsapps_orphan_cleanup.level.yaml new file mode 100644 index 0000000..915085a --- /dev/null +++ b/scripts/windowsapps_orphan_cleanup.level.yaml @@ -0,0 +1,8 @@ +name: windowsapps_orphan_cleanup.ps1 +shell: POWERSHELL +runAs: SYSTEM +timeout: 60 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzUxMw +lastPushedChecksum: "sha256:20b9dc388889f488" +lastPushedMetaChecksum: "sha256:fa1374641b509925" \ No newline at end of file From 9d1bb69fd7c4f13b52190a9dabc579e335af3714 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 20:09:45 -0500 Subject: [PATCH 26/36] chore: sync scripts [smart-sync] --- scripts/bitlocker_enable.level.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/bitlocker_enable.level.yaml b/scripts/bitlocker_enable.level.yaml index d73ca13..9e45e9a 100644 --- a/scripts/bitlocker_enable.level.yaml +++ b/scripts/bitlocker_enable.level.yaml @@ -3,6 +3,7 @@ description: "" shell: POWERSHELL runAs: SYSTEM timeout: 100 +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzM1NDg3 -lastPushedChecksum: "sha256:195cb56792e8ea36" -lastPushedMetaChecksum: "sha256:6c1116c06c39be3c" \ No newline at end of file +lastPushedChecksum: "sha256:3aed65cd22ff6767" +lastPushedMetaChecksum: "sha256:dddc42444529721f" \ No newline at end of file From cab7596f312bb6eb2875f92cff5bbc3e48d9becf Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 21:13:55 -0500 Subject: [PATCH 27/36] chore: sync scripts [smart-sync] --- scripts/workstation_rename_auto.level.yaml | 16 ++++++++-------- scripts/workstation_rename_auto_macos.level.yaml | 16 ++++++++-------- scripts/workstation_rename_manual.level.yaml | 16 ++++++++-------- .../workstation_rename_manual_macos.level.yaml | 16 ++++++++-------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 9cacf6a..586ad49 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -9,7 +9,7 @@ readme: | Renames a Windows device to CLIENT3-USERUUID (exactly 15 chars). CLIENT3 is a 3-char abbreviation of the Level device group name ({{level_group_name}}). USER is the sanitized logged-in username; UUID is the SMBIOS UUID tail. - + Usage Notes ----------- - Device must be in a named Level group (client group) @@ -17,18 +17,18 @@ readme: | - Reboot required for hostname change to take effect - No SuperOps/API — Level inventory follows OS hostname after reboot - Output slots: DesiredHostname, RenameStatus - + Requirements ------------ - Windows 10/11 - Level agent; run as System - Device assigned to a client group variables: -- name: DesiredHostname - description: Built 15-char hostname (CLIENT3-USERUUID) -- name: RenameStatus - description: already_matches | scheduled | warning | error + - name: DesiredHostname + description: Built 15-char hostname (CLIENT3-USERUUID) + - name: RenameStatus + description: already_matches | scheduled | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw -lastPushedChecksum: "sha256:d5996dd1d435f7a6" -lastPushedMetaChecksum: "sha256:af7756ec2ff2d127" +lastPushedChecksum: "sha256:d9ae4d9a4568d1a9" +lastPushedMetaChecksum: "sha256:c2abab3ac04e9f04" \ No newline at end of file diff --git a/scripts/workstation_rename_auto_macos.level.yaml b/scripts/workstation_rename_auto_macos.level.yaml index 701db8b..a0a833e 100644 --- a/scripts/workstation_rename_auto_macos.level.yaml +++ b/scripts/workstation_rename_auto_macos.level.yaml @@ -8,22 +8,22 @@ readme: | ------- Renames a macOS device to CLIENT3-USERUUID (exactly 15 chars). CLIENT3 from Level group name; sets HostName, ComputerName, LocalHostName. - + Usage Notes ----------- - Device must be in a named Level group - Output slots: DesiredHostname, RenameStatus - + Requirements ------------ - macOS 10.14+ - Level agent; run as System (root) variables: -- name: DesiredHostname - description: Built 15-char hostname (CLIENT3-USERUUID) -- name: RenameStatus - description: already_matches | applied | error + - name: DesiredHostname + description: Built 15-char hostname (CLIENT3-USERUUID) + - name: RenameStatus + description: already_matches | applied | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNA -lastPushedChecksum: "sha256:e20d54ceb44212c7" -lastPushedMetaChecksum: "sha256:4b1b3ff221eed4c3" +lastPushedChecksum: "sha256:df8780e338a26cd4" +lastPushedMetaChecksum: "sha256:816262b32c580d5a" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 224e627..5c2a108 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -9,24 +9,24 @@ readme: | Renames a Windows device to CLIENT-USERUUID (exactly 15 chars). Optional hardcoded $CUSTOM_CLIENT_OVERRIDE in the script body; otherwise uses the Level group name as a variable-length client segment. - + Usage Notes ----------- - Edit CUSTOM_CLIENT_OVERRIDE (e.g. BELL) for a fixed client code - Leave empty to use {{level_group_name}} - Reboot required for hostname change to take effect - Output slots: DesiredHostname, RenameStatus - + Requirements ------------ - Windows 10/11 - Level agent; run as System variables: -- name: DesiredHostname - description: Built 15-char hostname (CLIENT-USERUUID) -- name: RenameStatus - description: already_matches | scheduled | warning | error + - name: DesiredHostname + description: Built 15-char hostname (CLIENT-USERUUID) + - name: RenameStatus + description: already_matches | scheduled | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: "sha256:2140a719a807fc81" -lastPushedMetaChecksum: "sha256:b0af7692d1c1244c" +lastPushedChecksum: "sha256:48a2572e8227da8f" +lastPushedMetaChecksum: "sha256:fc54cef74e19eb14" \ No newline at end of file diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index ddc12cc..93e0090 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -8,22 +8,22 @@ readme: | ------- Renames a macOS device to CLIENT-USERUUID. Optional CUSTOM_CLIENT_OVERRIDE in script body; otherwise Level group name (variable length). - + Usage Notes ----------- - Edit CUSTOM_CLIENT_OVERRIDE for a fixed client code - Output slots: DesiredHostname, RenameStatus - + Requirements ------------ - macOS 10.14+ - Level agent; run as System (root) variables: -- name: DesiredHostname - description: Built 15-char hostname (CLIENT-USERUUID) -- name: RenameStatus - description: already_matches | applied | error + - name: DesiredHostname + description: Built 15-char hostname (CLIENT-USERUUID) + - name: RenameStatus + description: already_matches | applied | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg -lastPushedChecksum: "sha256:cf6852c71596e859" -lastPushedMetaChecksum: "sha256:a01d977c6f07856b" +lastPushedChecksum: "sha256:2267731c78db702b" +lastPushedMetaChecksum: "sha256:1529610aea912529" \ No newline at end of file From e17829b15436be34bbc3815a24e6b918e62640df Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Wed, 22 Jul 2026 21:28:02 -0500 Subject: [PATCH 28/36] chore: sync scripts [smart-sync] --- scripts/windows11_25h2_install.level.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/windows11_25h2_install.level.yaml b/scripts/windows11_25h2_install.level.yaml index 2208e1c..ab8cb9f 100644 --- a/scripts/windows11_25h2_install.level.yaml +++ b/scripts/windows11_25h2_install.level.yaml @@ -41,5 +41,5 @@ readme: | - Resume artifacts under ProgramData\Limehawk\windows11_25h2_install cleaned after success groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzQzMg -lastPushedChecksum: "sha256:e4d0ade6f1a0228e" +lastPushedChecksum: "sha256:d2a0271f2d08f3ee" lastPushedMetaChecksum: "sha256:956c7b96d8299d58" \ No newline at end of file From a8a77daecfe286d03cf0397e95d13842c323e373 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 24 Jul 2026 08:05:43 -0500 Subject: [PATCH 29/36] chore: sync scripts [smart-sync] --- scripts/windows11_iso_upgrade.level.yaml | 10 +++++++--- scripts/windows_laps_entra_configure.level.yaml | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/windows11_iso_upgrade.level.yaml b/scripts/windows11_iso_upgrade.level.yaml index 691d085..2bb6a6d 100644 --- a/scripts/windows11_iso_upgrade.level.yaml +++ b/scripts/windows11_iso_upgrade.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- ISO-based silent in-place upgrade to Windows 11, version 25H2, for Level RMM (run as System). This is the fallback path when the enablement package / Windows Update / Installation Assistant routes are unsuitable: it fetches a fresh consumer (Home/Pro/Edu) ISO via Fido, gates on hardware eligibility before any download, then drives setup.exe for an authoritative compat scan and the upgrade itself. Already-25H2 devices are a no-op success. The fleet is Home/Pro only, so the consumer multi-edition ISO is sufficient (the business editions ISO is not obtainable unauthenticated). - + Usage Notes ----------- - No-op success if the registry DisplayVersion already reports 25H2 @@ -22,7 +22,7 @@ readme: | - Consumer editions only (Home / Pro / Edu) - no Enterprise - Microsoft ISO URLs expire ~24h; fetched and consumed in one run - Level timeout: 14400 seconds (4 hours); run as System - + Requirements ------------ - PowerShell 5.1 or later @@ -37,7 +37,7 @@ readme: | - $workDir: working directory for Fido + ISO (C:\ProgramData\Limehawk\windows11_iso_upgrade) - $requiredFreeGB: minimum free space on the system drive (35) - $rebootAfterInstall: schedule reboot after a successful upgrade (true) - + Security -------- - No secrets in logs @@ -46,3 +46,7 @@ readme: | - Microsoft ISO URLs expire ~24h; fetched and consumed in a single run - Default reboots after success (set $rebootAfterInstall = false for maintenance windows) - ISO + Fido.ps1 are deleted from the work dir after a successful upgrade +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzk2OQ +lastPushedChecksum: "sha256:3ee65803b1c9d69f" +lastPushedMetaChecksum: "sha256:2b67127477d6ce86" \ No newline at end of file diff --git a/scripts/windows_laps_entra_configure.level.yaml b/scripts/windows_laps_entra_configure.level.yaml index e3f41aa..8280b91 100644 --- a/scripts/windows_laps_entra_configure.level.yaml +++ b/scripts/windows_laps_entra_configure.level.yaml @@ -7,7 +7,7 @@ readme: | Purpose ------- Configures the built-in Windows LAPS client to rotate the local administrator password and escrow it to Microsoft Entra ID. Applies the LAPS policy via the registry, forces an immediate policy processing pass, and reports the result from the LAPS operational event log so the tech can see whether the Entra escrow succeeded or is pending. Works on Entra ID Free (Microsoft 365 Business Standard) - no Intune subscription required. - + Usage Notes ----------- - All inputs are hardcoded: BackupDirectory (1 = Entra ID), PasswordAgeDays (30), PasswordLength (20), PasswordComplexity (4 = upper+lower+numbers+specials), AdministratorAccountName (empty = built-in Administrator), PasswordEncryptionEnabled (1) @@ -17,16 +17,20 @@ readme: | - Forces an immediate LAPS policy processing pass - Reads Microsoft-Windows-LAPS/Operational and surfaces the latest status line - IMPORTANT: The tenant setting "Enable Microsoft Entra Local Administrator Password Solution (LAPS)" must be set to Yes (Entra admin center -> Devices -> Device settings) for the password to actually escrow to Entra ID - + Requirements ------------ - Windows 11, or Windows 10 patched with the April 2023 (or later) cumulative update that ships the Windows LAPS client - Administrator privileges (RMM runs as SYSTEM) - Device joined to Microsoft Entra ID - Tenant setting "Enable Microsoft Entra Local Administrator Password Solution (LAPS)" = Yes - + Security -------- - The managed password is never read or printed - Escrowed passwords are stored encrypted in Entra ID - Disabling or weakening the policy reduces local-account security +groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU +scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzk3MA +lastPushedChecksum: "sha256:70cdd1f031aea21d" +lastPushedMetaChecksum: "sha256:2f3697defacd5999" \ No newline at end of file From 2fdca671baec1bac1c926310e21bba9d2fd5332a Mon Sep 17 00:00:00 2001 From: limehawk <128890849+limehawk@users.noreply.github.com> Date: Fri, 24 Jul 2026 09:16:30 -0400 Subject: [PATCH 30/36] chore: acknowledge remote sentinelone_install content in sync sidecar --- scripts/sentinelone_install.level.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index 961e0ab..dbdd6f8 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -31,5 +31,5 @@ readme: | - Default CDN URL uses HTTPS groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA -lastPushedChecksum: "sha256:aab2ea4bf232ddc9" +lastPushedChecksum: "sha256:8bac7086c4d8d881" lastPushedMetaChecksum: "sha256:761f0587b986e04b" \ No newline at end of file From 5e2a265e02b0c9e1b03216a62cc65d44eaa3d086 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 24 Jul 2026 08:16:40 -0500 Subject: [PATCH 31/36] chore: sync scripts [smart-sync] --- scripts/sentinelone_install.level.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/sentinelone_install.level.yaml b/scripts/sentinelone_install.level.yaml index dbdd6f8..b45825c 100644 --- a/scripts/sentinelone_install.level.yaml +++ b/scripts/sentinelone_install.level.yaml @@ -31,5 +31,5 @@ readme: | - Default CDN URL uses HTTPS groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDM0MA -lastPushedChecksum: "sha256:8bac7086c4d8d881" +lastPushedChecksum: "sha256:3a0ca6654acf5982" lastPushedMetaChecksum: "sha256:761f0587b986e04b" \ No newline at end of file From 5999a10c4417397f3689fa14b6eb59efaf74a39b Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Tue, 28 Jul 2026 12:32:55 -0500 Subject: [PATCH 32/36] chore: sync scripts [smart-sync] --- scripts/windows11_iso_upgrade.level.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/windows11_iso_upgrade.level.yaml b/scripts/windows11_iso_upgrade.level.yaml index 874c647..54f369f 100644 --- a/scripts/windows11_iso_upgrade.level.yaml +++ b/scripts/windows11_iso_upgrade.level.yaml @@ -48,5 +48,5 @@ readme: | - ISO + Fido.ps1 are deleted from the work dir after a successful upgrade groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNzk2OQ -lastPushedChecksum: "sha256:3ee65803b1c9d69f" +lastPushedChecksum: "sha256:826e21fcf7732cae" lastPushedMetaChecksum: "sha256:2b67127477d6ce86" \ No newline at end of file From c42ab5378461c7db3d4efe111e3d89394bfefec3 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:50:25 -0500 Subject: [PATCH 33/36] chore: sync scripts [smart-sync] --- scripts/workstation_rename_auto.level.yaml | 4 ++-- scripts/workstation_rename_manual.level.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index e045d26..9e58b2c 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -30,5 +30,5 @@ variables: description: already_matches | scheduled | no_user | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw -lastPushedChecksum: "sha256:d9ae4d9a4568d1a9" -lastPushedMetaChecksum: "sha256:c2abab3ac04e9f04" +lastPushedChecksum: "sha256:38df1e0ed297f659" +lastPushedMetaChecksum: "sha256:a67ac845a03c7149" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index e0362a1..24f841c 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -28,5 +28,5 @@ variables: description: already_matches | scheduled | no_user | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: "sha256:48a2572e8227da8f" -lastPushedMetaChecksum: "sha256:fc54cef74e19eb14" +lastPushedChecksum: "sha256:ee514d87e3d95d79" +lastPushedMetaChecksum: "sha256:ed01a85a1c432478" \ No newline at end of file From dc673bcf98e00660da6e123c4269aaa3644c0e49 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:02:11 -0500 Subject: [PATCH 34/36] chore: sync scripts [smart-sync] --- scripts/workstation_rename_manual.level.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 4e51ae9..5a6de6a 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -9,7 +9,7 @@ readme: | Renames a Windows device to CLIENT-USERUUID (exactly 15 chars). The client segment comes from the cf_client_prefix custom field, set once per client group and inherited by every device in it (e.g. BELL -> BELL-MICHELL004). - + Usage Notes ----------- - Set the prefix per client group, not per device: @@ -37,5 +37,5 @@ variables: description: already_matches | scheduled | no_user | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: "sha256:ee514d87e3d95d79" -lastPushedMetaChecksum: "sha256:ed01a85a1c432478" \ No newline at end of file +lastPushedChecksum: "sha256:c518c08bf993437e" +lastPushedMetaChecksum: "sha256:8ee638961730bf6b" \ No newline at end of file From dd3af7006c389bda6440a667301915f16bd4d561 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:19:19 -0500 Subject: [PATCH 35/36] chore: sync scripts [smart-sync] --- scripts/workstation_rename_auto.level.yaml | 2 +- scripts/workstation_rename_manual.level.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/workstation_rename_auto.level.yaml b/scripts/workstation_rename_auto.level.yaml index 9e58b2c..e28c073 100644 --- a/scripts/workstation_rename_auto.level.yaml +++ b/scripts/workstation_rename_auto.level.yaml @@ -30,5 +30,5 @@ variables: description: already_matches | scheduled | no_user | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwMw -lastPushedChecksum: "sha256:38df1e0ed297f659" +lastPushedChecksum: "sha256:aac54867219e84f3" lastPushedMetaChecksum: "sha256:a67ac845a03c7149" \ No newline at end of file diff --git a/scripts/workstation_rename_manual.level.yaml b/scripts/workstation_rename_manual.level.yaml index 5a6de6a..a6d3cdb 100644 --- a/scripts/workstation_rename_manual.level.yaml +++ b/scripts/workstation_rename_manual.level.yaml @@ -37,5 +37,5 @@ variables: description: already_matches | scheduled | no_user | warning | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNQ -lastPushedChecksum: "sha256:c518c08bf993437e" +lastPushedChecksum: "sha256:64cf30cf38e8a925" lastPushedMetaChecksum: "sha256:8ee638961730bf6b" \ No newline at end of file From ae2fc979dfbc86006bb2145dcfab29b48b1dede4 Mon Sep 17 00:00:00 2001 From: Corey <128890849+limehawk@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:45:07 -0500 Subject: [PATCH 36/36] chore: sync scripts [smart-sync] --- scripts/workstation_rename_manual_macos.level.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/workstation_rename_manual_macos.level.yaml b/scripts/workstation_rename_manual_macos.level.yaml index aa7a023..6af4f41 100644 --- a/scripts/workstation_rename_manual_macos.level.yaml +++ b/scripts/workstation_rename_manual_macos.level.yaml @@ -9,7 +9,7 @@ readme: | Renames a macOS device to CLIENT-USERUUID. The client segment comes from the cf_client_prefix custom field, set once per client group and inherited by every device in it. Mirrors workstation_rename_manual.ps1 on Windows. - + Usage Notes ----------- - Set the prefix per client group: @@ -31,5 +31,5 @@ variables: description: already_matches | applied | no_user | error groupId: Z2lkOi8vbGV2ZWwvU2NyaXB0R3JvdXAvNTQ2NDU scriptId: Z2lkOi8vbGV2ZWwvU2NyaXB0LzEyNDQwNg -lastPushedChecksum: "sha256:2267731c78db702b" -lastPushedMetaChecksum: "sha256:1529610aea912529" +lastPushedChecksum: "sha256:47f553bc5a202559" +lastPushedMetaChecksum: "sha256:5609b8c535c88f44" \ No newline at end of file