🔴PDQ: The Lesser Known Features

Mar 25, 2021 18:14 · 8753 words · 42 minute read

Lex: Hey everybody, it’s Lex from PDQ. com, hey, we are covering lesser known features competing, deploying inventory lesser known, they’re there, they’re there for you to use, we just find people don’t know that they’re there. Let’s jump in.

00:13 - And Jordan, we’re going to start by talking about variables.

00:18 - Jordan: I mean, you got to start with the exciting things exciting.

00:21 - Lex: So basically get your coffee guys here it comes in variables, you can use them in deploy in inventory, there’s a couple of different ways to do these. First of all, let me just get rid of a few of these things that I should have gotten rid of yesterday. Last week, we did a group ID collection. Now you’ll notice right here computer group ID equals and then we have our custom variable, we do that so that we can actually rotate, you know, or change the data in that variable to build a variable in both deploy and inventory, go into options variables.

There we go. So here is that group ID. And again, variable, I can come in here and change that to a four, three or a two. And again, once I exit that you’ll now notice right here, since I referenced that variable in the description, it shows it there.

01:16 - And it has changed. Okay. Also, another place, I’ve used this, we’ve built a report. And it’s basically just an application report. Okay, and it references whatever you’ve typed in the variable. So right here, again, I’m referencing that variable right there. If we go to define report, this basically is application report, I just wanted to see what machines have what versions of what specific software and so instead of having to go into filters and go do this, I can just go right up here and change that from, we’ll say, opera to Chrome, we’ll see how many different versions of Chrome we’ve got in making your lives easier.

And again, if you reference these variables in collections and reports, it’s one spot to change it for all of these specific machines are not machines, but reports and collections. So back to my report, kicked it off, and it did not save that it’s opera. What did I do wrong? Jordan: Bro, after the update right away, as we’ve noticed, oh, Lex: now I’m the Mad bomber is clustered, I’m going all over the place. All right, variables, boom, Chrome, the app variable.

02:40 - Again, we will go back to my report. The application report does say chrome there. And now it’s chrome here. So again, I did this to make life easier. If you do it right, not like I do, it works a lot better. Any thoughts on that? Jordan: Just the real value is I’m just not updating one place.

03:02 - Normally, if you’re doing something like in this case, Chrome’s kind of a, it’s an easy one to use. But you’re gonna use it multiple places, whether it’s collections or in deployments, or if it’s in, in reports, and only having to change one thing to update everything, saves you a lot of time.

03:17 - Lex: And again, this is what we do in our collections that we maintain for you guys join us, every single one of these. Right here, all these are system variables. And that’s why the dollar signs in there. So when you build a variable, just you know, okay, it’ll automatically put that @ sign in front of it, which means it’s a custom variable. And the other thing we want to talk about in regards to various variables, Jordan: a big thing that’s got me before is when you write the variable, if you don’t click out of the variable, it’s not going to update all the time.

03:52 - Lex: So Chrome, I should have clicked out of this, probably closed it, make it easier on myself, and then it does update.

03:58 - So. Alright. Let’s now talk about exporting things. I mean, Jordan, I collaborate all the time. And so a lot of times, I’ll build some send it to him and instead of having to obviously rebuild it, I can export it. Now the things that you can export. You can export tools, collections, reports, packages, preferences, scan profiles, variables, in fact, you can even export custom fields.

04:29 - Jordan: You can even tell you’re reading that off of a list, Lex: cuz you couldn’t tell my eyes stayed up here.

04:40 - Just feels Thanks, man. Appreciate you calling me up.

04:45 - Again, here, we did build a group ID tag, okay. And the reason I used that was so that we could actually do that grouping, you know, and so, what you do is you put that in and then when you open a computer up, you can can go in DaffyDuck in this case, we go to custom fields. There’s that group ID group ID one. Now you can go in there and type those in by hand if you want. I wouldn’t, okay, what I would do is, if you’ve got a, an Excel spreadsheet, you can import by using the Import Wizard.

Again, all you’ve got to do is have the computer name, that’s the reference and then a comma and then whatever custom field information you want to feed in a comma delimited. So it’s computer name, in this case, group ID, and then you map it JJ Bateman: is the worst centering job I’ve ever seen.

05:36 - Lex: What do you mean, it was right there the whole time after you said that? Jordan: JJ has been getting more hostile by this Saturday.

05:48 - JJ Bateman: getting worse about centering. Lex: So am I getting worse? JJ Bateman: Maybe it’s because you’re opening windows that have never been opened before.

05:56 - Jordan: That’s all like, I’ll give that one to you. Wizard is not common.

06:03 - Lex: My train has been derailed. Let’s take a question while I figure out where I’m at.

06:08 - Kelly Hammer: Okay. Hey, guys, when installing a package meshmixer I get a 1223 error. However, the program did install when I run the same command on a PC, it works fine. It seems to not like the desktop shortcut creation. The workaround use a new step to copy a shortcut I created and ignore the error. Is there a better way? Russell K.

06:32 - Lex: Oh, Russell, first thing, I would see what a 1223 error is from the vendor. I mean, I don’t I’m not really familiar with mesh maker but and determine from that what you can do. Now the other thing you can do if it does do the install correctly, and it looks like you’ve worked around getting that icon on the desktop, you can put that as a success code in the install thoughts on that.

06:58 - Jordan: The only thing I can think of is there’s something with the permissions on just the local user. So if you ran it as a logged on user, I’d be curious if it still had the same error if it builds the shortcut. Cuz that still has, it gives you the admin permissions for that one, but logs in there instance. I don’t know if that will fix it. But I just be curious to see if it does that. We know it’s just a permissions issue somewhere in there.

07:19 - Lex: Give it a try. Give it a try. Do we have another question? Or should I? JJ Bateman: Is your train back on the rails? Lex: Is my train ever on the rails? Let’s be real JJ Bateman: good point.

07:30 - Lex: All right. Do you want to do the questioner I can talk about some other kind of cool expertise stuff? We can take another question. Let’s do a question. All right. Hey, Lex, this Kelly Hammer: question is for you. I would like to install a new 64 bit version of a program. I need to first uninstalled the 32 bit version before I can install the 64 bit. How do you recommend I approached this, should I create a package to uninstalling then another package to install the 64 bit version? Thanks D north.

08:01 - Lex: That’s exactly what I would do. And then I would nest them.

08:04 - Now depending on what it is, we do have a bunch of uninstalls in our package library, which I just clicked out of. So let’s just say we were going to I don’t know, Chrome’s probably not a good example seven zip we have an uninstall seven zip, right? So if you look for if we do happen to have it, here, seven zip and on install seven zip. So let’s say I’ve already got seven zip, so download the uninstalled. So I’ve got the two packages, one on installs one installs.

Now the nice thing was seven zip it will install the correct arc. Correct version for the hurt textures machine. And then what I do is this on install, select seven zip and then I create a nested package with those who has the uninstall, and then the install you may I don’t know want to possibly put asleep step in there in between them. I don’t know that it’s necessary, but maybe for good measure. To show that you know how to use the sleep step throw it in.

09:03 - Jordan: We got nothing but time. Lex: Nothing but time. Nothing but JJ Bateman: I think I know what happened with this centering thing.

09:08 - Lex: What happened with the centering thing? JJ Bateman: you installed the latest version? Oh, by the way, we just came out with a…

09:16 - Lex: right guys. There’s a new version grab it fixes a few bugs.

09:19 - JJ Bateman: We’ll promote it right now. Lex: There you go. It’s easy, install it. Just make sure your recenter your screens before JJ get mad at you.

09:28 - Jordan: Again, random email. Someone’s working out your screen is not centered. Yours is not centered.

09:34 - Kelly Hammer: JJ Lex: Boy, I am really clicking all over the place. Okay. Thank you. Let’s go back to export. So you can export a collection. I’m going to export the super cool group ID. So I’m going to highlight it right click and go to export. Again, it’s going to ask you where you want to put it. Any good UNC path works.

09:57 - We’ll drop this on my desktop There it is. And if you open this guy up, you can see that it’s just an XML file. Hey, Jordan. Yeah, I was thinking of just modifying this by hand.

10:17 - What do you think Jordan: you’d probably open a notepad instead, then Lex: that would be the first thing I should do. Let’s do that. Open Notepad, any suggestions? Don’t mess it up. I mean, come on, beyond the typical Jordan: outside, just the format, if you break down, it’s not going to import properly, but just make sure you’re changing the right thing that you want to change.

10:39 - Lex: Alright, I’m going to try and change the name of this to JJ Bateman: watch your closures.

10:44 - Lex: Guys are putting the pressure on, where do they want to see no pressure, but don’t screw up group ID. That’s Jordan: the path you want to get the one to above that, Lex: that one right there. Okay, dash xml, boom. All right, I’m gonna save it. That’s how you edit guys, with everyone watching probably, or the poor version of that. But now I’m gonna show you how to import right click, probably want to right click somewhere here, so it drops it and not in a sub right? import, we’ll go get my super cool.

Check from my desktop, group ID XML imported, there it is. group ID dash XML.

11:24 - Jordan: Looks good to me, Lex: I was gonna say I modified some XML. Guys, there’s a better way. There is a much better way to build collections. And Jordan has built this amazing tool and kind of happens. We’re going to show you how it works. We’ll make it available is it’s going to be available in Jordan: I probably should it’s let’s make it. It’s not professional right now.

11:46 - Lex: It’s not? Jordan: No, I don’t I don’t like what Jason made me do to Lex: let’s just bring it up. So basically, what this is going to do is we have a generic name of your application XML. And if you guys want to build collections like we do where you have, you know, Chrome, Chrome, latest chrome on install Chrome, all right, this is going to help you do that. Basically, I’m gonna run this, it’s going to ask me for the name of the application variable, application name, variable name for the version and then the version number.

And it’s going to create that with variables so that we can import it and have a super cool Jordan: reflection before we run it. Can we go into the variables and delete the ones we made? With our test run yesterday? I think we kept those in there.

12:34 - Lex: kept them in there. Jordan: I didn’t do I didn’t do a good job of cleanup Lex: in inventory. Oh, you didn’t way to go. The shame. All right. Let that is a good idea. All right, everybody, close your eyes for a second.

12:47 - Jordan: You don’t know what we’re gonna do? We’re not Lex: we’re not gonna we’re not doing an epic pen. We’re not we’re not doing epic pen. You’re definitely not doing No, we’re definitely not doing VMware and be ridic this is the most professional we have ever been. When you say JJ Bateman: welcome to the fly by the seat of your pants podcast.

13:06 - Jordan: I mean, we could have paid attention, but that seemed like a lot of work. And now it’s kind of Lex: tuned out. You know, the other thing I’m gonna do, because I know we’re gonna end up I’m gonna go to the temp folder. Get rid of the ones that that’s not you guys didn’t see that. Oh, there’s nothing there. You didn’t see that? Jordan: Alright, we’re about it.

13:22 - Lex: Okay, we’ll leave that open cuz we’re gonna go in there anyway, Jordan: now prepared to Lex: me as I know that we’re building a building the anticipation is this opening it administrator gotta run into submit admin. All right, Jordan: we did one thing, right? Lex: We did. All right. Type in the name of the variable. This is the name for your application, right? Jordan: This is the variable name. So this would be the variable name.

13:48 - Lex: So this would be in this case, the v- Jordan: character I hate hate the questions before I had it.

13:55 - Were there parameters, and I was requested to remove those and I did it and they don’t like it.

14:01 - Lex: That is the variable that we’re gonna put the application name in. And because I am such a good typist, check it out, I copied. Now, one caveat This is going to do it’s not going to do a contains it’s going to do an equals. When it builds this will show you that in a minute. variable name, the MLA version.

14:20 - Where for the version Jordan: you had typo in there, it’s Lex: it’s not water or wait. VM. Wait. There we go. Shut up.

14:30 - Thanks, guys. And a version number. Guess what? I copy that too, because we only have so long for this webcast. Copy.

14:39 - Paste. There’s a lot of windows open and close in here. We did it did boom. It worked. Alright, that’s where it goes.

14:47 - Jordan: Thanks for tuning in everybody. Lex: It actually goes in that folder that we just should have cleaned out earlier. Right there in C temp. Okay. Now I’m just gonna drag that to the desktop because it’s going to be easier for me to go find it when I import it and minimize a bunch of stuff. And now we are going to once again, right click import our super cool VMware Tools. And if we did this, right, I’ve got 43 machines with VMware Tools as I expand this.

15:19 - There’s the ones that the latest version, Jordan: that variable update in a bit, Lex: it was not instant, yet. We just we were hitting pretty hard here. And variables again, are right here under variables.

15:31 - Look, it actually made the variables. Look in the variables for us. Right. All right. I am onna I want to roll the day.

15:39 - Jordan: We’re doing good. Yeah, it’s just a quick way to get a collection. Where is that having to build all of it, it’ll give you a latest old and ones that don’t have it installed similar following the same path that we have for existing collections.

15:48 - Lex: Yeah. All right. Closing that. So that next time I click on variables, and I go find the thing. Alright, so there it is.

15:58 - Now, we also found out in our travels, that you can actually nest nest, you can reference another variable from a variable, which comes in handy for something like epic pen, or say seven zip that have got the version number in the name. Now, I was definitely not smart enough to um, actually copy this before we get get too far. But let’s go to the computers that I’ve got epic pen on it, which would be I think, Rick Sanchez, to microverse to microvessel.

Now, Quit messing with JJ stuff m to their mind, we’re not actually doing anything to them, we’re just using them for their good like, all I can say is JJ has watched me do this, I’d be afraid to say it’s Jake: epic pen just way too close to epi pen Lex: epi pen, it could be a lot cheaper. Free, because it’s free. But you notice that has the version name or the version number in the name right. And then I’m also going to grab just the version there, copy, paste into my little notepad.

Now, we’re going to do this and reference variable in it and see what what happens. So Jordan: once again, because we discovered this yesterday, I haven’t put in the logic to trim trim the title of the collections. So you’ll have to do a little bit of manual after but I’ll get that added.

17:20 - Lex: Epic. We’re just going to call this epic var because that’s about as far as I can spell. Then I’m going to copy the new the name the entire name, because it’s going to search for that whole thing as an equals to copy. Paste.

17:37 - JJ Bateman: We’re never going to get you guys on VS code, Jordan: you’re supposed to replace the version with the variable.

17:42 - Lex: Can I break this Jordan: stop still hasn’t built anything yet. It’s just asking questions. All right, let’s Lex: do it again. This is why I’m having okay. Epic var. Var.

17:53 - Now, this one. Jordan: Don’t worry about it. Keep going. No, Lex: no. You guys make fun of me. I don’t know why. But I’m gonna stop it. There we go. Now I’m going to paste in the name.

18:08 - But I am going to go in here and take that version out. And I’m going to what are we going to name the version and you better tell me to spell it Jordan: right. Because if we reference it, we’re going to put in whatever we’re going to name the variable next. So it will put an app Lex: on it. So I need to add parentheses, parentheses, Jordan: and then whatever you’re gonna name the variable, super easy, epic, ver, and then close the parentheses.

18:27 - Lex: Okay. You’re good, my good. Am I Jordan: okay, as long as that’s what you put in for the name of the I’m not sure I can do that. But we’ll try.

18:36 - Lex: Epic ver. So now I’m building that variable that this is gonna reference. And then we’re gonna paste in. Again, just the version. So this Okay, go ahead and do Jordan: Alexander’s asking if it will be in bonus content at some point. Yeah, I should throw it up there. He’s just I want to do it differently. But that’s not up to me. So JJ Bateman: I prefer that we put this out there right away.

19:01 - Jordan: Okay, I will put it up. JJ Bateman: Go ahead and put this on GitHub. I’ll I’ll put it on the YouTube description. So anyone watching after the fact and those that are watching now can go to this video in YouTube and reference this.

19:17 - Lex: This this is super cool. I mean, I love this. Right you’ll notice the new name of this is epic pen version at epic ver XML again, I’m dragging it to the desktop because asking me to find it twice is going to be too difficult. I think I can do it.

19:34 - Right click I believe in you. I believe what you believe in me.

19:37 - Epic pin version, we’re grabbing it. Give it an okay. Now check it out. Here’s microverse Hey, is that expanded? What it does do is it does put that @ in the title. It doesn’t expand the variable in the title. So to actually make this look kind of sexy, other than the fact that did it every way we want it. I’m just gonna go in and take this out. I probably could have like, collected it all hit Delete once but working on my typing skills epic pan and again same thing here, we just take that out of the title there and it now is built this again to reference that variable.

20:20 - Jordan: So I do need to put logic in there that basically says look for probably the at symbol which isn’t gonna be common and application name is safe if it has that then trim everything after that.

20:30 - JJ Bateman: Is there a way to strip this out in the XML Jordan: that’s what the logic and put in the XML is basically after you finish it, it builds the XML but I will have it go through and do a search and if what we had enter has the at symbol for adding the version it will strip out from only the titles instead of from everywhere JJ Bateman: sanity check Lex: what I highlighted right there is the version now check this out.

This is the variable A equals epic var Hey, we’re gonna look at the variable in here. Epic var right there references epic var, which is right below. Very kind of, though the. Yeah, JJ Bateman: the var and the ver throwing me off a bit. It should even we can finish those terms like version.

21:17 - Jordan: I mean, you can put whatever you want. You can Yeah, Lex: come on. JJ, realistically, you want me to try and type any more than three things? Jordan: Well, JJ Bateman: I’m just worried like, okay, so you’re typing an a and an E.

21:28 - Lex: I don’t know if your name with the application we’re looking for and version.

21:32 - JJ Bateman: I don’t know if you made a typo if you did that on purpose.

21:36 - Lex: Okay, you got me there. And I still left my highlighter.

21:38 - Okay. So we’ll make that available guys is super cool.

21:41 - Jordan Rockstar. You and Ozzy. Jordan: Yeah, so Jason asked me to build that feels like a year ago, and I just kept ignoring him. Did he? And he finally did it. I did. I love it.

21:55 - Lex: Okay, anyway, that was kind of long winded way about showing you how to build automatic collections that are kind of cool. Questions.

22:05 - Kelly Hammer: Sure, we have quite a few as a matter of fact, Hey, guys, I’d like to get columns in PDQ inventory to show what ad site a computer is assigned to and what the primary DNS server is configured as what’s the best way to accomplish that. Thanks, Jay backs.

22:23 - Lex: Alright. So this screen that shown right here is fields that are there, the one that’s shown right here now are fields from the computer table. Okay. The only way to get custom fields in the computer table is custom fields. So again, if we were to go in and take a look, I think I’ve got a group ID field in here. There it is, you can add that, then we’ll go fix it, put it up at the front, so everybody can see that group ID.

22:52 - So you don’t want to put in custom fields populate those fields, then you can view it right up front, on that front screen. Jordan, any other thoughts? Jordan: No, if you’re gonna be doing that, for every machine, that’s a good time to use the import tool that you showcased earlier.

23:05 - Lex: Thank you. Definitely import tool. Got another question.

23:10 - Kelly Hammer: Dear Lex and Jordan, what are some best practices to deal with Windows 10 feature updates, Derek Oh, Lex: a Dirk now community we got blogs out in community community forum on how people have done it. Okay, you can do it. I’ve done it. We don’t Here comes here, quote, officially supported. Here’s why. Okay, in the middle of that feature up date, there is a reboot, we can’t control it. So if along that process it does that reboot on a slow machine and you know, 10% 20% 30% and times out we’re gonna give you it failed, when in all actuality it probably just finished and took longer than it.

You know, then you expecting PDQ. That’s the first we don’t like giving you bad data ever. The second would be this. Have you ever done a feature upgrade where you’ve had driver issues? I blue screen the machine before doing an upgrade.

24:09 - Okay. You’re gonna run into that hear and there. So understanding that I would say do this, if you’re going to do feature upgrades, go ahead and do them. Remember the caveats. And if you do them, I would say do a handful at a time so that if you do have a bad day, it’s only kind of a bad day. Not a really bad day. Jordan, anything to add to that? Jordan: Yeah, it’s the actual process isn’t all that different from just doing like the Patch Tuesday updates, it’s just the timing is something that we can account for with our product.

So it’s, it will work with our product is fine. It’s just you might want to set it in something to go in after and rescan to make sure everything was successful.

24:50 - Lex: You know, set your inventory scan because you’ll get to see a move in your collection library from your windows 10. You know you’ll get up move from here, you know, move from 1903 up to 2004. So you would be able to catch them there. So your point you want to do another question or should I talk about run modes? Run modes Jordan: interested, you’re interested, Lex: run loads hips to take a big hard drag on that coffee.

25:23 - Alright, I’m going to deploy seven zip, deploy, deploy once, check it out, run as you drop that down, we have the packages are setting which in this case is deploy user , deploy user interactive local system logged on user. Now, I can tell you, I’m going to tell you, but when I originally looked this up this really cool more info, little question mark thingy, I clicked on it. This came up and did a really good explanation. Okay.

25:52 - executes deployments, the deploy user is on target computers is the vast majority of your deployments interactive, you would use that I’m just going to jump down to here and say, basically, if you were trying to do a user install, but they don’t have user rights, you would use that their Jordan thoughts.

26:12 - Jordan: Yeah, that was pretty on. You don’t need to use it a lot. But when it’s needed, it’s really valuable.

26:17 - Lex: Yeah, even less likely to use a local system where you do an install as a system. file. Very rare. I don’t know of any occasions, I’d actually kick it off there.

26:27 - Jordan: I’ve never actually had to use local system, I Lex: haven’t either, then logged on user, you can run as the logged on user, the caveat there, they need to make sure they have admin rights or can do whatever it is you’re asking it to do in that case? Jordan: Yeah, that one is most common when it’s something like what before when app x didn’t have the all users for the Remove part or anything it? Yeah, and things like Firefox, if a user tries to install it, they don’t have rights.

It installs it in their own folder. I forget the exact path, but it’s not in the normal install location. uninstalled things like that is when you want to use logged on user.

27:01 - Lex: Thanks. Jordan: Real quick for the previous question about the feature updates. Timothy in the chat said he uses the CLI version to not allow the restart. And then he puts in a restart step and asleep timer after so he can kind of just for that matter, and Lex: I will have to try that. Thanks.

27:23 - JJ Bateman: Is that a signal for a question? Let’s do it.

27:25 - Lex: Let’s do a question. You asked a question.

27:27 - Kelly Hammer: All right. Hey guys, PDQ package, Microsoft Teams, the PowerShell. That checks for existing machine wide returns one equals fail if it is already installed, which means that machines are kept in endless retry queue. How to get around this. Thanks, Brian. A and W root beer. Wow, sweet.

27:48 - Jordan: Hey, Brian. One is a success code. Lex: One Mark it as a success code.

27:52 - Jordan: because you’ve already installed Yeah.

27:54 - Lex: Okay, you’re using the retry queue. I think if you’ve got inventory is a much better way, which actually shoehorns right into the next thing we were talking about, which is retry queue versus a heartbeat. Okay. So again, to go and take care of your Microsoft Teams, do I have it installed or downloaded? We could go here and pull teams basically what you’re going to do teams Well, that’s going well. Jordan one pulling that down. Let’s discuss retry queue versus heartbeat.

28:27 - Jordan: Well, okay. in the chat, he said he can’t do the success code because it’s locked, because it is an auto download package. That does make it a bit more.

28:38 - Lex: Good point. That is good point. Interesting.

28:40 - Jordan: Yeah. JJ Bateman: Is there a way around that? Lex: way around that, yeah, go in here and change it from an auto download to a interruptions, but that’s not Jordan: really the that’s not the ideal.

28:54 - Lex: So what I would do, maybe we’ll put that to support. If it’s already installed. Maybe we should have one is a success story in there. Okay, you could go into options and convert standard package add the one. Yeah.

29:08 - Jordan: We’ll send this over to the package team just to look at just in case because that’s something that we need to account for. Yeah, we want to JJ Bateman: Yeah, if one is a success code isn’t Lex: not marked here. Not marked here. Maybe needs to be in there. Okay, heartbeat retry. Now, if you go into place and put it in a retry queue, yeah, it is going to try and brute force. If it’s on an hour schedule every hour try and install this.

Obviously, you found an error. That would be one another reason I don’t like the retry queue. I mean, okay, let’s see. heartbeat trigger. Let me just show you that right.

29:46 - So next time you deploy teams, right. Right click. Boom. Got a new schedule. Okay. teams. Thank you. Okay, heartbeat, basically what that says when she machine heartbeat right machine goes from an offline to an online, right? So we’re dealing with machines that are coming online or you’re just trying to brute force install it. Okay, when a machine comes online, it’ll install it, then it’ll be one attempt, which is good when it’s online.

Okay, the other thing you might want to do is probably build a collection that says, Microsoft team’s not installed.

30:26 - And then you don’t have to worry about the machines that are installed and takes care of it that way too. And Colby just putting in the chat is just pointed to a collection that is not installed for teams only. I don’t think I have teams installed here. But let me show you how to do it for seven zip, because I know it gets seven zip installed a lot. And I know we’ve already got one of these. But to do this, when you build one that’s not installed, right, we’re going to do missing seven zip in this case, what you’re gonna run into, is that whole one to many or one to one relationship issue, right? So we’re looking for any application name that contains seven zip, right? Now, if you go in here, and you put, well, you obviously need the right filter in there too.

Right? zip seven, zip. Okay, so now I can go pull the ones that have seven zip there, 16 of them, right? I want the ones that are missing. So logically, I would say does not contain right? In this case, it’s not gonna work because it’s gonna evaluate every application. That’s that one too many thing. Okay, so if it’s got Google Chrome, Google Chrome does not contain sevens zip to qualify, I hit that we’re going to get all the machines that have any software on there that doesn’t have any software to get what you’re looking for.

Okay. Think of this as a container. You’ll find me all machines that have seven zip, don’t return me any from that sub container right there. Give that okay.

31:48 - There’s the 36 machines that are missing seven zip, you would do the same thing with teams in that case.

31:54 - Jordan: And still with the if the one needs to be in the success codes, will still bring that up, because it wouldn’t get that added. That’s definitely the way to go about it.

32:01 - Lex: Agreed? Agreed. You know, should we hit some questions at this point? Just kind of wrote questions. You guys want me? I’ve got some more information we can cover. But yeah, Kelly Hammer: we’ll probably need to do a speed round. Let’s say let’s do it.

32:15 - Alright, here we go. Hi, guys, is there a way to create a collection in inventory that is between an applications current version numbers, which I have in a custom variable, and one revision behind my behind dynamically? Meaning if I could subtract one, for example, from the current version to calculate the previous version? Thanks, Chris.

32:40 - Lex: Leave that up for a sec. Create a collection.

32:47 - JJ Bateman: The clock is ticking. Lex: I’m gonna I’m gonna run the timeout on this.

32:52 - Jordan: We’re gonna spend a minute just reading it just reading it, Lex: Jordan. Okay, so I’m looking for a version. That’s an earlier version than the one I’ve got but a specific earlier version? I mean, I’m trying to understand. Maybe that will help me, Jordan: oh, we can’t really do math, math in the variable variable, Lex: variable minus one. So Jordan: it has to be something outside of it, where maybe you have a second variably, we referenced both those bears if it’s in either of these two, and then you’d have to have just a second variable that has the older version in there.

Okay, Lex: could you do I mean, you notice this variable right here, we could do a regular expression in there. I mean, could you do this? Or this? Like, I hear Chrome or Firefox or opera version? This or version? That maybe? Jordan: Oh, yeah.

33:40 - JJ Bateman: What about a PowerShell? scanner? Lex: PowerShell is this we already got the version, we have the application in the versions, right? We’re just trying to Jordan: either PowerShell scanner won’t find anything new that we just need a way to account for not just the latest version, Lex: maybe maybe try a regular expression and change that filter to regular expression. Look for this one or this one.

34:02 - That pipe is an or so. Give that a try. Jordan: Yeah, yeah, the regular expressions or a second variable and unfortunate that leaves you with some manual updating to the variables where I mean, the Yeah, the latest one you can handle automatically, but the other one, you have to go in and just manually set that which isn’t ideal, but it would account for what you’re looking for.

34:23 - Lex: I think we did that under a minute. Kelly Hammer: Now, huh? Sure. Maybe a minute. Maybe if you change the gravitational constant of the universe and the flow of space time? Yeah. Next time. All right. Hey, guys, getting a lot of packages that say preparing for a long time.

34:41 - What does that mean? Curtis J. Lex: And Curtis I ran into this one when we rebuilt our lab, a re installed and if you go to options and preferences, and if you go to turn deploy, let’s go to deploy. Well, it’ll be on both but let’s go deploy specifically preference is here performance right here the service TC manager TCP connection when I disabled my that preparing seemed to go a way. caveat that doesn’t just set it for deployment an inventory it’s going to set up the entire machine so now just be aware set it, I think you may have to reboot.

Give it a try. I bet that’ll take care of it for you. By the way, thanks, Brook, you really hooked me up from support on fixing that one.

35:33 - Kelly Hammer: Dear Lex and Jordan, do you prefer PowerShell or Cmd? For your scripts be Womack, Jordan: it’s tough for me.

35:40 - Lex: If you’re talking to. If you’re talking to Jordan, I know it’s command for you. I’m gonna have to deal with PowerShell.

35:46 - But Jordan: I just can’t wrap my head around it. So, so complex.

35:50 - Lex: You know, I used to be a big proponent of cmd. Back when there was you know, CMD was it but PowerShell is so much more versatile.

35:58 - You’re a big kornShell guy. We’re bash bash. Oh, yeah. Yeah, either the Linux nice guy.

36:04 - Jordan: Nice guy. So Lex: yeah, in PowerShell. Definitely. It’s just more versatile.

36:08 - Jordan: It can do just about anything. That’s why I never get asked, Can you do some PowerShell? At the end? I always just answer Yes, yes. Yeah, Lex: there’s something about an object lately. I’ve been asking Should we do this in PowerShell? That’s a different question.

36:20 - That is, Kelly Hammer: it’s generally Yes. All right, next up? What are some internal admin tools that you the PDQ guys use that you enjoy? server monitoring, remote support, administration, etc. Besides PDQ and PowerShell. Thanks, Darrell.

36:39 - JJ Bateman: this kind of seems like a fishing question. I’m gonna call it out. Now. We like PowerShell.

36:47 - Lex: Tools, Admin Tools. Sure. Jordan: I haven’t had to do admin tasks in long enough now that anything I did use, I don’t even know if it’s relevant anymore.

37:00 - Lex: So you know, I do a little admin work for my uncle and his accounting place and stuff beyond PDQ is I use Nagios to keep track of servers and stuff. And that’s open source and Linux, which you have to know if you don’t know, Linux is going to be a it’s a bit to set up once I use that. My favorite tool is called Jordan. And that basically is um, hey, Jordan, Can Can we do this in PowerShell? He’s like, why am I just want to know if we can do it, show me how to do it.

And then I use what he does, and take credit for it.

37:34 - Kelly Hammer: That’s kind of what I was going to say I call support.

37:37 - Lex: Yeah, call support. Jordan: in the chat, there’s been some ads like autohotkey or or PS tools PS tools, definitely physicals Yeah, Lex: I know hotkey. I’ve had some hit Miss without a hotkey.

37:48 - So I mean, I’ll use it. JJ Bateman: It’s what we use for the highlighter. I’ll say that.

37:54 - Jordan: I got hotkey but UI automation in PowerShell. You can simulate mouse clicks or things like that as well. Then I can still use power show.

38:03 - Lex: Pretty much that’s if I could do this the hammer use for everything even when need a wrench.

38:07 - Jordan: I’m not a diverse skill set. I can’t even say diverse.

38:12 - He’s how bad? JJ Bateman: Do you want to do a blog on PowerShell UI and part of it is how to center windows.

38:21 - Jordan: Sounds like a trap if you like. JJ Bateman: But it’s also a major help for all of us.

38:27 - Jordan: Yep. All right. Lex: I will I think the end users like watching me. waste time center stuff.

38:33 - Jordan: The big stack I see is the window has to be open for this to interact with it and resize it. So we’d have to open up everything, everything you possibly use.

38:41 - JJ Bateman: We could do that with our shell, right? Jordan: Absolutely. We could. And yes, Lex: Jordan stepping away from it. All right. Well, Jordan: I was hoping this one would go away but apparently this is something that we’ll be doing.

38:55 - Lex: While other show on it. Alright, I’ll Jordan: do it.

38:58 - Kelly Hammer: Alright, so much for the speed round. Here’s our next question. We use SCCM for imaging computers. Any idea of a way to use PDQ to push out SCCM images using PMC Pixie b womac Lex: push out an image using Pixie Alright, the imaging process right machine boots, Pixie points it at the server for the imaging whether SCCM or whatever right lays down the O s and you want PDQ to kick that off. So Jordan: what I find is that the process for imaging, there’s a lot of free or great tools that do that.

Yeah, where we come in to the imaging processes after the image is done. You can add all machines deployment Lex: seven zip and reader and bluebeam and Dropbox and chrome and Microsoft Teams and user delay. User delay have to be there but pay and the nice thing again if you nest these packages, okay, and sevens at 19 becomes sevens at 20, it’s going to automatically update. So whatever your settings are in options for your auto downloads, that’s only how far out these new machines are going to be.

So lay down the OS, put the drivers on, get it on a D, kick off your baseline package. And in this case, we’re only going to be out seven days, which is nice, because it’ll automatically fall into the scheduled services that you’ve already built. So Kelly Hammer: are there any plans to add other devices or information to the inventory? Say routers, printers, switches, configuration parameters, etc? Marcel? l.

40:42 - Lex: Yes. Absolutely. To come in in the future. Next question, Jordan: you kind of do this with network discovery? Lex: We could okay. It’s not gonna find or network discovery.

40:54 - I don’t know if that’s what Marcel is asking for. But you can go into computers, add computers, he may be asking for to be native in the that’s what I was thinking. But Network discovery is gonna scan that subnet that you put in Okay, probably good. I did call your security guys before you do it.

41:10 - But and if it lets him know that you’re running a systematic hang of every IP and yeah, if it returns, it gets added. Oh, also, you’re probably going to need to make sure you go into your Active Directory stuff here and change that from Well, this is MC sync so this will be good. But normally I run it full sync which won’t allow it is that synchronous again so you can get them in the future.

41:37 - JJ Bateman: That’s it to Alex’s point if you have security guys.

41:41 - Lex: If you have if you’re JJ Bateman: if you’re your own security guy Lex: that’s a good point.

41:46 - JJ Bateman: By all means run an nmap Lex: knock it out.

41:50 - Jordan: Let’s kind of questions can always be tough because we can’t really go into plans for future things. We definitely can’t put a timeline on it so we can just say yes, we’re aware of it but we can’t go into detail I know that frustrates some people Lex: will have it for you tomorrow.

42:08 - JJ Bateman: tomorrow’s tomorrow. Lex: Tomorrow ever get here? Yeah, because it says tomorrow’s today. It’s not tomorrow.

42:16 - Kelly Hammer: Today is yesterday tomorrow Jordan: for next question. Forget Kelly Hammer: Speedway. Okay, here we go. We have four left.

42:21 - Can we do it? No. Hey guys, we have a large inventory, which sometimes causes PDQ inventory to freeze or not refresh collections, do you recommend restarting inventory and deploy service on a schedule? b Womack Lex: you know, I would do two things. First, make sure you’re on the latest version of inventory. That’s probably the first because I’ve done you know, light years of amazing performance enhancements in these couple things I would look at.

Okay, first thing, what kind of scans you run what kind of data you’re collecting. Because if you have stuff that you’re not using, that you’re collecting, and database is going to expand. As your database gets larger, they become more cumbersome. On that note, if you go to preferences, database, my database is 7. 1 megabytes. That’s because I only have 52 machines in my lab here. But periodically, you need to optimize this database, it is going to you know clean it, basically run a database, vacuum, compress it, make it nice and clean.

That will help Jordan, what else would help those, Jordan: those are the main ones that will take care of it. If you’re still having issues. Nothing’s hurt by restarting the background services periodically know if it works for you. I’d have had it but hopefully with the newer version in these settings, you will need to need to reboot services or restart services. Yeah.

43:42 - Kelly Hammer: All right, three more to go. Inventory has the heartbeat checking. Can it send a notification if a system fails? The heartbeat? Our Kenyan Jordan: I’m not sure if they mean but fails the heartbeat because it just checks in or is offline.

43:57 - Lex: Yeah, baby’s heartbeat. Jordan: It’s offline. If it goes to offline, the online is going to if you’re looking for if the deployment fails after the heartbeat comes in, it won’t leave the the scheduled time at that time. Next heartbeat will try again at that point will only stop trying if the install successful.

44:15 - Lex: I mean, are we trying to determine a machine has gone offline? So it goes from a yes to a no, there’s no native way to do that. I bet if you do what I do for my network tools and say, ask Jordan about he could probably write something that would do that in power. So you can do that. PowerShell again, it’s not native. So Kelly Hammer: Alright guys, non domain Windows devices fall off from PDQ inventory. Any suggestions would be appreciated that sincerely sonnar s.

44:48 - Jordan: The first thing I check is the Lex: ad sync ad sync right here. Your delete mode.

44:54 - Jordan: Okay, full sync. Lex: Your work. Kay full sync, you’re probably in full swing, that means anything There’s not an ad gets deleted. Okay, so your workgroup machines, not an ad, they’re gonna get deleted, need to either put it in import or mixed sync. The nice thing about MC sync is anything that’s added is ad, let me show you how to see that. Right is going to be maintained by ad and anything added by hand. We go up here, I believe it’s added by added from right there.

We’ll add that we’ll also put that right up at the front. So ad sync network discovery saying there’s a default machine. So yeah, put that to mix sync or import only you’ll be good to go. They won’t disappear. After that. You’ll have to make them disappear if they need to go if they’re not part of the ad sync. So Kelly Hammer: add our final question, not so much a question, a possible solution. Hey, guys, for certain feature upgrades like Windows 10, or applications that require a restart, have you thought about adding PDQ step that would add a persistent service that would call back to the PDQ server when the install was complete after reboot, this would possibly overcome the timeout issue.

Sincerely, Darrelle Lex: s, in general, in all actuality, on a reboot, we do wait for the response to come back. In the case of the feature upgrade, it just timed out. So the other thing you could do, then I wouldn’t leave this permanently. But you could go in here under and deploy under preferences, deployments and change your timeout extend that to some ungodly long number two, do your feature updates and I changed it back afterwards like you know, 90 minutes so that’s one way to take care of that so easy way.

Well, guys, that was a lesser known features and less you’re typing for me. Thank you. Appreciate you guys watching.

46:51 - I’m Lex from pdq. com. Catch you later. Kelly Hammer: Thanks for joining our webcast today. And thank you so much for all the questions we may actually do a lesser features Volume Two. If you have additional questions, feel free to reach out to our support forums. Thanks again and we’ll see you back here next week. .