Improvements
Implemented new
Get-CwControlFieldscmdletAdded a new
Get-OTPcmdlet, capable of creating TOTP & HOTP codes.The script that downloads and starts the ephemeral agent script now uses an absolute path for PowerShell.
%systemroot%\System32\WindowsPowerShell\v1.0\powershell.exeOptimized the code responsible for syncing agents from integrations
Bug Fixes
- Fixed an issue where array values specified in the script editor parameters pane were not getting passed to the script
- Fixed an issue where reran actions may have contained incorrect information from another action
- Fixed an issue where rerunning a session after rerunning an action would cause the new session to only perform the reran action
- Fixed an issue where ImmyBot would show offline when you did not have access to login
0.57.5
Released 08-08-23
Bug Fixes
- Fixed a bug introduced in 0.57.4 where the default value for CW Control’s Custom Property Client Name and Secondary Index fields had the wrong values
- Fixed an issue with new instances having a disabled / non-working ImmyBot integration
0.57.4
Released 08-07-23
Improvements
- Started work on improving performance of computer and tenant deletions. More improvements to come.
- In the global script editor, scripts with param blocks will now only have the parameters auto-binded when the script has been newly opened instead of when it was focused.
- Fixed a bug where
undefinedwould sometimes show up as an error in the global script editor output. - Eliminated 2-step Verify/Create on Integrations
- Updated the error message you get when you attempt to create a deployment for software that does not have a version to deploy. “There are no available versions for this software. The software must have a static version, a dynamic version script, or be linked to software from an alternate provider such as Ninite or Chocolatey in order to be installed.”
- Made
New-Parameter -Positionnullable and not default to 0 to prevent parameter binding error “Cannot bind positional parameters because no names were given.” - The ephemeral agent exe now has the correct version where before it would always have 0.0.1
- Moved Remote Control feature to the top of the Preference Page for better visibility
- Package Analyzer will fallback to use
FileVersionifProductVersionis missing on EXE installers. - Package Analyzer will now return relative path to installer nested multiple directories inside of a ZIP archive.
For example, a package bundled like(MyInstallerPackage.zip) => [MyInstallerPackage] -> [InnerFolder] -> Setup.exewill returnInnerFolder\Setup.exeas the FileName instead ofSetup.exe - Package Analyzer will now fallback to a list of known-good DNS servers for downloading binary. This should help alleviate issues for a few customers where Azure’s default DNS fails to resolve the address. Errors stemming from downloading issues will additionally contain a DNS Audit trail.
Package Analyzer download speed has been improved by up to 50%, reducing time waiting for analysis.
Bug Fixes
- Fixed a
NullReferenceExceptionwhen no response was received fromInvokeCWARestMethod - Fixes an issue where the computer was not showing the active session tag for all computers that had one
- Fixed an issue where Cloud Tasks were failing because pre-flight script were trying to run
- Remote Control: Fixed an issue where some special characters would cause “Type Clipboard” function to fail.
- Fixed a bug with Package Analyzer which caused it to fail to analyze some installers where the server inappropriately returned a quoted filename.
- Fixed an issue with Package Analyzer failing to extrapolate filename (if one wasn’t provided) from the download URL if the server didn’t return a
content-dispositionheader.
0.57.3
Released 07-14-23
Improvements
- Optimized the load time of the Computer List page
Bug Fixes
- Fixed an issue where an ephemeral agent would disconnect after attempting to run a user script without a logged-on user
0.57.2
Released 07-11-23
Bug Fixes
- Limited Support Technician access to members of the Immense Entra ID with the Immy Support Technician role
0.57.1
Released 06-30-23
Fixed an issue for new instances deployed without an IoTHub being unable to install Immy Agents.
0.57.0
Released 06-29-23
Agent Delivery – Whitelist cdn.immy.bot
Make sure to whitelist cdn.immy.bot in your endpoint protection tools.
The ImmyBot Agent and the Ephemeral Agent are now served from a Cloudflare CDN at https://cdn.immy.bot
ImmyBot Remote Control (Remotely) – BETA
Initial support for remote control is here!
The newest version of the ImmyBot Agent will support the ability to establish remote control sessions.
Remote control can be established by clicking the “Open Remote Session” dropdown and then clicking the “ImmyBot Agent” option.
You can also select the initial Windows session within which to start remote control.
Task Deprecation & Supersedence
Old tasks can now be deprecated in favor of newer tasks.
You can deprecate a task by supply a “Superseded By” task on the task form. You can additionally supply a parameter migration script that will migrate the parameters specified by the deprecated deployment to the parameters of the superseding one.
Schedule using the computer’s timezone and Active Hours
The schedule details page has been cleaned up and re-organized for easier understanding.
We are introducing two new ways to schedule execution against a computer.
Use the computer’s timezone for execution
A common complaint is that it is hard to schedule maintenance for a group of computers that are all in different timezones. Another complaint is that scheduling maintenance against laptops for people who travel is difficult because they are constantly changing timezones.
You now have the option to schedule maintenance at a particular time according to the timezone specified by the computer.
Start execution after active hours if available
For computers that are running Windows 10+, you can opt into using the Active Hours specified by the computer instead of executing at the specified time on the schedule.
For now, if active hours are used, execution will be scheduled in the middle of non-active hours. e.g. If active hours ends at 1pm and starts again at 10pm, we will schedule execution at 5pm.
Active Hours as Business Hours
When active hours are used to schedule maintenance for a computer, checks against business hours will resolve to active hours. This is necessary because we don’t want to accidentally reboot the computer when in use, when “Suppress Reboots During Business Hours” is checked on the schedule.
Both “Use computer’s timezone for execution”, and “Start execution after active hours if available” are available for use on the deployment details page as well.
Pending Ephemeral Agent Session Status
A new session status has been added called Pending Ephemeral Agent Session.
Anytime during a maintenance session, if we fail to establish an ephemeral agent, the session will go into Pending Ephemeral Agent Session. The action it was performing when the failure occurred will not be failed so that it can resume when the ephemeral agent is finally connected. A background service will continually attempt to establish an ephemeral agent on sessions that are marked with this status.
With this change, we were able to remove the Script Execution Circuit Breaker that has not proved to be very useful.
Terminating Exceptions
System scripts will now throw terminating exceptions if we fail to establish an ephemeral agent or an actual terminating exception was thrown in the script.
Metascripts will also now throw terminating exceptions when an ephemeral agent fails to establish when using Invoke-ImmyCommand. You must now explicitly use a try/catch in order to prevent the terminating exception from ending the script.
This behavior will prevent software and tasks from continuing script execution in the event of a terminating exception, which will prevent false-positive results and report better errors.
User Script Terminating Exceptions
When running Invoke-ImmyCommand -Context "User", an additional parameter will be available called TerminateFromNoLoggedOnUser. When set, the script with throw a terminating exception when there is no logged on user. By default, user scripts will not throw a terminating exception when there is no logged on user.
Made pending-connectivity session triggering more robust
- Removed some event handling from pending connectivity service since the session finished event is not emitted in all circumstances
- Reduced different entrypoints to starting a session to improve consistency and reliability
- Added logic to check for and start the first pending connectivity session in the queue when any session finishes (both pass and fail) directly from the Immy Service Job
Session Preflight Scripts
A new script category has been added called “Preflight”. Preflight scripts run after an ephemeral agent is established and before we attempt to run any other script against a computer. If the preflight scripts do not return any exceptions, then preflight is consider “passed” and scripts can be executed as normal. Otherwise, if any preflight script fails, script execution will not be allowed against a computer.
The major reason we added preflight scripts was to detect whether a computer is currently applying windows updates. Agents can report online and connected while windows updates are applying. However, it’s possible that certain actions will not perform successfully while the computer is applying those updates. If we attempt to start or resume a session while windows updates are applying, we run the risk of rebooting the computer during an update and potentially bricking it.
The first global preflight script that has been added will check if the computer is currently applying windows updates and will throw an exception if it is, preventing script execution on the computer until windows updates are completed.
Pending Preflight Session Status
A new session status has been added called “Pending Preflight”. When a preflight script fails during a session, the session will go into “Pending Preflight”. The action that was actively being performed when the preflight script failed will not failed so that it can be resumed when the computer passes preflight. A background service will continually attempt to run preflight against a computer until it passes. Once preflight passes, the session will continue.
Built-In ImmyBot Agent Software
Before 0.57.0, we had hardcoded an action to perform the ImmyBot Agent update, which resulted in a lot of failures.
The built-in agent update now utilizes the ImmyBot Agent software located in the global repository.
Before
After
Prepared removal of Azure IotHub for the ImmyBot Agent
The 0.57.0 ImmyBot agent introduces a new method of establishing a connection to the backend using WebSockets.
With this approach, we will be able to remove dependency upon the Azure IoT Hub and provide a more reliable connection to devices.
Other Improvements
- Added license icons on computers to indicate which ones are actively being counted towards the license count for the month.
- For instances on Immy Standard, we added a checkbox on the computer list page that allows you to filter to only computers that are licensed
- Added fallback for tls when using
Download-FileToFolder - The .dlls extracted from the ImmyBot Agent and Ephemeral Agent executable are now signed, which should make whitelisting by our certificate in A/V tools easier.
- Improved the readability of the billing page
- Renamed Get-Hash to Get-KeyedHash as it only supported keyed hashes like HMACMD5, HMACSHA1, HMACSHA256, HMACSHA384, and HMACSHA512
- Implemented Get-Hash for non-Keyed algorithms like MD5, SHA1, SHA256, SHA384, and SHA512
- The “Update agent on device” button under the Agents Tab -> ImmyBot agent is clickable even when the computer is offline. It will put the session in pending connectivity and update when the computer comes back online.
- For ImmyBot Agents version 0.57.0 and above, the version is now displayed on the Agents tab.
C:\Program Files (x86)\ImmyBot\Immybot.Agent.exenow contains the correct file version- ImmyBot Remote Control and Require Consent For External Session Provider tenant preferences now have a tri-state value. They can be enabled, disabled, or use the application default value.
- Actions can now be sorted by the date/time execution started
- ImmyAgent binaries now show correct version
- Added a tenant preference to enable/disable the User Affinity Sync
Bug Fixes
- Fixed an issue where commands and output from the computer terminal and the script editor were showing up in both
- Fixed an issue where creating a new filter script or metascript from the deployment page was selecting the wrong execution context
- Fixed another issue that was causing the azure user sync to sometimes fail
- Fixed an issue with schedules not being able to update when they are using a deleted filter script
- Fixed an issue where failing to refresh an agent’s online status could cause detection to fail
- Fixed a potential bug that could occur when script-output recovery would happen, that would cause a false
Recovery is not possibleerror to be thrown. - Fixed issue where running a User-context script w/o a logged on user would cause
throw $args[0]; # If you can see this, report it to the ImmyBot Dev Team.to be displayed in powershell output. - Fixed an issue with Update If Found deployments for software with a test script incorrectly running the test script even when the software was not found
- Fixed some theme color issues with table column choosers and filters
- Cleaned up action error messages when a test or get script failed.
- Fixed an issue where the session would not go to pending connectivity when the AgentsOfflineException would be thrown but a provider agent is incorrectly reporting online still.
- Fixed an exception that was occurring when duplicating some global maintenance tasks
- Fixed an issue preventing the azure sync from running
- Fixed an issue with PowerShell returning System.Type arrays causing out of memeory exceptions
- Fixed instance of inventory json parsing exceptions causing sessions to fail hard
- Fixed an issue with publishing the agent as a single file
0.56.5
Released 2023-05-11
Improvements
- Made it more obvious when actions are skipped because reboots are suppressed and the action’s software requires a reboot
- Removed the hardcoded “Uninstall by Package Info” logic from software uninstall steps since it could cause unexpected reboots
- Updated the description of the tenant Onboarding Patching preference to indicate that it currently only applies to CW Automate
- Added PowerShell Version to computer overview tab
Bug Fixes
- Added missing logs around reboot checks
- Fixed a XSS vulnerability found in param block descriptions
- Fixed an issue where GDAP customers that need consent would show up as consented when they had previously been synced as a non-GDAP customer
- Fixed an issue with quick deploy where it would sometimes not kick off the session
- Fixed an issue where dynamic form errors were not clearing upon refresh
- Fixed issue where the url in a cloud session’s support request was incorrect
0.56.4
Released 2023-05-08
Bug Fixes
- Fixed an issue where duplicating a task would not copy over all data
- Fixed an issue that sometimes prevented the onboarding task forms from loading
- Fixed an issue where scripts with the category “Filter Script Deployment Target” and “Metascript Deployment Target” were not automatically selecting the correct execution context
- Fixed an issue where some actions would have incorrect parameters or variables when multiple sessions executed the script at the same time
0.56.3
Released 2023-05-04
Improvements
- Added a note to the ImmyBot Agent installer modal indicating that there’s an issue on Windows 11 22h2 builds that prevent the PPKG from working and added notes on how to resolve it.
Bug Fixes
- Added missed user auditing to certain software, task, and deployment operations
- Fixed an issue with assigning tags while creating a new tenant
- Fixed an issue where schedules targeting a specific maintenance item were picking up onboarding only deployments
- Fixed an issue where some macOS agents were not being excluded
- Fixed an issue where navigating to a computer that did not exist threw a non-404 unexpected error
- Fixed an issue with schedules targeting CW Control groups not being limited to the specified tenant on the schedule
- Fixed an issue with sessions failing when attempting to retrieve bulk software and the bulk software response contains text that is not representable as valid UTF-8
0.56.2
Released 2023-04-27
Improvements
- Updated the alert on the schedule details page when targeting a specific item to state, “Metascript deployment targets are not supported when the schedule is limited to a specific maintenance item because it would require executing a script against every computer in the system.”
- Azure User Sync now excludes external users
- Renamed the “All” tab to “Active” on the computer list page to avoid confusion. “All” implies it should contain “Pending” agents, which it does not.
Bug Fixes
- Fixed an issue where new instances would not be able to use immy agent provider
- Fixed an issue where some business hours were not being computed correctly and the session incorrectly reported that we were within business hours
- Fixed an issue with the computer terminal not maintaining execution when toggling between tabs
- Fixed bug where exceptions that occur while resolving Cw Control remote screen share URLs caused the maintenance session page to not load any data
- Software Post Uninstall phase is now only shown when the software or version has a post uninstall script
0.56.1
Released 2023-04-24
Improvements
- When an agent is identified to a computer that already exists in ImmyBot, we will now automatically select the “Wiped” option if the computer name and OS install date reported by the agent are different than what is reported by the existing computer.
- The ephemeral agent no longer extracts to c:/windows/temp. This alleviates issues around A/V blocking .dlls coming from the temp directory, and also alleviates issues around windows randomly removing required .dlls for the ephemeral agent to run.
- Updated the identification log text that explains why a manual decision is required
- Added the manufacturer name and serial number of an agent in the agent identification logs when resolving a trusted manufacturer
- Added ability to group by target on the deployment list
Bug Fixes
- Fixed issue with tenant tags not resolving deployments
- Fixed issue where cancelling sessions would sometimes cause session to retry some number of times
- Fixed an issue causing new instances immy agent integration to not be properly initialized
- Fixed a bug where alternate providers were not getting disabled when dynamic versions are selected
- Fixed an internal issue where Immy Support Technicians were not allowed access due to existing expired access requests
- Fixed an issue where a pending agent that has the same trusted manufacturer and serial number as an existing computer would sometimes require a manual decision instead of automatically replacing the existing agent
0.56.0
Released 2023-04-17
Tenant and Person tags
Support has been added for Person and Tenant tags.
A tag no longer has a “type”. A tag can be assigned to any person, computer, or tenant.
Deploying a software or maintenance task with a tag target type now resolves computers for the following:
- computers that have the tag
- computers for tenants that have the tag
- primary computers for people who have the tag
Deploying a cloud task can now target tags assigned to tenants, as well as integrations that support client groups.
Now that tags can target tenants, you can create a schedule that targets tags to run a single schedule across multiple tenants.
Tags for tenants can be assigned on the tenant list and tenant details pages.
Tags for persons can be assigned on the person list and person details pages.
ImmyBot Session Support Requests
You can now request support from Immy technicians from maintenance sessions. When requesting support, you can:
- Add details about the issue you are experiencing
- Select whether an Immy technician should be allowed to access your instance
- If selected, there is no need to approve an access request for the Immy tech to log into your instance
- You can disable Immy technician access at any time from the Application Preferences page
- Select whether the session’s logs and computer timeline events should be available in the support ticket
- The logs / timeline events are formatted as a text file and stored in your instance’s blob storage account, and a link to download this file is added to the support ticket
- You can also download this file before submitting the ticket
Global Script Editor
Below are some of the new features in the script editor!
- General VS Code “vibe”
- Open/Close multiple scripts(tabs)
- Go To Definition support for function scripts
- Script Search and Directory Views with result highlighting
- Variable preview based on script execution context, category, and a selected target (computer, tenant, task, software).
- Parameter Form for scripts with param blocks, selected software that have configuration tasks, and selected maintenance tasks that have parameters
- Closing a script tab with unsaved changes alerts you
- Function name/definition view that shows the results of
Get-Help {functionName} -Detailed | Out-String - Basic hotkey support
You can access the script editor from the top navbar or in the sidebar under Library -> Script Editor
Parameter Value View
Sometimes deployment parameters result in an exception when performing the binding. This can happens when the parameter types have been updated but the values have not.
You can now toggle the parameter form to a value view that provides you the ability to remove/reset values that may be causing issues.
Tenant Software
The Tenant Details Page now has a Software tab that displays a grid of software that was detected on endpoint machines and could be matched to software in the global database. The result set is grouped by global software name/ID and sorted descending by total installs (i.e. number of devices that have it installed). Each group has a Deploy button, which will open a new deployment for the software that targets all computers under that tenant.
Other Improvements
- On the Deployment List Page, tenants with missing or deleted tenants will show
Tenant no-longer existsunder tenant column and the entire row will be highlighted red. - The current ImmyBot agent version is now shown on the frontend in the installer modal and in the sidebar’s ImmyBot Agent Download box.
- Added the ImmyBot version in a session log at the start of a session. This will be useful when debugging session-related issues since we can correlate the problems to the version ImmyBot was on when the session ran.
- You can now install the ImmyBot Script Editor as a progressive web app.
- Cleaned up some of the error messages returned by integrations
- Fixed issues with tag deployments not getting applied during an onboarding session
- System scripts that use param blocks will now through an error letting users known that param blocks are only available in metascript and cloudscript contexts.
- Maintenance tasks can now specify function scripts
- Added a session log when attempting to apply a windows patch since there are currently none
- Added a check for whether the computer is online before attempting to apply windows patches
- Get-Hash now supports HMACMD5, HMACSHA256, HMACSHA384, and HMACSHA512
- Added back session list “Completed” count and filter and removed “All”
- Added internal auditing tables for scripts, software, tasks, and deployments. The future plan is to expose an audit trail for these objects so you can see who made changes and when they were made, with the ability to revert changes.
- Moved the tenant tag selector to the edit tab. The tags now show inline next to the tenant’s name
- Made session log database handler more efficient by breaking large updates into smaller queries
- Reduced likelihood of CW Control Integration failing to sync devices.
- The deployment page no longer hangs when attempting to preview/deploy to a large number of computers
- Improved Package Analyzer to handle improper/malformed
content-dispositionheader returned from some file servers, which resulted in a failure to analyze a package. - Expired users can now be un-expired from the edit user form
Wait-ImmyComputer(and thereforRestart-ComputerAndWait) has been improved with a newRebootWithPollingFallbackoption that should help alleviate issues with ImmyBot not detecting when a machine has been rebooted and now back online. This option will periodically poll providers/integrations about machine connectivity status if they haven’t reported target machine as online after an expectedWaitForEventTimeoutperiod.- You can now define multiple functions in a Module script and import them into other scripts using Import-Module
- Maintenance task get/test can now create child actions during detection using the new cmdlet
Add-ImmyMaintenanceActionChild
Bug Fixes
- Fixed an exception in the Sync Azure Users Job that was preventing some person entities from being deleted
- Fixed a bug where integrations would all become unhealthy until ImmyBot restarts when one provider failed to initialize in a timely fashion
- Fixed an issue where a specific unrecoverable ephemeral agent exception was being suppressed
- Fixed an issue with postpone button from scheduled maintenance emails not actually postponing the session in some circumstances
- Fixed unnecessary logging of an exception when an Ephemeral Agent Session was disposed correctly
- Fixed an internal exception with ephemeral agent sessions where we were failing to dispose of the connection timeout callback
- Fixed issue with instances that have large session logs tables having poor database performance and dropping session logs
- Fixed issue with logs displayed on maintenance sessions occasionally showing up unsorted-by-timestamp
- Fixed an issue that was allowing a device to sleep when the ephemeral is connected
- Potentially fixed an issue where sessions would get stuck in the running status after the backend restarted
- Fixed an issue where tasks marked to be ignored would show as compliant instead of ignored on the maintenance session’s action list
- Resolve potential bug with ImmyAgent causing IoTHub issues
- Fixed browser warnings about using variable names starting with $ or _ in setup()
Restart-ComputerAndWaitnow will show agent timeline events in correct order- Fixed issue with gdap customers not showing up when azure permission level is reset from custom to default and custom didn’t have correct permissions
- Fixed an issue with media missing the base url
- Fixed an issue where software deployments don’t report download failures correctly and will continue on.
- Fixed an issue where quick deploying software would not also deploy the configuration task if it had one
- Fixed $using variables on single line scripts
- Fixed an issue where the cross tenant deployment grooup was not sorted at the top of the deployment list page
- Delete existing UserAffinities when new user is set to prevent reverting to old user
0.55.13
Released 2023-04-03
Bug Fixes
- Fixed a regression in 0.55.12 where some business hours checks would report within business hours but the computer would still be rebooted
0.55.12
Released 2023-03-31
Improvements
- Added timespan parameter
-AgentConnectionWaitTimeouttoInvoke-ImmyCommandso you can override the default 5 minute wait time.
Bug Fixes
- Fixed an issue where some session logs were failing to save due to issues sanitizing a script’s param block
- Fixed an issue where deployments targeting an Azure Group were not applying when the computer’s primary user was set during the onboarding stage
- Fixed an issue where executing quick deployments against computers needing onboarding would incorrectly trigger the onboarding stage
- Fixed an issue with the onboarding form’s assignment links not bringing users to the specified assignment
- Fixed an issue where reboots were occurring during business hours than spanned over to the following day. e.g 9am – 4am
- Fixed an issue where the Primary User task was running after Set Computer Name and Domain Join. This was causing computers to not get the correct name when the computer is named after the primary user.
- Fixed a long-standing issue where Immy PPKGs wouldn’t reliably disable sleep/hibernation when the option was checked on some computers. This has been improved.
0.55.11
Released 2023-03-22
Bug Fixes
- Fixed issues with the websocket connection randomly disconnecting when adhoc deploying to a large number of computers
- Fixed an issue with PowerShell Editor Services continually starting and stopping
0.55.10
Released 2023-03-21
Bug Fixes
- Fixed an issue where adhoc deployed sessions would go over the session limit and cause performance issues
- Fixed an issue in the ImmyBot Agent that would cause devices to rapidly send connected messages to the IoTHub, depleting the quota and preventing new devices from registering
0.55.9
Released 2023-03-16
Improvements
- Using the
[Person()]attribute on param block parameters now takes into account the selected tenant on the deployment form and only shows people belonging to the selected tenant. - The computer list page now supports the following query parameters:
filterandincludeDisconnected. This can be used to filter the computer list e.gdemo.immy.bot/computers?filter=desktop-R2D2&includeDisconnected=true
Bug Fixes
- Fixed an issue with hashtable parameter values not working when provided from the deployment
- Fixed an issue with the CW Control device sync
0.55.8
Released 2023-03-15
Improvements
- Improved performance of syncing devices from all integrations. Automate in particular was failing to sync device updates (online/offline statuses).
Bug Fixes
- Fixed a WebSocket exception where we were attempting to close the WebSocket after it was already closed
0.55.7
Released 2023-03-14
Improvements
- Parameters for “Not Present” deployments now show up on the deployment edit page.
- Removed 100 and 1000 page sizes from all tables for performance reasons
Bug Fixes
- Fixed an issue in the azure sync users job that was causing it to fail
- Fixed more issues with the ephemeral agent getting locked up
- Fixed an issue where agent disconnect events would show duplicated in the timeline events table
- Fixed an issue where computers would be moved to needs-onboarding after a new agent connects for an existing online computer
- Fixed issue where newly-installed immy agents would not result in new computers in ImmyBot under some circumstances
0.55.6
Released 2023-03-08
Improvements
- Improved performance of searching the main computer list
- Added a button near maintenance task parameters to copy the parameters as a script param block string. Useful in converting a task to use a script param block
Bug Fixes
- Fixed an issue where identification logs would sometimes not be sorted by date.
- Fixed an issue where we were not considering case-insensitive serial numbers for trusted manufacturers
- Made non-admins able to delete their tenant’s computers
- Made non-admins able to add and remove tags from their tenant’s computers
- Fixed an exception that was occurring where the azure sync was trying to delete people who existed as an Immy user.
- Fix issue with PowerShell formatting of
System.Version
0.55.5
Released 2023-02-28
Improvements
- Improved performance of session counts on session list page
Bug Fixes
- Fixed an exception that was occurring frequently when the ephemeral agent established a websocket connection
- Fixed an internal error that occurred when we add function scripts to the PowerShell InitialSessionState
0.55.4
Released 2023-02-24
Improvements
- A new application preference has been added: “Allow Non-Admins and Non-MSP Users to Use Terminal and Edit Scripts”
- Default: disabled (by default, only MSP Admins will be able to use terminals or edit scripts)
- Added ephemeral agent details under the Computer Details Page -> Agents tab with the ability to kill the active ephemeral agent
Bug Fixes
- The ImmyStarter plan no longer allows maintenance to be run against computers that were added into Immy over 7 days ago.
- Added “Tags” to the default display set returned from
Get-ImmyComputer
0.55.3
Released 2023-02-21
Improvements
- Syncing azure users now deletes people in Immy that no longer exist in Azure (if the person in Immy has the Azure Object Id set).
- You can now upload .msp, .appx, .appxbundle, .msix, and .msixbundle installer files!
Bug Fixes
- Fixed an issue related to N-Central providers executing scripts on machines
0.55.2
Released 2023-02-14
Improvements
- Increased the font-weight of heading text in the light theme for better contrast
- Fixed an issue where some global software and tasks were incorrectly failing due to permission issues.
- Updated dynamic version scripts to show logs even when it is already cached
- Removed maintenance task parameter description from onboarding form unless the parameter is being specified
- Made onboarding task/assignment title bar visible when scrolling down on dynamic parameter panels
- Added ability to manually refresh dynamic parameters on onboarding form
Bug Fixes
- Fixed an issue with loading deployments that targeted people where the deployment wouldn’t allow saving
- Fixed an issue where rerunning a session that contained reran actions would fail unexpectedly
- Fixed an issue with binding malformed uri parameters
0.55.1
Released 2023-02-09
Improvements
- Added batch action to maintenance session list to cancel all incomplete sessions.
- Improved the performance of the integration client’s table. Instances with thousands of clients and tenants should now be able to use this page without running into performance issues.
- Updated the ImmyBot backend from .net 6 to .net 7
Bug Fixes
- Fixed an issue that prevented the maintenance email’s reboot now button from rebooting the computer
- Fixed an issue where some assignments using tags would not be resolved to a computer due to using data from a stale cache
- Fixed an issue CW Control integration where it was not forcing https:// on the url
0.55.0
Released 2023-02-07
Stale Computers
A new “Stale” tab has been added to the Computers List page showing devices that have not had a recent agent connection event. By default, the staleness threshold is 30 days. This value can be configured from the System Preferences page.
This feature can be used to cleanup old computers when you are coming close to the maximum limit for computers.
Dynamic Maintenance Task Parameters (PowerShell Param Blocks)
Maintenance task parameters can now be defined dynamically using a script’s param() and dynamicparam{} block.
PowerShell has a robust parameter definition and validation engine. By leveraging it, we give ourselves features like:
- Parameter Sets
- Regex Validation
- Conditional/Dynamic Parameters
- Dynamic Values
- Type enforcement
When deploying Onboarding tasks, you can define which parameters should be visible to the technician, while hiding others or setting their defaults in the Deployment.
GDAP Support
“GDAP Customer Syncing” option has been added to the Azure settings page. Enabling this option does the following:
- Adds the DelegatedAdminRelationship.Read.All permission to ImmyBot’s default app registration, to allow retrieval of your GDAP customers
- Enables ImmyBot to offer a consent link for each GDAP customer to be synced by ImmyBot
Please see the GDAP Customer Syncing documentation for usage details.
Important! If you are using a custom app registration (also known as the CSP App Registration), your app registration must have a Web redirect URI of https://<your-domain>.immy.bot/consent-callback, replacing <your-domain> appropriately. Please see the updated custom app registration docs for details on how to add the redirect URI
Other Improvements
- Onboarding only maintenance tasks now have an option to “Ignore during automatic onboarding”. This is useful if you have an installer set to automatically onboard the computer and the task requires data that wasn’t able to be provided.
- Improved code around establishing Ephemeral Agent connection & eliminated possible race condition.
- Prepend an “[ImmyBot User]” tag for the username that displays for remote session started from a supported provider.
This makes it clear at a glance who is connected to a machine initiated from an ImmyBot user. - Removed the need for executing suspicious-looking encoded powershell for N-Central integration which would trigger some AV alerts while also moderately decreasing latency to start ephemeral agent.
- When the Immy Agent fails to update during a maintenance session, it will now retry up to 3 times in case it failed due to a transient error
- You can now assign tags to a computer from its Onboarding form
- When we run a script and to establish an ephemeral agent and detect that there are no online agents, we only wait 5 minutes instead of 30 minutes. For integrations like Automate and N-Central and don’t support connectivity changed events, a machine would potentially restart so fast the RMM was unaware, therefore we would wait 30 minutes before realizing the machine was actually online.
- Removed execute and verify progress bars when action is a task monitor, and changed the “detect” progress text to “monitor”.
- Added the ability to change a computer’s primary user from the overview page.
- Improved performance of computer list page when sorting by Date Created
- Added
-IncludeTagsswitch parameter toGet-ImmyComputerthat includes an array of tags containing the tag id and the tag name - Added a date input to the dashboard page to optionally return actions that were executed on or after the specified date
- Added basic health check functionality to all integrations that were missing health checks
- Added a test suite for the NCentral integration to run in our build pipeline to help reduce bugs
- Made the main scripts table use server-side pagination to decrease the amount of data initially transferred to the page. Global scripts are now showing over 3MB combined.
- Added better error messages when we fail to sync users due to permissions issues
- Improved and simplified some internal logic related to permissions in our Metascript cmdlets
Bug Fixes
- Fixed an issue with tag acccess levels not saving the limited tenants selected
- Fixed an issue with metacript exception handling where any error with the category
OperationStoppedwas being treated as terminating exception - Fixed an issue with Uri parameter values being inserted into scripts with type
stringinstead of typeUri - Fixed an issue where the software upload analysis result description had the wrong color making it impossible to read
- Fixed issue on the computer list -> pending tab where massive exceptions were not limited to a reasonable height
- Fixed issues with SQL queries timing out early than intended
Fixed a bug that would prevent users from actually using the N-Central integration with servers that are hosted on a non-standard port. - Fixed an issue where the tenant link on a computer’s overview page had a bunch of whitespace that could be accidentally clicked.
0.54.8
Released 2023-01-17
Bug Fixes
- Fixed a potential deadlock that could cause the ephemeral agent to never connect. Potentially isolated to just devices using CW Automate
- Fixed a potential deadlock in the N-Central integration that could cause Immy to hang up
- Fixed some frontend issues where a maintenance action’s status and reason would not show correctly for certain values
- Fixed an issue where a terminating exception in a custom download script would get swallowed and allow the install to continue anyway