Posts

Windows 11 22H2 production setup!

Image
Windows 11 22H2 production setup! I recently started to deploy windows 11 and to my chagrin found many applications that didn't align to the business needs such as recommended apps, tiktok, instagram etc, as well as other apps like Microsoft Teams, and Onedrive.  So this is a short blog and shout out to the resources I found to help tame this beast Microsoft released. Customize the start menu for the default profile to remove suggested apps for all users Uninstall bloatware for all users Customized Start Menu Log in as an admin account and customize the start menu they way you would like. Windows 11 stores the customized configuration under the users profile folder: c:\users\%user%\appdata\local\packages\Microsoft.Windows.StartMenuExperienceHost_%randomized%\localstate\start2.bin Copy this start2.bin file to somewhere on the network.  Like the sysvol domain controller. I wrote the script below to account for the randomization as the folder path is unique per windows install, but co

Integrate Choco with SCCM

Image
Integrating Choco with SCCM Choco is well known and recently I've written on how to integrate choco with puppet as the control mechanism.  Today, I've explored how to do this with SCCM configuration manager.  This article assumes you have a working SCCM environment.  My lab environment was set up using Oracle's personal use virtual box and evaluation software provided by Microsoft's eval center and a Fedora host system.  (Let me know if you would like to know more about my setup) The reason I'm writing about this is to keep 3rd party software up to date leveraging choco packages as well as develop a standard deployment model for all software. High level steps: Create choco installer application in sccm. Create notepad++ installer and uninstaller applications in sccm. Upgrade notepad++ with supersedence Deploy non standard package (Comming soon) So to dig in, first we need to install choco on our SCCM clients.  In this test, I'm using SCCM appl

VPN Triggers

Ok, so I realize this post won't apply to most people, but I want to share this just in case it can save someone hours of digging for VPN PowerShell commands.   The other day I found myself with a strange request from a client, they wanted to push out a VPN connection profile from Intune, and enable it so that it always stays connected when the PC has an internet connection.  We the short version of the story is I have not done a full deployment of always on, the 2nd part of the story is they wanted to use the VPN connection as the primary network connection of the currently non-domain joined machines 200+.  To make a long story short I wasn't able to get the simple certificate services to enroll intune joined user certificates to connect to the internal PKI infrastructure as it failed to autoenroll with a very detailed error.  "NO DATA".  So welcome to plan B. B-Plan was a simple L2TP connection using the same RAS, NPS server.  One a profile was built and tested th

Are my GPO's in Sync?

Image
Do you ever wake up at night in a panic...wondering are all my GPO's syncd?  Me too!  So today I thought I would write a GPO script that would allow me to check the versions of all my GPO's! As you know the GPO version number is stored in a TXT based file in the root of each {<random string>} GIUD number folder and in the TXT file is a version number value. The script does the following: Gets all the domain controllers in your domain (Checks if they are online or not) Gets all of the {GUID's} in each servers sysvol (If the path exists) Reads the version number for each one (If the file exists) Reports if there are errors Checks to see if all the versions match Prints out a nice report of Server, GUID, Version Required Modules :  ActiveDirectory Required Permissions :  RunAs Administrator on a domain controller as a domain admin account. Results: Script: #Group Policy Version Checker $startpath = get-location | select path $startpath = $s

Multi-pathing in 2016 Server with HP6000

Multi-pathing in 2016 Server with HP6000 I came across a situation today where the software vendor recommend Server 2016 for one of their software upgrade projects.  As the SysAdmin I had to setup the storage fabric.  After getting the SAN zone configured on the Nexus 5K's and presented a test lun from the HP6000 array to the new 2016 server.  Once this was done, the server seen 8 drives of the same size.  OK, no biggie I just gotta grab the HPE MPIO DSM Manager software and away we will go.  However, I quickly discovered that there is no software developed for 2016, nor is 2016 on the compatibility list. So I was able to take my first adventure down the path of Windows 2016's native MPIO software.  I realize the mpclaim.exe software came out much earlier but this was the first time I've had to personally use it. So to get the system to multipath, I found that it was pretty simple with this tool. First see if the system detects that a multipath device can be found.

Automate Server Patching with Puppet (Part 2)

Image
In the first blog post I made about this, I showed how to patch windows 3rd party software like, notpad++, windirstat and other software utilizing puppet and chocoloatey on windows.  However, the next part of the solution was to deploy windows patches as the name suggests.  This part of the equation was a bit more challenging, but well worth the effort. For help setting up puppet and chocolatey refer to the previous blog post .  When patching windows security patches, most of them are not on the chocolatey website ready to go, so I choose to build my own repository of patches using a internal NuGet server.  Getting NuGet up and running requires Visual Studio.  In my case I utilized the community edtion (Free).  During the install you have to pick which components you want to install.  See below: Once you get visual studio prepare, your ready to head over to the microsoft project site and build the package on your own IIS instance.  I wont go into much detail here, I didn'

Export VMware data directly into Nagios

I ran into an issue the yesterday.  In our environment there is NO budget for deploying an enterprise class monitoring solution.  In this case the team had chosen to deploy Nagios.  Nagios is a pretty robust tool, but limited in what you can do on the web interface.  In addtion we had 200+ VM's that had yet to be added.  There are some handy web UI tools to manage the configuration scripts, but who has time for that.  I whipped up this handy PowerCLI script to pull all the live VM data from VCenter and export that data into a .CFG file ready for Nagios Core to use.  Feel free to download and share. You can copy and paste this right into your powerCLI interface once you connect to your VI Server. #Export VM Info into Nagios Ready Configuration Files $VMInfo = Get-Cluster "BladeServers" | get-vm | Select Name, @{N="IP Address";E={@($_.guest.IPAddress[0])}},PowerState New-Item c:\temp\windowsVms.cfg -ItemType file foreach ($vm in $VMInfo){ $os = get-vm $vm