Download MacOS Unlocker for VMware Workstation Download
Install VMware Workstation Player, accepting the defaults
Extract the downloaded MacOS Unlocker for VMware Workstation
Inside the extracted file, right click Unlocker.exe > Run as administrator
Click the Patch button
Wait for patching to complete before continuing
Creating the Sonoma VM
Launch VMware Workstation Player
Click Continue to use Workstation Player for free for non-commercial use
Click Finish
Click Create a New Virtual Machine on the right side of the application
Select Installer disc image file (iso) > Browse to and select the downloaded MacOS Sonoma .iso > Click Next
Select Apple Mac OS X and macOS 13 > Click Next
Name the VM MacOS14 and set the path to store the VM files > Click Next
Adjust the disk size if necessary > Click Next
Click Finish
Open File Explorer and navigate to the VM files
Edit the .vmx file in a text editor
Search for board-id.reflectHost and set the value to “FALSE” board-id.reflectHost = "FALSE"
Search for ethernet0.virtualDev and set the value to “vmxnet3” ethernet0.virtualDev = "vmxnet3"
Then paste the following options at the bottom of the file board-id = “Mac-AA95B1DDAB278B95” hw.model.reflectHost = “FALSE” hw.model = “MacBookPro19,1” serialNumber.reflectHost = “FALSE” serialNumber = “C01234567890”
Right click on the MacOS14 VM > Power On
Installing MacOS Sonoma
After an initialization sequence the MAC OS Setup should start
Select a Language > Click the next arrow
Select Disk Utility
Select the VMware Virtual SATA Hard Drive Media > Click Erase
Name the drive MacOS > Set the Format to APFS > Click Erase
Click Done > Close Disk Utility
Click Install macOS
Click Continue > Click Agree > Click Agree again
Select the MacOS disk > Click Install
Wait while Mac OS installs files, the VM will reboot several times
Select your Country or Region > Click Continue
Confirm your languages and keyboard layout > Click Continue
Click Not Now on the Accessibility screen
Click Continue on the Data & Privacy screen
Select Not Now on the Migration Assistant screen
Select Set Up Later and then Skip on the Apple ID screen
Click Agree > Agree again
Enter a name, user name, password > Click Continue
Click Continue > Select Use or Don’t Use for Location Services
Pick a timezone > Click Continue
Uncheck Share Mac Analytics with Apple > Click Continue
Click Set Up Later on the Screen Time screen
Pick a theme > Click Continue
Welcome to MacOS 14 Sonoma
Install VMware Tools (optional, but recommended)
Right click the Install MacOS disc on the desktop > Eject
On the VMware toolbar click Player > Removable Devices > CD/DVD > Settings
Click Browse next to ISO Image File > Browse to the extracted Unlocker files tools > Select darwin.iso
Click the Connected checkbox
Click OK
Inside the VM, double click the mounted VMware tools and run the installer
When prompted, go into the Security settings and scroll to the bottom > Click Allow next to VMware > Reboot
After rebooting double click the mounted VMware tools and run the installer again
After the install succeeds, reboot again
Original article taken from: https://i12bretro.github.io/tutorials/0602.html
You can use the SFC (System File Checker) and DISM (Deployment Image Servicing and Management) commands to check and repair the integrity of system files and Component Store of your Windows (Windows Server) image. These tools can be extremely useful if your Windows is unstable, won’t boot, errors appear when you try to run built-in apps or services, after a virus infection, etc.
In this article, we’ll take a look at how to use the SFC /ScanNow, DISM /Online /Cleanup-Image /RestoreHealth, or Repair-WindowsImage -Online -RestoreHealth commands to repair image and system files on Windows 10/11 and Windows Server 2022/2019/2016.
SFC /ScanNow: Using System File Checker to Repair Windows System Files
It is recommended to use the DISM command to restore Windows after you have checked the integrity of your system files using the SFC tool. The sfc /scannow command scans protected system files and if they are missing or corrupted it tries to restore their original copies versions the Windows Component Store (C:\Windows\WinSxS folder).
The SFC tools writes all its activities to the %windir%\logs\cbs\cbs.log . All SFC entries in the CBS.log file are tagged with [SR]. To select only SFC-related entries from the log, run the command:
If sfc /scannow command returns the error “Windows Resource Protection found corrupt files but was unable to fix some of them“, it is likely that the tool could not get the necessary files from the Windows Component Store (see the image below).
In this case, you can try to repair the Component Store of your Windows image using the DISM.exe command.
The DISM (Deployment Image Servicing and Management) tool is available in all versions of Windows starting from Vista.
After repairing the Windows image, you can try using SFC to restore your system files.
Check Windows Component Store Health Using DISM
The DISM /Cleanup-Image /CheckHealth switch is used to scan the Windows image for errors and fix them. DISM commands must be run from the elevated command prompt.
Run the following command to check if there are any flags of corruption of the Windows image Component Store (not applicable for Windows 7/Server 2008R2). This command checks the CBS flag set by one of the system maintenance processes.
DISM /Online /Cleanup-Image /CheckHealth
This command doesn’t perform a full scan of the Component Store. The command only checks if your Windows image is flagged as corrupted and if it is possible to fix it. No changes are made to the image.
In this example, the command has returned that the Windows 10 image has no corruptions:
No component store corruption detected.
The operation completed successfully.
To run a full scan of the Windows Component Store health, run the command:
DISM /Online /Cleanup-Image /ScanHealth
The command to check the Windows image can take quite a long time (10-30 minutes). And will return one of three results:
No component store corruption detected – DISM found no errors in the component store;
The component store is repairable – DISM has encountered errors in the Component Store and can fix them;
The component store is not repairable – DISM cannot fix the Windows Component Store (try using a newer version of DISM or you will have to restore a Windows image from a backup, reset or completely reinstall your Windows instance).
In order to use DISM /ScanHealth switch on Windowds 7 and Windows Server 2008, you have to install the KB2966583 update. Otherwise, you will see the message: “Error 87. The ScanHealth option is not recognized in this context”.
In some cases, the DISM /ScanHealth returns the following errors:
DISM Error 1726 – “The remote procedure call failed”;
DISM Error 1910 – “The object exporter specified was not found”.
It definitely means that your Windows image is corrupted and needs to be repaired.
Repair Windows Image Using DISM /RestoreHealth
To fix corruption in the Windows image Component Store, you must use the RestoreHealth option of the DISM command. This option will allow you to fix errors found in the Windows image, automatically download and replace files of damaged or missing components with original versions of files from Windows Update (your computer must have direct Internet access). Run the command:
DISM /Online /Cleanup-Image /RestoreHealth
In Windows 7/2008 R2, this command looks different: DISM.exe /Online /Cleanup-Image /ScanHealth
The process of scanning and repairing the Component Store may take quite a long time (30 minutes or more). DISM will automatically download and replace the files of corrupted or missing components with original file versions from Windows Update servers.
If the repair has been successful, the following message will appear:
The restore operation completed successfully.
DISM /RestoreHealth: The Source Files Could Not Be Found
If your computer (server) has no direct Internet access (located behind a proxy, or have used internal WSUS to get security and build updates) or Windows Update service is disabled/damaged (how to repair Windows Update client), then the following errors appear when repairing the Component Store:
0x800f0906 – The source files could not be downloaded. Use the source option to specify the location of the files that are required to restore the feature;
0x800f0950 – DISM failed. No operation was performed;
0x800F081F – The source files could not be found. Use the “Source” option to specify the location of the files that are required to restore the feature.
In all of these cases, you can use alternative ways to get the source Component Store files. It can be:
Installation disk/USB flash drive/ISO image;
Mounted wim/esd file;
Folder \sources\SxS from the installation disk;
The install.wim (esd) file with the Windows installation image.
You can specify a WIM or an ESD file with the original Windows installation image to be used as a source to repair the system files. Suppose, you have mounted an installation Windows 11 ISO to the virtual drive D:.
In our case, the Windows 11 Pro image in the install.wim file has ImageIndex = 6.
To repair the Component Store from a local WIM/ESD file using the local source files (without using Windows Update online services), run the following command (remember to specify the Windows version index in the image file):
The following errors can appear when running the DISM /RestoreHealth command:
Error: 50: DISM does not support servicing Windows PE with the /Online option – this means your DISM thinks you are using a WinPE image. To fix this, remove the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT;
DISM Error 87: make sure the DISM command is written correctly, make sure you are using the DISM version for your Windows version (usually when booting in WinPE/ WinRE).
You can find the DISM log of scanning and repair of the system files here: C:\Windows\Logs\CBS.log.
After the component store has been repaired, you can run the system file checker tool (sfc /scannow). It is likely that it will be able to restore the damaged or missing system files (Windows Resource Protection found corrupt files and successfully repaired them).
If the SFC.exe doesn’t detect any damage to the system files, a message will appear
Windows Resource Protection did not find any integrity violations.
Repair-WindowsImage: Repairing Windows Image Component Store with PowerShell
The version of PowerShell in Windows 10/11 and Windows Server 2016/2019/2022 has a cmdlet similar to the DISM commands discussed above. To scan the Windows component store and find any corruptions, run this command:
Repair-WindowsImage -Online –ScanHealth
If no errors are found in the Component Store, the following message appears:
ImageHealth State: Healthy
To repair Windows Component Store files, run:
Repair-WindowsImage -Online -RestoreHealth
If you don’t have direct Internet access, this command may hang during the image repairing process. You can restore the system components from the local Windows image file (install.wim/install.esd) copied from the Windows 10 installation ISO image. Here you also need to specify the Windows version index in the wim file as the recovery source:
Boot your device from the Windows installation image (you can use the Media Creation Tool to create a bootable Windows USB stick) and press Shift + F10 on the initial Windows install screen;
To check the drive letters assigned in WinPE, run the command diskpart -> list vol (in my example, the drive letter C:\ is assigned to the disk, on which Windows is installed, and I will use it in the next commands);
Check the system files and repair the corrupted ones with the command: sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
To repair the offline Windows image, use the following command (I am using a WIM file with the Windows 10 installation image from which the computer is booted as a source to restore my offline Windows image): Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
If there is not enough free space on the target disk, you will need a separate drive, e. g., F:\, on which you will create an empty folder mkdir F:\scratch . Perform a repair of the component store using the scratch dir with the command: Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
Tip. Here are some useful DISM parameters an administrator must know:
Under HKLM:\Software\Microsoft\IntuneManagementExtension\Win32Apps\ there is a GUID that represents every user that has been evaluated on the machine, and under each user is the GUID for the application. Delete either the GUID for the app (Which can be easily determined as it is part of the URL when viewing the application in intune) or delete youe user GUID (or all if unsure) and then restart the management service.
All apps will re evaluate , and your install counters will be reset ?.
Sometimes we can mount a VHDX that had its checkpoints saved on another location. When trying to boot the VM we will have a “Property ‘MaxInternalSize’ does not exist in class ‘Msvm_VirtualHardDiskSettingData’.”
This is because the disk properties has changed and the VM is linking the checkpoint back to its parent, making the chain corrupted.
To remediate this, we will use the Set-VHD powershell snippet
Before we start this process make sure that you don’t have any SD Cards connected to your PC.
We have to warn you that this process will delete all files from your hard drive, so if you’re planning to use it, make sure you create a backup beforehand. To run diskpart, follow these steps:
From the installation window with the error press Shift + F10 to open the command prompt
When Command Prompt opens, enter diskpart.
Now enter list disk. You should see the list of all hard drives connected to your computer.
Find the number that represents your hard drive and enter select disk 0 (we used 0 as an example, so be sure to replace 0 with a number that matches your hard drive).
Enter the following lines and press Enter after each line:
clean
create partition primary
active
format fs=ntfs quick
assign
Enter exit in order to close Command Prompt.
Continue with the installation process.
As already mentioned, this solution will delete all files on your selected hard drive, so use it on a new computer that doesn’t have any files on it, or only if you have a backup available.
Now personally, I’m not exactly a big Apple fan, especially since some of their hardware tends to be a little overpriced. But when I started looking for a nice keyboard to go with my new desktop build, I quickly realized that my desires aligned quite nicely with those of our late pomaceous demigod, The Almighty Steve.
The Illusion of Choice
My requirements in a keyboard are simple enough, really. Sorted by importance, they go a little like this:
Low-profile chiclet keys
Wired
Comfortable to type on
Good build quality
Not horribly ugly to look at
… and that’s about it. No crazy rainbow LED backlighting, no built-in LCD that tells you the weather and suggests going outside for some exercise, no customizable command macros, just a simple keyboard I can write code and game with.
I’m all about efficiency, so I’ve come to love laptop-style chiclet keys than only need to be depressed a few millimeters. I feel like I’m wasting so much energy when I’m pushing an old clunky mechanical key down into the Earth’s mantle just to get one lousy letter out of it. And forget this wireless nonsense of pairing devices and changing batteries all the time. Wireless tech is cool and all, but until it’s been better refined I’ll stick to untangling my rat’s nest of cables once a year, thanks.
So wasn’t I pleasantly surprised to learn that Apple’s standard wired keyboard is only $50, when anything comparable from Logitech, Microsoft or SteelSeries was double the price and double the ugly. I’ve been using it for over a week now, and I’m happy to report that it’s the best feeling keyboard I’ve ever used, so I highly recommend it.
There are a few quirks to using an Apple keyboard on a Windows machine, of course, but nothing we can’t fix with some program downloaded off the internet. Your two choices here are AutoHotkey and SharpKeys. The former runs as a script in the background that intercepts key presses and can make them do something else entirely, like a multi-key press macro, which makes it far more powerful. But again, since I’m a little obsessed with efficiency, it just wouldn’t do for me to have a script that starts up with Windows on every boot, eating precious CPU cycles while I wait for code to compile. So, I went with SharpKeys, which has the added bonus of being much easier to use than AutoHotkey. You don’t have to write any scripts, just a few clicks is all you need to set yourself up permanently.
Setting Up SharpKeys For The Apple Keyboard
The good news is that the keyboard itself is plug-and-play with a Windows machine, with almost everything working as expected. But if you’re anything like me, you probably want your shiny new device to match the functionality of a standard keyboard layout as closely as possible. The first step here is to identify the problem children when using the keyboard with stock settings:
The Windows and Alt keys are swapped, on both the left and right of the spacebar
There’s no Print Screen, Scroll Lock, Pause/Break, or Insert keys
The Eject and Function keys don’t do anything
So, with this in mind, I suggest the following SharpKeys remapping:
We’ve now fixed almost everything: the Windows and Alt keys are swapped back to the way they should be, and we get our handy Print Screen, Scroll Lock, and Insert keys back. The only problem is that Function and Eject are not recognized by SharpKeys, and hence we can’t do anything with them. You could probably overcome this using AutoHotkey, but I didn’t bother trying. The good news, however, is that you have four extra function keys you can use for whatever you want (I went with music controls), which gives us the following effective keyboard:
Now, I’m sure there’s a purist out there somewhere, screaming at his monitor that this doesn’t match the One True Keyboard Layout. Well, unfortunately, Pause/Break give SharpKeys some trouble by having a non-standard keycode, so I just didn’t bother with it. And let’s be honest, when’s the last time you pressed it? (If you answered “changing my environment variables, duh!” then you’ve earned yourself a cookie! But it’s still incredibly rarely, c’mon…) So, I plugged Insert there, rather than on the non-functional Function key (oh the irony). Finally, since Clear already behaves as Num Lock out of the box, we’ve got ourselves keyboard we can work with. Enjoy the shinies!
This Post will show you how to deploy a Remote desktop session server (RDSH) in a workgroup (non Domain).
This deployment is Session based and will allow the use of desktop sessions. The down side to having a none domain joined Session host is that you will need to create users on the host and configure local Group policy’s to restrict user access.
I have deployed a single server (non domain Joined) with Server 2012 R2.
Configuring the FQDN
As this is a workgroup server (non Domain) you will need to configure the Fully Qualified Domain name.
This can be done under system Properites
Deployment
We are going to deploy the RDS 2012 Session Host Role and the RDS licencing role
This image shows the roles and features that have been installed, as you can see the session host and remote desktop roles are shown as installed.
Adding the RDSH Certificate
Firstly you will need to import your certificate to the Local Computer , Personal Folder as shown in the screen shot.
Before configuring RDSH Servers you will see a warning stating that the certificate is untrusted.
This is because the configuration data for RDSH is stored in the WMI, Win32_TSGeneralSettingclass in WMI in the rootcimv2TerminalServices namespace. You will need to change the certificate from default using the following commands.
Firstly, You will need to find the certificate thumbprint.
You can also use PowerShell to find the Thumbprint:
Get-Childitem Cert:\LocalMachine\My
Run one of the following cmds to apply the new certificate to the Win32_TSGeneralSetting:
Command Prompt:
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="Thumbprint"
You will need to configure the licencing to allow multiple users to connect via sessions.
Adding Users
Add the users under Computer Management, Local Users and groups
Add the users to the remote desktop group.
you can also do this in the server manager under local Computer
As you are connecting to the RDSH host locally, use local\username
Applying Security
As you can see from the screen shots, users cannot install roles and features or modify Group Policy’s with out Administrator permissions, I would recommend configuring local group policy’s to lock down remote users, as you would in a Domain. You can access the local group policy editor via MMC and add the snapin for the Group policy editor.
Administering sessions
In the Group Policy editor, I have set the idle limit on the sessions so that if users are inactive for over a hour their session will be terminated.
.
You can also manage your users from the task menu
by right clicking on the user, you get a number of options including disconnecting the user, Sign them off, sending messages, and Connect which allows you to connect to a user session. You will need to be the user in question to do this.
When users are finished with their sessions they simply sign out, or they can disconnect. There is no option to shut down the server for remote session users.
If you are receiving one of the below error messages, follow the configuration steps listed to resolve your issue.
“Remote Desktop licensing Mode is not configured”
“The remote session was disconnected because there are no Remote Desktop License Servers available to provide a license”
1) Open Command Prompt (as admin).
2) Type in the following command:
a. gpedit.msc
Navigate to:
a. Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Licensing
4) Select the policy: “Set the Remote Desktop licensing mode”. Click Edit.
a.
5) Select “Enabled”, and change the dropdown to “Per User” (or device if you purchased device CALs). Click Apply.
a.
6) Select the policy “Use the specified Remote Desktop license servers”
7) Select “Enabled”, then input the name or IP of the server you installed the licenses on (it could be the current server, or another server; in most cases you can just enter the name of the server you are on). Click Apply.
Note: When in doubt, use the local server IP. This can be found in Server Manager.
a.
8) Navigate to:
a. Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections
9) Edit the policy “Limit number of connections”.
10) Select “Enabled” and change the number to “999999”. This will allow unlimited remote connections. Click Apply.
a.
11) In order to apply changes, the group policy must be updated. To initiate this, open Command Prompt (as admin) and enter the following command:
gpupdate.exe /force
Note: This step is required for any changes to take effect.
After following the above steps, users will be able to remote into the specified server.
Still having issues?
In some cases a trial of Remote Desktop Services will leave a registry key that requires removal. See the steps below to check if this key is set, and how to remove it.
1) Open “regedit”:
a.
2) Navigate to the following folder:
a. HKEY_LOCAL_SYSTEM \SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
3) Inside of the RCM folder you may see a folder titled GracePeriod with a REG_BINARY key. If the GracePeriod folder exists, the REG_BINARY key must be removed.
a.
Note: Moving forward ensure that you are signed in as an administrator. The following steps will not work unless your current account has admin privilages
4) Right-click the GracePeriod folder and select “Permissions”.
5) Select the “Security” tab and click “Advanced”.
a.
6) Change the owner to “Administrator”
a. Click “Change”.
b. Type “Administrator” in the large box and click Check names.
c. Click “Ok”
7) Apply Settings.
8) In the “Security” tab, select Administrator(s) and ensure “Full Control” is selected. Then click “Apply”.
a.
9) Now that we have ownership of the folder, we can delete the REG_BINARY key. Right-click the “L$RTMTIMEBOMB_…” key and select “Delete”. If the permissions were set correctly the key will delete. If you see anotice regarding permissions, please check steps 4-8 again.
10) After the key is removed we can reboot the server and resume normal function. Complete a server reboot at your convenience to finalize the registry key removal.