All things Worklets for Windows, macOS, and Linux
Recently active
I have been working on a script that will set DCU to download, install and verify no matter what the current setting is. In the update settings, a few behaviors are observed:Notify: Deletes AutomationMode if present Download updates: Creates AutomationMode with a value of ScanDownloadNotify Download and install updates: Creates AutomationMode with a value of ScanDownloadApplyNotifyLocation of the key:HKLM:\SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule\AutomationModeThe remediation code works perfect in Visual Studio Code. However, the evaluation code will only show the write-output and not push to the remediation code. Could someone shine some light on this? Evaluation Code$regPath = 'HKLM:\SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule'$automationMode = $nullTry { $automationMode = Get-ItemPropertyValue -Path $regPath -Name "AutomationMode"} Catch { Write-Output "Error retrieving AutomationMode property: $_"}F
Hello,I have deployed and create some (personal) worklets on one zone, and I am searching a way to easily duplicate them to anoter zone we have on our account.I see it’s possible for policy, but I don’t find the same “clone” function for worklet. Maybe there is another way to allow worklets to be applied on several zones ? Thanks in advance
This is to deploy the CrowdStrike Windows agent in your environment. You’ll need the CrowdStrike installer, WindowsSensor.exe, which you can download from your CrowdStrike console. You’ll also need your Customer ID from the console. Remediation code: .\WindowsSensor.exe /install /quiet /norestart CID=<checksummed customer ID> Upload the WindowsSensor.exe file to the worklet, and put your CID in the CID flag section. If you have any issues getting the installer to work, you can add the flag ProvNoWait=1 which skips the requirement for the agent to make contact with the CrowdStrike console within 10 minutes, after which time the agent removes itself if it fails to make contact. Note that installing CrowdStrike over the top of another AV requires some extra steps as detailed in this article: crowdstrike.com – 22 Aug 19 How to Replace Symantec with CrowdStrike Learn how how quick and easy it is to replace Symantec with CrowdStrike to get better prote
Automox newbie here and I’m trying to create a very basic worklet that would check if a computer is a Dell and if so, run Dell Command Update. I’ve cut and pasted commands from examples posted here, but it’s not working. Below is what I’ve created. Can someone tell me what I’m doing wrong? Thank you!
We are a tax firm that uses Lacerte Tax software. During tax season, there can be 2 or 3 updates in a week. Doing updates across 5 workstations is tedious and can only be done in off hours for the user.The software is on-prem server install. When an update is pushed to the server, the workstations will not allow login to Lacerte until the update is completed.I need a way to automate this. I have played with the MSI update worklet to re-run the install each time, but that does not work. Has anyone else done something similar?
HelloDoes anyone know if it is possible to upload a file .zip as a payload and download it via worklet?I need to create an installation worklet, but instead of uploading an executable file, I need to put a .zip file, download it to the machine, unzip this file and then run the .exe that is inside this uncompressed folder.
HelloWe are deploying an asset management tool called magma3 in our environment.With that, I needed a worklet that would install the agent on Linux machines.The agent is a .sh fileany worklet? Thank you very much
My Helpdesk team is encountering an issue in our Warehouse where multiple users will sign into a PC and fill up the disk space seemlingly overnight.I need a worklet that will evaluate the disk space on a shared PC and then delete user profiles that haven’t been modified or used in over 30 days if that disk exceeds 50%. I would also like it to also run disk cleanup every night.
Hi everyone,I found and modified this PowerShell script online, we were running into an issue where our process of installing Teams had an admin touch the computer, and it’d create an outdated version on the Admin account, then leave it. For the following Worklet, simply put in your target version (the version you’re currently using) and what users should be targeted (whoever installed the version) then run on the necessary machines. Evalution Code:$TargetVersion = "PUT DESIRED VERSION HERE"$OutdatedUsers = @(PUT OUTDATED USER HERE)# Get all Users$Users = Get-ChildItem -Path "$($ENV:SystemDrive)\Users"# Process all Users$Users | ForEach-Object { #Locate installation folder $localAppData = "$($ENV:SystemDrive)\Users\$($_.Name)\AppData\Local\Microsoft\Teams" # If teams exists for user > check version and add to array if outdated. If (Test-Path "$($localAppData)\Current\Teams.exe") { $InstalledVersion = (Get-ChildItem "$($localAppData)\current\Teams.exe").Versi
Good morning! I am attempting to use the worklet to set a login screen for Windows but was wondering if anyone had successfully changed the image source from a URL to an image uploaded into the worklet. If they have, could you please share the syntax used to replace this line? # define the path to download the background image$ImageURL = 'https://www.automox.com/static/images/default-og-image.png'
In our security audits we’ve identified a vulnerability in the use of privileged accounts for desktop support. While it’s necessary to use privileged accounts to deliver support, profiles with cached credentials left on windows computers can be extracted and used to gain control of the domain. Here is a script to remove the cached profiles of your admin accounts.Evaluation:<#.SYNOPSIS This script evaluates if certain profiles are present on a windows device..DESCRIPTION This test script sets a list of unwanted accounts and checks if they are present on a device. It returns a failure if any account in the list is present. .Notes File Name :Remove_Cached_Admins_Eval.ps1 Author :TJ Coppola Prerequisite :PowerShell V2 over win7 and upper#>#ADD UNWANTED PROFILES THIS ARRAY$AccountList = @()$eval = 0Foreach ($Account in $AccountList){ $instance = Get-CimInstance -ClassName Win32_UserProfile | ?{$_.LocalPath -like ('*'+$Account)} if ($instance){ W
This simple worklet will audit your Windows endpoints and report any local administrator accounts to the Automox activity log. This will only report on endpoints running at least Windows 10 v1607, Server 2016, or having at least PowerShell v5.1 installed. Evaluation: # If Windows OS isn't at least Win10 v1607 or Server 2016 or PowerShell < v5.1, then exit if ($PSVersionTable.PSVersion -lt [version]'5.1') { Exit 0 } $scriptBlock = { $adminNames = Get-LocalGroupMember -Group Administrators If ($adminNames) { Return 1 } else { Return 0 } } $exitCode = & "$env:SystemRoot\sysnative\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -NonInteractive -Command $scriptblock Exit $exitCode Remediation: $scriptBlock = { $adminNames = (Get-LocalGroupMember -Group Administrators).Name Return $adminNames } $exitCode = & "$env:SystemRoot\sysnative\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass -WindowStyle H
I created this simple worklet to deploy the Local Administrator Password Solution client to machines and create the local administrative user we are going to use. Please disable the default local administrator account with a GPO. Worklet is maintained on our github page. evaluation code Exit 1 Remedation code ### Variables ### $username = "" #### Enter username you want to create ### $password = "" ### Enter initial password ### ### Variables ### $User=gwmi -class Win32_UserAccount | Where {$_.Name -eq $username} if (-Not $User) { [void](net user /add $username $password) [void](net localgroup administrators $username /add) if ($? -eq "True") { Write-Output "User successfully created." } else {Write-Output "Failed to create user!" } } Else {Write-Output "User already exists." } $Installed = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -Match "Local Administrator Password Solution" }) If(-Not $Install
Anyone tried to use worklet to uninstall Microsoft Access Runtime? I’ve attempted with adding ODT setup.exe and custom .xml as payload files and doing setup.exe /configure sample.xml - no luck.I also went straight with uninstall from HKLM Uninstall key for registry - no luck.
Hello, I am new to Automox and trying to figure out how custom worklets work. We are working on deploying a new print solution and wanting to remove printers that were installed via our print servers via powershell. Below is my worklet: Evaluation Script: <#.SYNOPSIS This Evaluation code throws and exit as 1 so the script will run no matter what. This is needed as Automox remediation code will run on any exit code greather than 0. If the exit code is 0, then the evaulation code will be skipped#>Exit 1 Remediation Script:start-transcript C:\windows\temp\worklet-transcript.txt$scriptBlock = { Get-Printer | Where-Object {$_.ComputerName -eq "ServerName01"} | Remove-PrinterGet-Printer | Where-Object {$_.ComputerName -eq "ServerName02"} | Remove-PrinterGet-Printer | Where-Object {$_.ComputerName -eq "ServerName03"} | Remove-Printer }$exitCode = & "$env:SystemRoot\sysnative\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -NonIn
Can Automox block the installation of software in realtime, or would it need to be a policy that runs X times a day? Thank you.
Need to mass uninstall Citrix Virtual Apps and Desktops 7 2206 - Virtual Delivery Agent
Hi, I’m running a simple command from the worklet:/Applications/Falcon.app/Contents/Resources/falconctl uninstall --maintenance-token $TokenI also tried:sudo /Applications/Falcon.app/Contents/Resources/falconctl uninstall --maintenance-token $TokenWith both commands, I’m getting the following error:“Error: Failed to read password”Which seems to me that it is prompting for an “admin” password. I’m running the worklet in a M1 Mac, automox account has a secure token enabled (checked by running: sysadminctl -secureTokenStatus _automoxserviceaccount). Is it a permissions issue? If I run a “whoami” from the worklet, it returns: root. So, I would say it is not a permissions issue.But then why it seems to be prompting for a password? Thank you for your help.
For example, the file I am copying is a Word letterhead template that needs to go to: C:\Users\tjm\AppData\Roaming\Microsoft\Templates but I need to replace “tjm” with the logged in users’ username
Hello everyone, This is just a script that will store bitlocker recovery keys in the device tags for whatever device the script is run on. Thought this would be an easier way to manage any bitlocker keys for those who will want to install it through automox rather than manually exporting keys or storing them via AD. Only thing that needs changing is the API Key. Currently there is a placeholder of just “INSERT API KEY HERE” and you must add in your own for it to work. Remediation Code: $apiKey = "INSERT API KEY HERE" $apiUrl = "https://console.automox.com/api/servers/" $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add("Authorization", "Bearer $apiKey") #$headers.Add("Cookie", "ax_session=eyJpdiI6IlpqM3NxdU03Mk81dHg0RjBkOGZRQmc9PSIsInZhbHVlIjoiL0Z2QVljTVF3SkV2L0Jod0lKMUFHQ0dMalMxQVNNdkswNWRRb2hkN1NiTHBFcWk4S2pXempXU2hpQzhybHE4b3loREhXRUxKSHZPMDBmMHVHNERzVlU2enphQm1sTTA3U2FCSmNlU0lJSjdEKzdDRHRqZXBlNXFSUThWb01zNk5UdXZheXpUNlExeDJKRXdONlZBbFZsV0t
I need to push an updated Word letterhead template to all users because an attorney joined the firm, but the template already exists on all machines, The existing worklet Copy File from Payload checks to see if the file already exists and skips it if it does. I don’t code, can anyone help with a worklet that would copy the file to the directory I specify and overwrite it if it already exists?Thanks!
Hello. I wanted to get assistance on correcting a office 365 installation worklet. This was previously working and now it is receiving the following error. You cannot call a method on a null-valued expression.At C:\Program Files (x86)\Automox\execDir519974115\execcmd211621094.ps1:225 char:5+ $postVer = $64Config.getvalue("VersionToReport")+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull COMMAND TIMED OUT. The script <# .SYNOPSIS Install M365 Apps - Evaluation Script OS Support: Windows 8.1 and above Powershell: 3.0 and above Run Type: Evaluation or OnDemand .DESCRIPTION This Worklet is designed to grant an Admin the ability to install Microsoft 365 Apps (Office) on devices that do not currently have them installed. While it is possible to remove legacy MSI installations (Office 2016/etc) as part of the ODT,
I was originally using the slack installer worklet mentioned here:https://community.automox.com/topic/show?tid=1566&fid=12 But have been running into issues where when the worklet runs, it downloads the installer fine, but when it runs msiexec.exe, it just hangs indefinitely. If I run this from a powershell command line, it runs fine and installs slack, but hangs in automox. Any ideas what might be going on? Start-Process -FilePath 'msiexec.exe' -ArgumentList ('/qn', '/i', $saveFilePath, '/l*v c:\slack.log', '/norestart') -Wait -Passthru
Hi, everybody! Since announcing our strategic alliance that pairs our two platforms, Automox has developed customized Worklets for SentinelOne that includes pre-built scripts for automatic deployment of the SentinelOne agent across Windows, Linux and macOS devices - without manual intervention or wasted IT cycles. Below you’ll find the worklet for MacOS.Big thanks to @Zac-Automox for getting these written. Worklet Details: Install SentinelOne Agent (MacOS) Evaluation Code#!/bin/bash#================================================================# HEADER#================================================================# SYNOPSIS# Installs the SentinelOne agent on the endpoint.## DESCRIPTION# This worklet will check to see if the SentinelOne agent is# installed on the target device.## USAGE# ./evaluation.sh##================================================================# IMPLEMENTATION# version STRAT-1_install_sentinelone_agent (www.automox.com) 1.0# aut