Very happy to have everybody here. Once again, your time is greatly appreciated. You’re all super awesome. Thanks for being here. Today, we’re gonna talk about DDM and what’s involved when we’re utilizing DDM primarily for updates. Right? As this is gonna be the primary mechanism for update management that Apple will be using moving forward. But before we get into DDM, prior to DDM, right, what was the main mechanism used for updating machines? It was MDM. However, starting with Mac OS twenty six, most legacy MDM commands are being deprecated. Right? And in a second, I’ll show you there’s two profiles here that will be deprecated soon or, well, we should anticipate a deprecation occurring for that transition from an MDM method of updating to a DDM method of updating. Right? If you see here let me pause this, go into my environment. Updates, zooming in on MDM updates, you’ll notice there is a blue tab here highlighting the operating systems that this is currently available for. As you notice, it’s up until macOS thirteen, which is around when DDM was introduced. However, DDM was introduced as an update mechanism in macOS fourteen, Sonoma. Right? Most of us now are probably either on fifteen or maybe even the current OS, which is twenty six. So at this point in time, this section here shouldn’t be considered very relevant for your day to day. Again, we highlight here what specific operating systems, this is going to apply for. Right? And I’ll describe what the mechanism how it worked here in a moment. But first, just showing you where in the platform we still have MDM updates occurring. Again, you have it here. If you’re still managing machines on these, OSes, such as OS Mac OS twelve or thirteen, you would utilize this section here. Zooming out. If I click on device settings, new. We cover device settings in our training. Right? One of the first profiles I usually highlight is restrictions. You’re gonna notice, though, in restrictions, software updates deprecated deprecated deprecated. Right? Most items that are MDM, that are tied to the MDM method of updating our our machines will be deprecated moving forward. Next profile to highlight, software update. Now, currently, this still should work, right, if I call this here, you know, just, let’s see, May software update. And I select these options here. At this point, we should know how the device settings profile works. Right? We are enforcing that particular setting on the machine. It’s a managed setting. This still works, but anticipate this particular profile here not working in the future. Right? Because it’s still relying upon the way MDM method of updating our machines as opposed to DDM. With DDM, strictly, we have two options. The updates tab here, which I’ll review here in a moment, and then a blocker software, which I’ll talk about here in a second as well. Let’s go back to the slides. Right? So that’s the main reason why we highlight this. Most folks need to understand that when it comes to updating our machines, we’re gonna be relying upon upon DDM, declarative device management. Sorry. Let me, full screen that. Screenshots that we see at the top right, that section in Addigy that’s highlighted, and at the bottom is Apple documentation that, explicitly shows that these are gonna be deprecated starting with Mac OS twenty six. So as I just mentioned, right, the software updates device settings profile is currently not deprecated and should still function as expected, but admins should begin preparing for its eventual replacement. Okay? If you want to still use it in a DDM context, you have certain settings in that updates tab that you can adjust, which we’ll take a look at here in a moment. It’s the same settings that you would see in this profile. However, if you choose to apply those settings, you won’t have the ability to do things like version control, enforce specific, enforce the update at a specific time. Basically, the settings that you create here, right, in this bottom screenshot, and I will see what it looks like in the Addigy platform, is gonna determine what instructions the machine will follow. And that’s one of the things to one of the key distinctions to highlight between how MDM updates your machine versus DDM updating your machine. Right? Before we actually highlight that’s the difference, what do you need to actually have access to DDM? Well, again, it started in macOS thirteen. Actually, DDM, there were some options available, I think, with macOS thirteen, but the the update mechanism, right, the way deploying a p list, which we’re gonna talk about here in a moment, that started in macOS fourteen Sonoma. Right? And it’s currently now for macOS twenty six, Tahoe, and macOS fifteen. You need iOS or iPad seventeen. Machine doesn’t need to be supervised. And the user, if you’re on Mac OS, can be a standard user unless specified otherwise, which I’ll show you the setting here in a moment. Enrollments. It could be a manually enrolled machine or a machine that you’re enrolling using Apple Business. If you are using a machine in either one of those enrollments, you have DDM available to you. Really, DDM won’t be available to older operating systems. Okay? But if you’re a new newer operating system, if you’re primarily managing app machines on Apple silicon, chances are you should be good to go when it comes to DDM enforcement. So here’s my terribly generated image here for what the distinction is between MDM versus DDM. You see with MDM, it was an in sync type of update. What does that mean? That means that the machine and the u the the MDM server and the machine had to be in sync at the time of the update. Using this analogy we see here, I use a a very this delivery analogy. Right? With MDM, you had to be home at the time of delivery. And as we all know, if any of us dealt with that, that could lead to some issues. We may miss the person knocking on the door. Right? That is what the MDM method of enrollment is. You consenting to the update arriving at your machine. You being home at the time of the delivery. This can cause potential issues if you’re not home, if maybe you’re in the restroom. Right? We’ve all been there. We maybe have missed the delivery or two. It could be a little bit of a frustrating experience. And that was kind of what the experience was like with MDM. Right? We would have a schedule. It would it would prompt the machine, but the user was nowhere near the machine, so they missed the update, and it caused a lot of issues. Right? Anyone that managed updates via MDM knows exactly what they dealt with at that time. DDM aims to approach things a little bit differently. Using my package analogy here, instead of you having to be arrested to the house and wait, aka sit on your machine and wait, right, instead of having to do that, what DDM is is us saying, hey. Here’s the package of instructions that we are deploying to your machine. It’s asynchronous, not in sync. It’s asynchronous. So it’s the equivalent to, like, leaving a package at your door. And when you’re ready, right, you can either, a, open it now, or, b, we can wait for it to open on a specific date. Okay? This box in the image that we see here, in the technical form, what it is is it’s a property list. It’s a p list that’s created, and this p list tells our machine instructions that we need to abide by. And that’s essentially the DDM approach to managing updates on our machine. We deploy the package, and now you either, a, open it now because, you you know, you’re you’re good to go, or, b, you wait until the time that it’s supposed to execute. And in a moment, we’ll see here when it’s supposed to execute, etcetera, and how do we set those dates. So what are some things for us to consider when we’re working with macOS DDM updates? MacOS may force close applications and restart at the deadline. That’s why when you set a schedule, ideally, we’re doing this outside of work hours. So we’re not doing this five p or, you know, two PM, three PM in the afternoon, maybe ten ten at night, eight at night, sometimes outside of working hours. Right? Otherwise, at that forced restall, excuse me, at that forced restart, if the machine is being charged and it’s on, it will apply that update. Users will receive notifications. So if you look on the right hand side, the notification that the user gets is gonna look similar to, a native macOS notification. It it’s just that it says managed update, and it’ll tell you what dates this update’s gonna kick off. Just like the package. The package doesn’t have to open right now. The package can open August tenth twenty twenty six at five PM. So either, a, I do it now when it’s better for me, or, b, I wait till that specific date. But keep in mind, devices do require Internet connectivity. They have to be charged in sufficient battery power, And, of course, there needs to be available storage. As the last bullet imply shows there, best practice is to schedule updates during your off hours. Right? We don’t want to disrupt users. So if I go back into Addigy here Addigy. Updates. This is the main place that you go to start managing those updates. Right? DDM, zooming in. Maximum version allowed is the max version that we deploy via Addigy. So in this here, it’s twelve point five, which is pretty old. But if I set this to, let’s say, fifteen point zero, what’s happening here? Addigy will not push or deploy anything past version fifteen point zero. This doesn’t mean, however, that the end user can go, can get past this version. The end user locally can still get to twenty six. Right? This doesn’t halt the machine at at fifteen. This just stops Addigy from trying to upgrade the machine to fifth to, anything past fifteen. But the end user, if they’re savvy enough, they can get to the next operating system. Okay? And that’s where you have the blocker software to prevent that from happening. So if you want to stay on fifteen and you don’t want users to get to the next operating system, which currently now is twenty six, what do we do? Prebuilt apps or excuse me. First, software, prebuilt apps, and I’ll just type block. And here I have several, operating systems I can block. Again, currently, it’s twenty six. Anticipate sometime in the next couple months, there should be a blocker here for twenty seven. And what happens is you deploy the blocker. This blocker is running a very specific utility called p block. And what the p block does is it prevents the upgrade from actually occurring. So it might land on the machine. Right? There’s p block right here. It may land on the machine, but it should not upgrade to the next operating system. Okay? That is the the the goal here of the blocker as the name implies. However, if you’re ready to keep machines up to date to the latest OS, you would select the option, keep devices updated to the latest OS. Again, strictly DDM, we can skip this part here as this is not relevant to my machines that are currently on fifteen and twenty six. Now we set a declaration. Right? In the screenshot in the screenshot we saw just a moment ago, this this notification this notification, right, is created based on the instructions you’ve set here. This is one of the things that commonly confuse some admins is this date here. What what what is this date tied to? This force install is based on when the update was released. It is not based on when you set the setting. So I have it here. I admins I see keep it at a range of about, like, one through ten. They keep it very low. And the reason why is because if you have this at ninety, which is the max default value, what happens? Well, let’s say an update releases today, twenty six point six released today. Right? The force install is gonna be ninety days from today. But let’s say Apple releases twenty six point seven, June first. Guess what? That gets pushed back now. So now it’s ninety days from June first that that update’s actually going to occur. So if you put it at ninety, you’re risking that update just constantly getting pushed back. Right? Constantly getting pushed back because, again, it’s from when the update released and not from when you actually set the or configured this particular setting. And then if you scroll down below right. I’ll just keep this here at ninety midnight. Again, best practice outside of work hours. We don’t wanna do this, like, nine AM, ten AM. Right? You may disrupt you’re you’re more than likely gonna disrupt your users. You have a schedule of when the enforcement will occur. So even if it passed the threshold and it’s a Saturday, the and Sunday in this case, we don’t we shouldn’t expect any enforcement because I don’t have it selected here. Right? So, again, let’s say ninety days hit Saturday and my Saturday is blank, nothing happens Saturday. Nothing happens Sunday. We’re gonna try to force the install Monday at midnight. And, again, the end user will see a a notification that’ll explicitly show them the date and time of this upgrade. Now if you scroll down a little oh, you again, you can also avoid updates from a specific time. Let’s say next Monday is Memorial Day. I can just select May twenty fifth to May twenty fifth. Right? I don’t anticipate anyone being at work next Monday because of Memorial Day, so I’m gonna avoid updates on that particular date. And then if you want, you can add an additional support article, right, to that particular update. Scrolling down. Now this can change how that the p list that’s created, what what’s actually involved. So if you wanna get more granular with your DDM upgrades, you have these options here such as increasing the amount of notifications the end user gets, setting it explicitly so that only an admin can do this. If you have this disabled by default, either admin or standard can do it. Neither option should be there should be not an issue. Okay? Managing background security improvement settings, enabling it. But if you scroll down, you’ll see we have a bit, a a an like, a little, sorry, prompt here. Enabling the settings will cause macOS fifteen plus, that means fifteen and twenty six, to stop using scheduled updates, enabling automatic actions perform updates via the AI. So if you wanna put a little bit more of the burden on the shoulders of sort of the end user, right, you can do so, But it changes the way that p list is configured. Right? There’s gonna be certain keys we’re gonna look for here in a bit so we know what date that update lands on. And in advanced settings is for beta. Right? If you’re in case you’re interested in pushing any, available beta updates, which in this case, I don’t have any available. K? And then lastly, if you wanna configure these items here to be automatically installed. Once you have this configured and the moment you hit save, you’ve created a property list. You’ve created a p list. Let’s go back to the slides a second, though, before I get ahead of myself. So we just saw for macOS. Right? I I went through the list here. I selected some options that we have here. Right? What this is is it’s adding keys with certain values in these keys into that particular property list, and then we save it. Property list has been created. That package, so to speak, has landed on the machine. Before I move on, iOS works pretty much similarly, but it’s not a p list that deploys. But it’s the same exact workflow. Right? You essentially set the instructions here. You set a schedule. When do you want this update to occur? What day do you want to avoid the updates? Again, let’s say next week, Memorial Day. Do I wanna add any additional layers of updates such as prompting you know, increasing notifications? Do I wanna manage background security improvement settings? In this case, I’ll just select all these, and I’ll go ahead and hit save. Same thing has happened on iOS. I set my instructions, and in iOS oops. Let me go to iOS. In iOS, looks very similar to macOS. If you look on the right hand side, the on the right hand side is the perspective of a user on an iOS machine. What do they see? Your organization has decided to update your device to iOS twenty six point five. You can choose to update now, or it will update automatically on eight ten twenty twenty six, twelve AM. What’s eight ten? How do I know what eight ten is? Eight ten is August tenth. It’s ninety days from when the last release happened. So twenty six point five released, ninety days from that release lands on, August tenth twenty twenty six at twelve AM. Same same prompt, shows up for macOS as well. Your organization requires an update to macOS twenty six point five. You can choose to update now, or your device will restart an update on August tenth at twelve AM. Right? So, again, kind of like that package. You can maybe you’re you know, you got home from work. You’re too tired to deal with it right now. I’ll deal with it tomorrow morning. Wake up tomorrow morning, you know, right before work, push out the update. Or after work, push out the update. Or just be lazy, not you know, just miss out on the update and then let it, let it occur on that specific date in this time here, August tenth twenty twenty six. The idea is still the same. It’s asynchronous. You’re sending instructions to the machine. It doesn’t, in in terms of iOS, it does not have to be supervised. And with macOS, standard users can do this too unless you’ve explicitly stated otherwise. K? If I go back into Addigy for a second, if I look at macOS scroll down just a second. Users performing major updates. If you enable this, then that means standard and admin can do it. If you disable it, only admins. If this setting is never selected, then by default, standard can can update with DDM. No problem. Right? They’ll go into system settings. They’ll click it. It’ll appear. They type in their credentials, and they’re good. Okay? Go live. If I go to my machine, tech check out my machine here, right, I have a few things I can look at. First, my pending update here. Pending update. It’s pending an update to twenty six point five, but this here is different from what we see in updates here. You see, this here is primarily tied to that DDM P list. We’ll take a look at here in a moment. Whereas this updates here is using the collector. Right? If you’ve been through our training, we’ve spoken about this before. The collector is collecting available updates. However, it’s using, an MDM mechanism to do so, not DDM. So this updates here is not the same as this pending update here. This is more for your incremental updates. Your DDM will appear here where we see pending update as highlighted in the screenshot here. Alright? Pending updates, twenty six point five. Updates uses the collector, which is not actually tied to DDM. Just to get in case you get confused, you’re like, why is twenty six showing here, but it’s not showing up in the updates? Because it’s different things that we’re looking at. And as I mentioned, again, if you want to hold users on a specific operating system before they get to twenty six or later this year, twenty seven, you’re gonna deploy this blocker software from prebuilt apps. With with this blocker software deployed, right, that essentially ensures that the users are gonna remain on the previous OS. In this case, previous to twenty six is fifteen. And, again, later on this year, anticipate twenty seven, etcetera. K? Slow down a little bit. Hopefully, I’m not going too fast. So we spoke about MDM, what it does, how the MDM mechanism works. We spoke about how DDM works and the distinction between the two. We mentioned again what it looks like for the end user from the end user’s perspective, but let’s also see a little bit more. Let’s dive a little bit just slightly deeper. I’m not gonna go out the scope of the call, but just to dive just a little bit deeper into what DDM is. K? If you give me a second here, there is a poll. Let me go ahead. Sorry. There was a poll to launch, and I’ll start launching the poll here. So feel free to go ahead and answer the poll. There’s a couple of questions. Very straightforward questions, just the way to keep you a little you know, just interactivity, and then we’ll move forward. Alright. Cool. Exactly. DDM, declarative device management. I’m going to assume the folks that selected the other options are probably trolling me. Right? No. I’m kidding. Declarative device management. We declare. Right? We send the instructions to the machine, and then machine reacts upon those instructions. DDM, declarative device management. We’ll start another poll. One more before I move forward. Let me share the results for poll one, and then let’s go to poll two, launch poll two. And I I’m not super familiar with the poll feature here, so just give me a moment. Alright? Alright, folks. Feel free to answer the poll. Which macOS versions begins legacy MDM software update commands? The answer is give it another moment. I see a couple answers. Mac OS twenty six. Right? It’s twenty six, the current OS, where we current where where, where the deprecation begins. Right? It’s not a full deprecation yet, but it’s now the deprecation has begun. Right? So now anticipate in twenty seven, probably a full deprecation. Right? That’s why you don’t explicitly see it say fully deprecated. We say starts to deprecate. And and MDM starts to really deprecate in the current OS, which is twenty six. Alright? Let’s do one more poll before I move into the last part of this the the the, presentation here. Last poll. What is the minimum macOS version? Now remember, the question’s different. Previous question is when does MDM get deprecated? Right? The this question is when were you able to start using these DDM updates? Thanks so much for your participation, by the way, guys. Thank you a lot. So lots of different items here. The answer is I’ll give it another second or two. Drum roll, please. MacOS fourteen Sonoma. Right? Remember, if I look here in my updates tab, if I go to my location, updates, macOS, It still works for twelve. It still works for thirteen. DDM really begins in macOS fourteen Sonoma. K? Thanks so much for your participation. There’s still three more questions. We’ll go over that after these quick slides here. So DDM, like I mentioned, it’s creating what’s called a property list. Property lists is not, like, code or scripts that are executing on your machine. What property lists do is they store information for your machine to review and abide by whatever that information is, whether they’re you know, in this case, they’d be instructions. The screenshot here is just an example of what you would see when it comes to plists. Again, it’s out the scope of this call for us to dive deeper into plists. K? But it’s a property list. Inside of each of these, there’s keys and values associated with those keys. In the form of a p and excuse me. In the form of DDM, in the context of DDM, DDM creates a PLIST too, and it lands in a very particular directory. And inside of this PLIST, we’ll see that there are two keys in particular that we can create custom facts out of. Target local date time, target OS version. This is gonna show us what date is that update gonna occur and what version is it gonna land on. And then we can have a third custom fact too just to see if the p list exists. P list number one, just checking to see if it exists. What do we see? We see our P list variable. We see the value that’s assigned to that variable. And what is this value? This is the oops. This is the actual P list itself. I’ll type it’s located in VAR DB software update software update DDM state persistence. Right? It is created the moment you hit save on updates is when this gets created. A question I’ve been asked in training before. Right? What if a user goes in there and deletes it? When you reboot the machine, right, when you reboot the machine, it will appear again. Right? So let’s say user is savvy enough to come in here and get rid of it. On the reboot, it’ll just reappear. Right? But there’s our p list. And what you can use again, try not to go out of the scope of the call. You could use a native utility, for reading these p lists called defaults. And before we execute anything, we observe first. We identify and then execute. So we can do defaults read first before we think about things like defaults write, etcetera. So I’ll just do defaults read, VAR DB software update. And there’s our p list. There are our keys that we can use, important keys. Again, we have other keys as well. Notice some keys set to zero, one. This means true or false. Did you enable the key? Did you disable the key? For p for DDM’s sake, these are two very relevant keys. Target local date time, target OS version. First custom fact. What do we do? We look at that p list, and all we’re doing is echoing true or false. Boolean. Is the is the is the p list on our machine? Cool. Custom fact number two, and I’ll show you what the output is here in a moment. Custom fact number two, we’re taking the target local date time. Right? And, again, I know what the questions are gonna be now. Can you paste this in the chat? Can you place this in the chat? I think it’s already if it’s not in the chat, I’ll show you here once we get to once we see it live. I’ll paste the I’ll I’ll send it in the chat here once we get live. Target local date time. Remember what I mentioned earlier. Right? I mentioned that if I go to my policy and I go to updates and I set this year to ninety, right, I do ninety. Great. But then Manny comes into my environment or Iggy comes into my environment. They’re like, what day is this? I don’t what day is this ninety supposed to land on? Make life easier for the both of them by creating this custom fact. So that next time Iggy or Manny come into my environment and they see ninety, what they’ll also see is that what date that ninety is supposed to land on, and that’s the importance of this custom fact. And then custom fact number three, the version it’s gonna land on, the target OS version. Right? We have a p list variable. We’re looking at a specific key. We’re using defaults read to identify that key and then output it for us. And with these custom facts created, it should look like the following. Devices page, all devices. I’m gonna just type here DDM. DDM. DDM. DDM. And take a look at what I have here. DDM check for p list. Boolean, it’s returning a green dot. You could have it returning a string if you want to. So let me show you what the actual custom fact looks like. Catalog, custom facts. Let me just type EDM. Let’s do check for p list. Again, I already know what the question is. Can you paste this in the chat? Here you go, guys. I have this in the chat in case anyone needs it. Right? P list. We’re looking at that p list. Underneath that, we have an if statement just to see if it’s true or false. Notice the return type. It’s a Boolean. That’s why I’m getting that green dot. If I had this as a string, I would get literally the word true. Same outputs, same exact output. Maybe you prefer seeing the word true versus the the color green. At that point, more power to you. Right? If you rather see string, then you you would just see a true as opposed to green dot. More power to you. Target local date time. Look at that. August tenth twenty twenty six at midnight. So when Iggy or Manny come into my environment, they don’t have to, you know, be like, what what day is that ninety landing on? They could just come here and see, okay. It’s gonna land on August tenth. And if, again, if an update releases, let’s say, this Friday, guess what? This is gonna get pushed back a little bit. This will go from August tenth to, like, I don’t know, August fifteenth or something. Right? And then lastly, the target OS version. What version is this going to land on? So let me go back to, catalog, custom fax. Right? DDM, we check for the p list. We check for the target local date time, and we check for the target OS version. One more thing I wanna highlight too so you don’t make a mistake here. Let me paste this here in the chat. This is for the target local date time, and then I’ll go and post it for the target OS version. The mistake you want to avoid with these custom facts, it’s selecting the incorrect return type. So we have three custom facts. Custom fact number one, Boolean, meaning true, false. That’s it. True or false. Custom fact number two, a string. Right? Date and time. That’s a string. Custom fact number three, also, you can have it as a string, and that would be twenty six point five. Why? Because it’s within these commas. If you select the wrong return type, you might run into an issue. Right? So the correct return types are gonna be Boolean, string, and string. Let’s say you picked the wrong return type by accident. If you picked the wrong return type by accident, check this out. Alright? I have checked for p list using Boolean. I got a green dot. Great. Life’s good. Right? If I do check for p list number uh-oh. I got an error. So if any of you guys if you go into and this even for any of your other custom facts, if you were to look into your environment right now and you see errors like this for your custom fact, chances are you have the incorrect return type. Your your script expects boolean, but you’re, you know, you’re you’re outputting string. Or, you know, your your script expects true false, and you’re outputting a number. Oh, you can’t copy the text in the chat? That’s not that’s not good. Maybe we could talk about perhaps providing this to you guys later on. I don’t know. I thought that you guys could copy it from the chat. I apologize. Okay. I think Zoom doesn’t allow it. Should probably get the yeah. We can probably add these into the community scripts. I usually add it in Zoom in the training and folks are able to take it up. But, yeah, we could probably just do a KB article. All good. Alright, folks. So DDM. Right? Let’s go back here a second. Three custom facts. Custom fact one, check for the p list. Custom fact two, check the target local date time. Custom fact three, check the target OS version. And with these custom facts, we can get a little bit versatile with how we’re approaching things. We can use these custom facts in device tables. We can use these custom facts as flex policies. Right? We can filter in our flex policy. We can use these in our alerts as well in monitoring. But the the takeaway as well is when you walk away today, I want you to think to yourself, what are other key lists I may want to perhaps create a custom fact out of? We saw the DDM target local date time and target OS time keys. What are other p lists and other keys that I might find relevant? And that’s kind of what I wanna leave with today. Right? Think about other potential p list you might want to review. Other keys within these p list you might want to extract information from, and you can use that as your cost as custom facts. But in regards to DDM, right, summarizing what we covered today, DDM, asynchronous form of managing the updates. Right? We send instructions to the machine. Machine abides by those instructions. Right? Either the user can do things now, slideshow. Either the user can do it now, maybe tomorrow when it’s more convenient, or they can wait till August tenth twenty twenty six at five PM or twelve PM or whatever date that you’ve set on that DDM. The moment you set your DDM updates and hit save, you’ve created that property list, that p list, that set of instructions that your machine is going to abide by. And that is the key distinction between this and MDM. Right? Whereas, again, keyword asynchronous. User has the ability to do things to do it at their own time of convenience. They don’t have to wait for a specific MDM server command to hit at a specific time. Right? Folks, let me look at guess I’ll take a look at the chat real quick. But I think that essentially covers today’s lesson. Again, familiar if you’re not I’m sure there’s plenty of experts in here. I know. But if you’re not familiar with, you know, commands like defaults, read, familiarize yourself more. Read through PLIST before you write. Don’t write anything. We don’t wanna make changes and execute. We wanna identify first. Right? And you can use the false read for doing so. K? Let’s do our last polls, and then we’ll go ahead and end today’s session. So poll number four. Alright. We have very two options. Fifty fifty. Where does this actual p list land? This property list is gonna land somewhere in particular, very specifically. It’s not in the user’s directory. So I kinda just gave you the answer there. Right? It you have two types of plists. You have your system level plists that’s gonna apply to your machines, and you have user level plists, like the user’s doc, for example. So there is a separation of of plists. This plist in particular is more of a system level plist. Right? Because it’s managing the update of the machine. Alright, folks. So, yes, correct answer is oh, let me share results. Correct answer is lot, actually, the correct it’s not library preferences. It’s just VAR DB software updates. There’s a typo there. It should be VardB software update, not library preferences. K? Not library preferences. So I’ll type this in the chat. Vard forward slash var d b software update. Right? And then the p list is in here. It’s software update persistence dot p list. It looks something like that. K? Poll number five. What’s the key advantage of DDM compared to MDM? So there is a key distinction. There is a key distinction between the two. And it seems like most folks have already selected the correct answer. The device can apply updates. Oh, let me give it a well, I already answered it, so let me end the poll here. The device can apply updates on its own schedule. Right? Asynchronous. You can do this on your own, or you can wait for it to open up. You don’t have to worry about it, you know, being at a specific place at a specific time. Last question, and then we’ll we’ll end the meeting. I did go a little above time. I apologize. Last question here. Folks, the main challenge for us here, for me, myself in this presentation is hoping that you actually learn a thing or two. If there was something that you learned and a few light bulbs went off in your head, that is awesome. If so, expect more of these in the future. Right? I really hope that you can walk away going, oh, wow. This will actually make my life a little bit easier. If you think that, then I’m in you know, great. That puts me in a really great mood. If you think there’s things I could improve, of course. Obviously, there’s always room for improvement. Nothing’s ever perfect. Your feedback is always welcome. But if you did like the today’s session, then anticipate some more because this was actually pretty fun. I enjoyed it myself. I enjoyed it myself. Alright. And I wanna thank use this opportunity real quick since we’re it’s already I I again, I have a habit of going ahead of time. I’m sorry. Folks, for everyone in this room, thank you so much for your time. I appreciate you all so much. I appreciate everybody’s time, everybody’s participation. I really hope you did learn a thing or two. Thank you so much for being here. Thanks to Manny, Iggy, and Eddie as well for helping me, you know, with the questions in the chat. I can I didn’t have the ability to look at the chat through the course, but you guys have been awesome? I really appreciate y’all. Please reach out to myself at training at Addigy dot com, or Mauricio at Addigy dot com in case there’s any questions or anything that you wanna review. I’m always happy to help. I’m always here to help in case you need it. I really appreciate everybody’s time here, and I had a great time. This was great. Thanks, Max. Awesome. I’m happy to hear that this was good. If you liked it, expect some more in the future. Thank you all. Appreciate y’all. I’ll be here. I guess I’ll just look at the chat now. But if you’re good, enjoy the rest of your Thursday afternoon, and thank you so much for your time. And, yes, a question was asked earlier. I wasn’t here on time. Can I catch this later? We’re going to actually we’re more than likely gonna start a series, in Addigy Academy. There’ll be a folder that says webinars, and then you click that, and you should be able to see a review of this webinar. So if you if you missed a lot in the beginning, then it’s all good. You can catch the review later. I appreciate y’all so much. Thanks, Tim. It was nice having everybody here. Really appreciate having everyone here. You got your time was really appreciated. Alright, folks. I’m gonna go ahead and close out the meeting as I do have another one to jump into. Thank you so much. Again, training at Addigy dot com in case there’s anything else you need, and thanks again.