You're looking at the Yellow Pages for Community Worklets... find Worklets and share your own here!
Recently active
There are certain limitations I’ve come across with PS scripts in worklets and I’m curious A) if they’re possible, or B) how exactly worklets invoke the scripts on remote endpoints. I’ve tried finding information on how exactly worklets run scripts on remote endpoints but it’s pretty obfuscated. Examples:If I try calling a static .NET method for a Windows form element, like a notification popup, nothing will display on the remote endpoint. Example below:[System.Windows.MessageBox]::Show( "Title", "Message", [System.Windows.MessageBoxButton]::OK, [System.Windows.MessageBoxImage]::Information)Or if I try invoking rest method to send a message to Teams using a public incoming webhook, it will not post. Example below:Invoke-RestMethod -Uri $webhookUri -Method POST -Body $json -ContentType "application/json"How exactly do worklets run these scripts on remote endpoints, and are there ways to get examples such as these to work?
Hello! I have used this Automox approved worklet in the past but now in the Activity log it only outputs “1” Computer is on 22H2 Windows 10 ProPowerShell 5 Eval<#.SYNOPSIS Enforce Bitlocker Encryption - Evaluation Script OS Support: Windows 8(Server 2012) and above Powershell: 4.0 and above Run Type: Evaluation or OnDemand.DESCRIPTION This Worklet is designed to grant an Admin the ability to encrypt physical drives on a client device using BitLocker. A TPM chip is required to perform the default actions of this worklet. If a non-TPM device is encountered, the Worklet will exit without making any changes, and a note will be added to the Activity Log. Usage: The Evaluation script uses only 1 variable that controls the scope of drives to be encrypted. This variable should be the same value as the Remediation script to ensure devices are targeted correctly. Values provided should be between quotes after the "=". Use only one value per variable. Multiple
Hi all, I’m a newbie to automox. I was trying to write a worklet to create a linux os account/s. To do that that would require the worklet to prompt for name to use for a variable. Does anyone have any experience with this type of task?
Most of our staff are remote from our office, hence using Automoxwe haven’t bene great at recording hardware configurations, specifically we need to know size of SSDs installed in our endpointscan we use Automox to report on that detail?
Has anyone created a worklet to end a task or close an application? In the Automox University specifically the Third Party Patch Policy training, they talk about applications that need to be close in order to update. Has anyone been successful in creating a worklet that accomplishes this?
This Bash script makes it easy to quickly kill running processes on Mac devices in the event that you need to troubleshoot app or system performance issues or shut something down for security or compliance concerns. View it in the here in the Worklet Catalog!
Hey all, Brand new to the Automox Community here, really loving the software so far. However, I’m running into a weird issue. So, we’ve gotta update cURL, and I’m running into a pair of issues.To start, within Automox, I cannot see it as a listed package. I know it’s installed, and can see it in my Tenable dashboard. This leaves the bulk actions/software patching option out. So, in lieu of this, I’ve tried to make a worklet to meet the requirements. I’ve found some powershell online that seems to fit what I’d need it to do, but when I run it on my test machine, I get the attached logs, and the issue persists. Could anyone offer some advice? param ( [string]$SearchBase, [string]$updatedCurlPath = 'C:\temp\CurlUpdate\curl.exe', [string]$sourcePath = 'c$\Windows\System32\curl.exe' )$computers = Get-AdComputer -filter * -SearchBase $SearchBase# $computers = @()# $AdGroup = Get-ADGroupMember -Identity "Group Name"# Foreach ($one in $AdGroup) {# $computers += Get-AdComputer
Is there a way add a tag in the automox script when installing on a device so that the device gets the tag automatically?
Evaluation: $enabledProtocolList = @("TLS 1.2","TLS 1.3")$disabledProtocolList = @("SSL 2.0","SSL 3.0","TLS 1.0", "TLS 1.1")$ProtocolSubKeyList = @("Client", "Server")$Enabled = "Enabled"$registryPath = "HKLM:\\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\"$evalCount = 0foreach($Protocol in $enabledProtocolList){ foreach($key in $ProtocolSubKeyList) { $currentRegPath = $registryPath + $Protocol + "\" + $key Write-Host "Checking" $currentRegPath $currentEnableValue = Get-ItemProperty -Path $currentRegPath -name $Enabled if($currentEnableValue.Enabled -ne 1) { $errorMsg = "[error]" + $protocol + "\" + $key + " is set to disabled. Not compliant." Write-Host $errorMsg $evalCount ++ } }}foreach($Protocol in $disabledProtocolList){ foreach($key in $ProtocolSubKeyList) { $currentRegPath = $registryPath + $Protocol + "\" + $key Write-Host "Checking" $currentRegPath $currentEnableValue = Get-ItemProperty -Path $currentReg
Has anyone created a Worklet that can change Zones of Windows systems? I am not the best at PowerShell and was hoping someone has already created this. I know it can be done through the command line so assuming it can be done through PowerShell.C:\’Program Files (x86)’\Automox\amagent.exe --setkey <ZONE KEY>net stop amagentnet start amagent
I am new to Automox and most likely am missing something easy or at least, I hope. I’m trying to get the Automox approved worklet “Install M365 Apps" to work but I get one of two error message - see below. ********************************************************COMMAND TIMED OUT.********************************************************You cannot call a method on a null-valued expression.At C:\Program Files (x86)\Automox\execDir698845395\execcmd206069782.ps1:217 char:5+ $postVer = $64Config.getvalue("VersionToReport")+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull COMMAND TIMED OUT.*********************************************************Below is the code I am using. I have found if the device already has 365 installed there are not errors, and it returns “Compliant - Microsoft 365 apps are already installed.” <#.SYNOPSIS Install M365 Apps - Evaluatio
Hello,I noticed in our Automox environment that we have a lot of client devices reporting they still need to update Microsoft Office 365 to latest version. However, we use the Semi-Annual Enterprise release channel and Automox is showing the Office version for the Current Release channel. Is there a setting or configuration I can change to make the Automox agent use a different release channel? Example of What Automox is Showing https://learn.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date
Hi,I often find myself running into problems when writing worklets which don’t work as intended. Most of the time the root cause is because I’d failed to remember that the Automox Agent is a 32bit binary and calls 32bit PowerShell.Prefixing my Remediation Code with the following code blocks resolves the issue most of the time, but sometimes it does not, for example if I want to do something to a machine in both the 32 and 64bit registries in the same worklet.##############################################################################If Powershell is running the 32-bit version on a 64-bit machine, we #need to force powershell to run in 64-bit mode .#############################################################################if ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64") { write-warning "It seems we're running 32bit Powershell within a 64bit OS. Executing 64bit Powershell....." if ($myInvocation.Line) { &"$env:WINDIR\sysnative\windowspowershell\v1.0\powershell.exe" -NonI
Hello,Looking for a worklet that will install Rapid7 Agent with a custom token to link it back to the orgs insightVM platform. The MSI and Custom Token msiexec /i agentInstaller-x86_64.msi /l*v insight_agent_install_log.log /quiet CUSTOMTOKEN=us3:787e4f09-834b-48f6-******************Notes from Rapid7 The command above and the MSI must have the same filename path to apply the token. ######## EDIT WITHIN THIS BLOCK #######$fileName = 'agentInstaller-x86_64.msi'$custArgs = 'CUSTOMTOKEN=us3:787e4f09-834b-48f6-a*******************'###################################################### MAIN CODE ############## MSI/Script location. Joined with filename to pass a single variable to function.$sPath = Split-Path $Script:MyInvocation.MyCommand.Path -Parent$fPath = "$sPath\$fileName"$lPath = "$env:WINDIR\temp" would the custargs work in this case or do I need to do something else?like CD C:\$sPath\$fileName\CUSTOMTOKEN=us3:787e4f09-834b-48f6-a******************* I’m shocked Automox is integrated
Has anyone found a good script to uninstall old versions of .NET Core? We’re running through vulnerabilities and we have a lot of servers running older unsupported versions of .NET Core Server Hosting. I’ve been able to upgrade .NET 6.0 without issue but it seems 3.1 versions just won’t update or go away. We have roughly 40+ servers running multiple versions of .NET Core. None are the SDK version so the .NET uninstall tool doesn’t work on them. I’ve tried a script to download the ASP.NET Core Hosting exe and running the uninstall commands from there and, nothing. I’ve tried installing a newer version of 3.1 over the existing version (like I did with 6.0) and didn’t take. How are all of you managing .NET Core versions and eliminating unsupported versions from your environment?I’m at a loss at this point. There are not SDKs and there is no Visual Studio. So there seems to be no easy way to remove these old .NET versions especially when the uninstaller process via Automox can’t provide an
Thought I’d share this for the community, It made our deployment of TCPIP printers that are not on a print server simple! Hope it helps someone. Open to suggestions on what to change / fix! 😃 For our Evaluation: exit 0We Initailly deploayed with exit 0 since we we planned on running the worklet on demand, so the evaluation was going to be skipped anyways, but I’d imagine changing the Evaluation to maybe look for a specified printer name if not found then send to remediationRemediation: # Upload the driver files in a ZIP folder to the worklet # In this example we used HP Printer Drivers # Here we Install the Printer Driver, If your computers already have the driver installed, you can comment this out $scriptBlock = { $Folder = "HPPrintDriver"New-Item -ItemType Directory -Path $FolderExpand-Archive -Path "HPDriver.zip" -DestinationPath "HPPrintDriver"if(Test-Path $Folder){ pnputil /add-driver "HPPrintDriver\HPDriver\*.inf" /install} }$exitCode = & "$env:SystemRoot\sysnative\Wind
I wrote this macOS bash Worklet with the help of Otto AI to check the speed of an internet connection on macOS devices.It’s my entry into the Just Script It challenge! Evaluation# This Worklet runs a speed test on Mac OS devices using the networkQuality command. # This command was included starting with Mac OS Monterrey.#Exit non-compliant to run remediation scriptexit 1 Remediation# ======================# Otto AI Generated Code# ======================#intro message: clearecho "Checking Network Quality......"# s allows for sequential testing, which tends to yield more accurate results# c is computer readable output# networkQuality available starting with Monterrey output=$(networkQuality -sc)# Remove leading/trailing whitespace and curly bracesoutput=${output#*{}output=${output%{}*}# Extract the values using pattern matchinguplink_capacity=$(grep -o '"ul_throughput" : [0-9]*' <<< "$output" | awk '{print $NF}')uplink_capacity=$(($uplink_capacity/1000000))downlink_capacity=$(gr
I recently came across and issue in my organization that involved me enabling the .NET Framework 3.5 and 4.8 optional features for a user on Windows 10. The issue caused some of our in-house created software to crash and I was informed by my manager after resolving the issue that this user is not alone and he has had to help users with this same issue before.I tasked myself with creating a Worklet that would check if these optional features are enabled on a Windows 10 machine, and if they are not, enable them! With the help of Ask Otto, this task was a breeze and dramatically cut down the time it took to create both of the scripts.(Granted, a few tweaks did need to be made to the syntax of some commands but Ask Otto was able to make a pretty solid script with just a few detailed instructions).If you notice something that could be improved or that could be changed to improve either script please let me know, I’m fairly green when it comes to creating scripts and I’m open to suggestions
This worklet will check if Dell Command Update is installed and install it from a network share if not found (this can be changed to download URL). Once install is verified it will scan for and install any available Dell firmware updates from the Dell catalog, silently with reboots disabled. -Bitlocker must be suspended first to install BIOS updates which requires a BIOS password if your organization uses one. I have my Dell machines run this policy on Tuesdays to catch the MS patch Tuesday reboot on Wednesdays.# Define the path to Dell Command Update dcu-cli.exe if installed $dcuCliPath = "C:\Program Files\Dell\CommandUpdate\dcu-cli.exe"# Check if dcu-cli.exe existsif (-Not (Test-Path -Path $dcuCliPath -PathType Leaf)) { # Install Dell Command Update from the network location $msiPath = "\\********\Installs\Dell\Dell Command Update\DellCommandUpdateApp.msi" if (Test-Path -Path $msiPath -PathType Leaf) { # Install Dell Command Update silently Start-Process -Fil
This worklet will install Nessus Agent on 64-bit versions of Windows. Does require your own key and nessus agent be uploaded to worklet. EvaluationParameters The Function Convert-EpochtoCST will break during DST and Currently removes 5 hours to make UTC time CST The $status variable assumes 64-bit agent was installed. Add logic if you have 32-bit agents deployed. Converts output of nessuscli agent status to powershell object If Link Status is not connected, run remediation If Last Connected is 28+ days, run remediation If no status exists, run remediationFunction Convert-EpochtoCST ($epochTime){ (New-Object DateTime 1970,1,1,0,0,0).AddSeconds($epochTime).AddHours(-5) # UTC to CST}Function Get-NessusStatus{ # Collect Status $status = cmd /c "C:\Program Files\Tenable\Nessus Agent\nessuscli" agent status # Last Scanned $epochTime = $(IF($status -match "Last scanned"){($status -match "Last scanned").Split(": ")[-1]}) $LastScanned = Convert-EpochtoCST $epochTime # Las
I’m trying to remediate https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2023-38175We use a 3rd party antivirus and not Microsoft Defender. Microsoft recommends deleting the file MpSigStub.exe. It’s located in C:\Windows\System32. I tried to create the following but i think it’s not working because system32 needs elevated privileges. Any ideas? Evaluation Code: Exit 1 Remediation code: Remove-Item -path "C:\Windows\System32\MpSigStub.exe”
This Worklet is not recommended for use by Automox, and was created purely as satire. As my last entry for the Just Script It challenge…Ever wanted to Rick Roll all your macOS endpoints? This is the Worklet for you. Written with the help of Otto AI. Evaluation#Exit with non-compliance to run remediation script which will set the volume to 75%, and play Rick Astley's 1987 Hit "Never Gonna Give You Up" exit 1Remediation# ======================# Otto AI Generated Code# ======================#!/bin/bash# Set the volume to 75%osascript -e "set volume output volume 75"# Rick Roll all your macOS endpointsopen "https://www.youtube.com/watch?v=dQw4w9WgXcQ"#Show Statusecho "Rick Rolling Complete."
Hey all,I’m having 0 success updating to windows 11 using the windows installation assistant from automox and from running it directly on the laptops I’m testing with.I have had success downloading the iso, mounting it, and running the upgrade from there.Has anyone else tested the Windows 11 worklet? I’ve thought about trying to create a worklet that downloads and mounts the iso and runs through the setup so I can put automation and control/schedule around the updates.
September Patch Tuesday surfaced 61 vulnerabilities, but we built a Worklet to help you mitigate CVE-2023-38149, Windows TCP/IP Denial of Service Vulnerability. This vulnerability allows attackers to disrupt service over the network with a simple attack that does not require user authentication to exploit. Automox CISO, Jason Kikta, recommends mitigating this with a dedicated Worklet before applying the patch. By using this script, you’ll increase preventative measures by disabling router discovery on all IPv6 interfaces and enhancing safety of your Microsoft corporation software version from multiple vulnerabilities.
The purpose of this worklet is to detect if a macOS device is pending a reboot and will notify the user to reboot. If the user does not reboot within your given timeframe, the script will force a reboot. If the macOS device is at the login window (no user logged in), the device will reboot immediately with no notification. Example Notification: The Reboot Now button does just that, it reboots immediately The Later button will close the notification and redisplay again based on what you have set (below) You can set the following options in the Remediation script below: title - The Title of the notification message - The message content (use %TIME% in your message to display the time left in minutes forceRebootIn - The amount of minutes until the macOS device is force rebooted notifyInterval - Show the above notification every X minutes until a reboot occurs notifyTimeout - How long the above notification shows on the screen before closing and assuming a deferral iconFile - Upload a .i
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.