Script Error When Upgrading ADK To Windows 11

You may seen the above error when PXE booting images under the new Windows PE edition for Windows 11. Yes, frustrating right! Well this is what I did to fix the issue. Depending on how many WDS/MDT servers you have you may have to follow this multiple times.

First you will want to open a new Command Prompt “CMD” window in Administrator mode. Type in the following reg.exe add”HKLM\Software\Microsoft\Internet Explorer\Main” /t REG_DWORD /v JscriptReplacement /d 0 /f


Next Backup this C:\Program Files\Microsoft Deployment Toolkit\Templates\Unattend_PE_x64.xml file. Then edit the file with the code below and finally regenerate the entire WIM image. If you have more than one server you will have to follow these instructions again.

<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <Display>
                <ColorDepth>32</ColorDepth>
                <HorizontalResolution>1024</HorizontalResolution>
                <RefreshRate>60</RefreshRate>
                <VerticalResolution>768</VerticalResolution>
            </Display>
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Description>Lite Touch PE</Description>
                    <Order>1</Order>
                    <Path>reg.exe add "HKLM\Software\Microsoft\Internet Explorer\Main" /t REG_DWORD /v JscriptReplacement /d 0 /f</Path>
                </RunSynchronousCommand>
                <RunSynchronousCommand wcm:action="add">
                    <Description>Lite Touch PE</Description>
                    <Order>2</Order>
                    <Path>wscript.exe X:\Deploy\Scripts\LiteTouch.wsf</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>
</unattend>

Save Powershell Modules For Offline Storage

Just a quick How:To that came to mind


1. Open Powershell 5.1 or later
2. Determine a save location. In my example an SMB storage location will be used
3. If you are not sure of the name of the powershell module you are looking to save offline utilize the Find-Module *name* command. Under the name column will be the PSGallery name
4. Run the command Save-Module -Path “File location” -Name vmware.powercli. In the picture below you can see both step 3 & 4 shown as well as the progress when saving the module(s).

This device is already set up in another organization

If you have a device either in your possession or in the hands of a employee but you can’t seem to connect to intune. I found and tested this step to resolve an issue with a machine not connecting to our intune tenant no matter what I tried before.

As shown in the picture you need to browse to the registry location and remove all the GUID folders. Once removed try to sign-in through the intune/company portal app again and you should be successful

How to remove a dead vCenter Linked Mode

If you have a vCenter that was dead, removed, or only not in use anymore but was in linked mode, you will receive warnings every time you open the master vCenter, so in this blog post, we will explain how to remove a dead vCenter Linked Mode.

Has we can see in the next image, in one part, we have the warning regarding an old vCenter that is set to linked mode with this vCenter, but in the next, in the Linked vCenter Server Systems tab, we don’t any vCenter added, and the list is empty.

Warnings

How to remove a dead vCenter Linked Mode

In this case, it was an old vCenter that was never removed, and the master was upgraded some times until version 6.7, but always had this dead link attached to it.

Login to your vCenter console to check what links or registers are enabled to this vCenter.

How to remove dead vCenter Linked Mode.

First, we check if this vCenter has an external PSC using: /usr/lib/vmware-vmafd/bin/vmafd-cli get-ls-location –server-name localhost

Next, is to list all the nodes that are register in this vCenter using: /usr/lib/vmware-vmafd/bin/dir-cli nodes list

sso-user@vcenter [ ~ ]$ /usr/lib/vmware-vmafd/bin/dir-cli nodes list
Enter password for administrator@vsphere.local:
Node: vcenter.york.local
Type: PSC
Site: default-site
Partner #1: ldap://192.168.2.32

Node: 192.168.2.32
Type: PSC
Site: Default-First-Site
Partner #1: ldap://vcenter.york.local
 
root@vcenter [ ~ ]#

As we can notice, the vCenter (vcenter.york.local) that we have a warning is still listed in the nodes. So we need to remove that node from the vCenter and break the linked mode between this vCenter and the dead one.

Next, we need to run the command to unregister this vCenter, using: cmsso-util unregister –node-pnid 192.168.2.32 –username administrator@vsphere.local

Note: Before running this command, beware that this will restart your vCenter services, and vCenter will be unavailable during the process.

root@vcenter [ /var/lib/sso-user ]# cmsso-util unregister --node-pnid 192.168.2.32  --username administrator@vsphere.local
Password:
Solution users, computer account and service endpoints will be unregistered
2021-12-05T16:25:23.263Z  Running command: ['/usr/lib/vmware-vmafd/bin/dir-cli', 'service', 'list', '--login', 'administrator@vsphere.local']
2021-12-05T16:25:23.310Z  Done running command
Stopping all the services ...
All services stopped.
Starting all the services ...
Started all the services.
Success
 
root@vcenter [ ~ ]#

Check again the vCenter node list and the vCenter is removed.

sso-user@vcenter [ ~ ]$ /usr/lib/vmware-vmafd/bin/dir-cli nodes list
Enter password for administrator@vsphere.local:
Node: vcenter.york.local
Type: PSC
Site: default-site
 
root@vcenter [ ~ ]#

For the safe side, I rebooted the vCenter, and now the warning is gone, and all is green.

I found this information helpful when rectifying my own issue with a stall vCenter linked environment. Credit to Luciano Patrao.

Toggling the vCenter Server Appliance default shell

Switching the vCenter Server Appliance 6.x to BASH Shell

  1. Log in to the vCenter Server Appliance through SSH.
  2. Run this command to enable access the Bash shell:

    shell.set –enabled true
     
  3. Type shell and press Enter.
  4. In the temporary BASH shell, run this command to permanently configure the default Shell to BASH for Root:

    chsh -s /bin/bash root
     
  5. Log out from the BASH Shell.
  6. Log in again for the changes to take effect.

MDT Error 0xc0000001

In the midst of attempting to deploy out a new Windows Server 2019 installation I came across a new issue. As mentioned in the title of this quick block. My remote virtual machine posted the error 0xc0000001 which was odd since I was able to PXE call from my onsite domain controller (DC02) and start to load the boot file config.

After some research and a few cups of coffee I found that the resolution to this issue was the Enable Variable Windows Extension. To fix this follow the instructions below…
1. Open your Windows Deployment Services app or WDS
2. Right click on your WDS server in the left pane
3. Left click on Properties
4. Click on the TFTP tab within the properties window
5. Uncheck Enable Variable Windows Extension
6. Lastly Reboot your WDS Server

If you followed all the steps above correctly you should be able to PXE boot your VM from MDT now. Enjoy!


Clone A VM On vCenter 6.7

Cloning a virtual machine can come in pretty handy… Especially when you need to troubleshoot or tinker with an existing virtual machine you might just not know enough about or a previous admin didn’t document. All Admins ~ “Please DOCUMENT DOCUMENT DOCUMENT!”.
For this article, I’m going to show you step by step on how to create a clone of a virtual machine and disable the virtual NIC.

Accessing The VMware vCenter

Open any browser of your choosing (IE11, Edge, Chrome, Firefox) and enter the vCenter DNS name of your system in the URL bar for the browser.

URL for vCenter

If you’ve enter all the above information correctly. You will be prompted with a Getting Started page. Click on Launch vSphere Client (HTML5). Next, you’ll want to enter the information to access the vCenter administrative console. This section, again, can vary depending on your setup. For my case, I have SSO enabled with a IT Security group. So, I’ll enter in my domain credentials and sign in.

Cloning Virtual Machine

This should be a given but confirm you have enough resources to clone the virtual machine of your choosing or the other hosts in the cluster do.

I chose the Development – SQL19 server I have running in my development vlan. By right clicking on that virtual machine I now have a slew of options, one being the clone option… click on clone. Click Clone to Virtual Machine.
You’ll want to select

Select the datastore that best suites your needs or environment.

Check the following boxes:
* Customize this virtual machine’s hardware
* Power on virtual machine after creation

Disconnect the NIC from the vSwitch by click on the check box next to Network Adapter 1. If you have multiple NIC’s you’ll want to repeat the process.

Lastly, Clicking on the next button in the task above will start to process the cloning of the virtual machine. When the cloning is initiated you’ll see the process below in the Recent Tasks section of vCenter.



How To Update Ubuntu through CLI

In this tutorial I will demonstrate how to update Ubuntu for the server version. I will also explain the difference between apt update and apt upgrade, along with a few other things you should know about updates in Ubuntu Linux.

If you are new to Ubuntu or any other Linux operating system, you might be wondering how to update your Ubuntu system for important – security patches, bug fixes and application upgrades.

Updating Ubuntu can be very simple. For a vanilla or fresh installation of Ubuntu its very simple to issue an update command in the command line.

In the terminal, you just have to use the following command:

sudo apt update && sudo apt upgrade -y
Enter your account password

As noted in the code above, you may be asked for a password depending on your permission level. If you are not in “root mode” yet you can use your account’s password to elevate yourself temporarily. You won’t see characters on the screen while typing password in the terminal, so keep on typing your password and hit enter.

That was pretty easy, wasn’t it? Let’s talk about the commands and what they do.

Technically the one line of code is not a single command, it’s a combination of two commands. The && is a way to run multiple commands in Linux in at one time.

The -y in the end automatically enters yes when the command issued asks for your confirmation before installing updates.

Note that you can also use the two commands separately, as seen below, one by one:

Sudo su
Enter Password
Apt-get update
Apt-get upgrade

It will take a little longer, because you have to wait for one command to finish and then enter the second command.

More than just OS updates

Unlike Windows,  Linux works with a package manager. When you run the updates, it updates all the packages installed via apt. This means updating Ubuntu will update the core operating system, Linux kernels as well as the applications installed from the software center (if they were apt packages) or installed using apt command.