Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Joe.McCall last won the day on May 12

Joe.McCall had the most liked content!

Community Reputation

13 Good

My Information

  • Agent Count
    Less than 100

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. It went through fine without the quotes on MaraiDB, but I noticed it highlighted in SQLyog so I figured I would mention it, in case there are potential issues with other mySQL versions.
  2. Insert INTO groupagents ( GroupdID ,SearchID ,Name The SQL statement has a typo on GroupID. Might also be good to add quotes around the Name column (`Name`).
  3. Run this as a shell command in your script (do not use Shell as Admin, as any "as Admin" command runs without elevated permissions if UAC is enabled). @powershell -NoProfile -ExecutionPolicy bypass -Command "(iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))) >$null 2>&1" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
  4. https://developers.hp.com/hp-product-warranty/forum/api-down Just a heads up, if you hadn't already noticed that HP warranty information was not updating, the warranty API is still offline for "retooling" (apparently since April 9).
  5. Probe templates out of sync is a known issue, it will basically always show that for any of the built-in templates once you start adding your own (ie, adding new routers/switches/etc under the existing device templates tree). Aside from some printers, most of the devices we manage had to be added via custom templates.
  6. Message LIKE '%Group Name:Administrators%' AND Message NOT LIKE '%Account Name:%$%' You will need wildcards to match on something inside the string. Testing against my db, the log entries I have are all computer accounts, so the NOT LIKE filters those out.
  7. Ran this patch on Tuesday and had no issues until today. Had all logins start failing abruptly this afternoon and had to reboot the Automate server to get back in.
  8. Attached an updated version of my BIOS update script. It uses a PowerShell function to locate the BIOS update executable instead of relying on fixed path variables, which will resolve issues with various models that unpack with different folder structures. HP SDM - BIOS Update.xml
  9. https://developer.connectwise.com/Products/Manage/Developer_Guide/Authentication This part of the site has the info. You need to setup an API member in Manage. There’s a global parameter in the script that runs the API update for the base64 authentication string. It has a dummy value right now, hence the error.
  10. I run a modified version of the script from this thread nightly. It executes the warranty update portion on the Automate side, then calls a function script to recurse through all computers that are missing the "Warranty Updated in Manage" EDF check. For each found computer, it executes a second function script to perform the actual API update call to push the information into Manage. You can use this method to push to other configs as well (think network devices!). The HP warranty lookup function works for printers as well as computers, with a little bit of tweaking and customization. CWA - SQL Function - Update Computer WarrantyExpiration in Manage.xml CWA - SQL Function - Update WarrantyExpiration in Manage.xml
  11. The command is listed there, with the correct ID and whatnot. That seems to be generated automatically when the plugin is installed or the dbagent restarted. However, looking at that table pointed me in the right direction as the commands listed there did not match the commands showing in the Control Center. The Control Center description has to be manually entered into the remotecommands table.
  12. To elaborate further, I have a remote agent command (ISvcCommand) defined in a remote agent plugin like this: public class RemoteCommands : ISvcCommand { private IServiceHost4 serviceHost; public int CommandNumber { get { return 50100; } } public void Decommision() { } public string ExecuteCommand(string parameters, ref int errorLevel) { string output="Placeholder."; return output; } public void Initialize(LabTech.Interfaces.IServiceHost2 host) { serviceHost = (IServiceHost4)host; } public object MessageFromTray(int consoleNumber, object parameters) { return null; } public string Name { get { return "Custom Remote Command"; } } } And I have an IControlCommand defined in a separate control center plugin like this: public class ControlCommand : IControlCommand { private IControlCenter _host; public int CommandNumber { get { return 50100; } } public string Name { get { return "Custom Remote Command"; } } public void Decommision() { this._host = (IControlCenter)null; } public void Initialize(IControlCenter host) { this._host = host; } } But I only ever get this in the Commands window: So I am trying to figure out if I am missing some kind of definition or declaration somewhere in the code that will translate the command name through correctly to the Control Center when the command is run.
  13. I run that in an Automate script using the Execute Script function. IIRC, you can register for your API auth key/find out where to get it via (https://developer.connectwise.com) I use EDF's to track computers that have had their warranty information updated in Manage and run a nightly maintenance script that loops through the computers, gathers the Manage ID from the plugin table, then runs the powershell via a function script to push the warranty information via the API. Anything that is synced to Manage (Network Devices!) can be updated in similar fashion, as you will have the Manage ID in the associated plugin table on your Automate server.
  14. I went through this with support a few months back and the official word is that the Expiration field can't be synced. You can however update it via the Manage API directly. $BaseUri = "https://@ManageURL@/v4_6_release/apis/3.0/company/configurations/@ManageId@" $ContentType = "application/json" $Headers=@{ "Authorization"="Basic @APIKey@" } $action = @" [ { "op": "replace", "path": "/warrantyExpirationDate", "value": "@WarrantyEndDate@" } ] "@ try{ $JSONResponse = Invoke-RestMethod -URI $BaseURI -Headers $Headers -Body $action -ContentType $ContentType -Method Patch -ErrorAction Stop Write-Host "Successfully updated warranty end date to" $JSONResponse.warrantyExpirationDate }catch{ write-host "Something went wrong." $_.Exception.Message }
  15. I have a working custom remote command that always shows as "Unknown Command" in the Command tab. I was assuming that the Name public string for the class would be what returned in the results, but it appears that is not the case or I am doing something incorrectly. The plugin is based off the "Custom Remote Agent Commands" example. It's working otherwise, but it bugs me that it's not displaying the command name correctly. Any ideas?
  • Create New...