I got it working on a test VM (haven't tested the ...
# fleet
m
I got it working on a test VM (haven't tested the live systems again), but now the question is why it isn't showing up in controls. Is this because I'm on free and don't have teams? 🤔
Hmm...so the
host_mdm
table is populated...but it looks like
host_mdm_windows_profiles
is empty. I've never looked at the codebase so going in semi blind here.
wait...is it because there's no profiles at all?
yeah...it was because there was no profile. This should be, IMO, more clearly communicated on the UI. Even if it's a simple box of "hey, you have no profiles. these counts will appear when one is applied, here's an example one" or something. Also, would love a way to see why profiles fail to apply on the UI. There was no clear indication on why it failed. Heck there's no indication on why my hosts are stuck in verifying at the moment after like 10 minutes
👀 1
u
Hi Matt,Thanks for your feedback, and I'm glad you managed to figure out what was going on.Providing an exact failure for a configuration profile is interesting, but could be tricky. The underlying MDM protocol doesn't always return a full reason for the failure. Often just an error code.As you were working with Windows MDM, I'll stick to that as an example. If a config profile has failed, you'll be able to see that from the Controls > OS Settings page. Clicking on the failed count will show you the hosts it's failed on, which you can select and go to.Once you're on a host details page, you'll see the status. Selecting that will give you the overview box, and any failures will have returned an error code. Only have a verified example for now, sorry! A common one for Windows is 400: (Bad request. The requested command couldn't be performed because of malformed syntax.) You can then look up the relevant failure code for the platform: https://learn.microsoft.com/en-us/windows/client-management/oma-dm-protocol-support#syncml-response-status-codesThe stuck verifying is an odd one. This means that Fleet has sent in the command, but is waiting for confirmation. If the host doesn't acknowledge, or the verification fails, it's possible it could remain in verifying. We are aware of some oddities for profiles that generally use the chr format: https://github.com/fleetdm/fleet/issues/33731 - Sometimes you have to adjust the formatting of the data to get it to behave. I hope that makes sense and clears up a way to see how and why a profile failed from the UI. If you'd like to see changes to the UI, we'd welcome a feature request: https://github.com/fleetdm/fleet/issuesPlease let me know if you have any more questions! Gray
u
m
Hey Grey, what you're saying makes sense thus far. This is my first dive into MDM so I can definitely understand limitations from the system. For the host status, are you implying that the "Status: Online" should be clickable? Since I'm stuck in verifying I may be missing a couple clickable items. Should clarify that I'm selfhosting and on the free version, would love to get the premium but just can't justify the cost for it as it's for a small business that just happens to need like 4 machines so minimum $28 is a bit steep for that at the moment haha. As for the verifying I'm also a bit confused on it, to test it I took a subset rule from https://fleetdm.com/example-windows-profile Which was:
Copy code
<Replace>
  <!-- Enforce screenlock after 15 minutes -->
  <Item>
    <Meta>
      <Format xmlns="syncml:metinf">int</Format>
    </Meta>
    <Target>
      <LocURI>./Device/Vendor/MSFT/Policy/Config/DeviceLock/MaxInactivityTimeDeviceLock</LocURI>
    </Target>
    <Data>15</Data>
  </Item>
</Replace>
and even right now, they're all still verifying. I was using this as a test case so I could dive more into them.
👀 1
g
Hey Matt, just in another call right now. I'll take a look at that profile on my test instance as soon as I'm done! 🙂
m
No rush at all! It's free support on a free user, any help at all if always appreciated. I'll be more than happy to provide anything you need. I'm semi-technical and have full access to the underlying instance (I was just attachedto the MySQL docker container querying the tables trying to see what was going on).
Just thinking about this and noticing that most things look like they require minimum Pro...I believe these systems, at the moment, are running Windows 10 Home (I'm slowly getting the business in full compliance with Pro, but again...the cost is insane)
g
Sorry, should have been clearer about where to click! On the host details page, you'll see this part says Pending/Verifying/Verified/Failed. Click on that will give you a few more details if it's failed. Like the error code. Ah yes, many things to deploy config profiles require at least Pro. The cost really can add up with all the licensing! You can always grab yourself a Pro ISO from https://www.microsoft.com/en-gb/software-download/windows11 to actually test the profiles work 🙂
And yes, it looks like that applies and verifies on Pro as expected. You can also check in Event Viewer (Run as Admin) to see if things are being applied. Applications and Services Logs > Microsoft > Windows > DeviceManagement-Enterprise-Diagnostics-Provider > Admin That will show you all the info/errors.
m
I'm coming back to this now, @Gray Williams would you care to share which version of FleetDM you're using? Mine does not look like that.
My verison:
Fleet 4.75.1 • Go go1.25.1
👍 1
Using Docker image: https://hub.docker.com/r/fleetdm/fleet, latest tag.
this is what mine looks like
also to share, this is what it looks like for one of the devices as well
however as you can see, it's still under verifying. For context I'm EST so it's 8:35am for me at the moment which means it's been "verifying" for 5.5 hours.
looks like OS Settings is a premium option...
I guess at this point the question is...is that supposed to be a premium option? It feels like it should be part of the free as it's an extension of the free OS configuration profiles.
The information exists already and is returned, so not sure why it's locked behind premium tier on front end when it doesn't appear that there's any premium restrictions on it
Just confirmed, at least to my understanding, that there's no premium checks anywhere.
❤️ 1
Back to the semi-original issue about verified...a host restarted and flipped to verified
g
Thanks for doing that Matt. My test instance does indeed have premium enabled. I'll see if I can spin up another one and reproduce what you're seeing. I'll keep an eye on the issue, too.
m
Sounds good, thank you for all your help Gray! wouldn't have found the bug if it wasn't for you! Went ahead and added a PR too: https://github.com/fleetdm/fleet/pull/34808
🙌 1