PID 4 Using Port 80 – IIS Unable To Bind


IIS su Windows Server 2016, porta 80 impegnata da PID 4 System!!!

eseguendo un: netstat -o -n -a |findstr 0.0:80


TCP                 LISTENING       4

La soluzione è:

fermare è disabilitare il servizio “Windows Sync share” in italiano “Condivisione di sincronizzazione Windows”

Su Windows Server 2012 R2  Essentials ho risolto con:

netsh http add iplisten ipaddress=:: vedi anche:

How To Activate Windows 10 / Server 2016 Through Command Line

If you are having problems activating Windows 10, Server 2016, Windows 8, or Server 2012 one of these three solutions below should get you through:

This is handy if the GUI won’t start and you want to skip some steps to get it to work.

  1. click START (gets you to the tiles)4-no-change-product-key-link-missing-dns-error-0x8007232b-dns-error-activate
  2. type RUN
  3. type slui 3 and press ENTER
    1. yes, SLUI: which stands for SOFTWARE LICENSING USER INTERFACE
      1. SLUI 1 brings up the activation status window
      2. SLUI 2 brings up the activation window
      3. SLUI 3 brings up the CHANGE PRODUCT KEY window
      4. SLUI 4 brings up the CALL MICROSOFT & MANUALLY ACTIVATE window
  4. Type in your product key
  5. Have a nice day.

  1. Launch a CMD as an Administratorcommand-line-to-activate-windows-slmgr-slui
  2. Type: slmgr.vbs /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
  3. Press Enter

If your key is valid and you are connected to the internet, it should activate within a second or two.

In Canada and the US, call the support line directly at 1 800-936-4900, otherwise, use this table of Microsoft Activation Phone Numbers to do the deed.

You also might find some of our previous posts on activation problems to be helpful:



With Microsoft Exchange Server 2016 CU4, OWA in Exchange 2016 could not be opened with Mozilla Firefox or Google Chrome browser, but it will work with IE and Microsoft Edge. Using Firefox or Chrome browser the error *NS_ERROR_NET_INADEQUATE_SECURITY’ will be displayed in the browser. The reason for this for this error is the integration of the HTTP/2-Standard in the Windows Server IIS components by Microsoft.

To fix the problem download the tool ‘IISCrypto” on your Exchange Server 2016 CU4. Both Exchange installations, on Windows Server 2012 R2 and Windows Server 2016, could be fixed with that tool by NARTAC SOFTWARE.
Download IISCrypto

Afterwards run the downloaded ‘IISCrypto.exe*’ file on your Exchage Server 2016. Maximize the appliacation window and choose thr button “Best Practices”. To start the changes press “Apply”.


The programm will give you the hint to reboot the Exchage Server.


After the reboot of the related Exchange Server, Outlook on the web (OWA) will be reachable by any supported browser vendor.

Le mail rimangono bloccate nella cartella bozze in Exchange 2010/2013


Potrebbe capitare nell’uso di Exchange 2010/2013 che i messaggi di posta elettronica rimangano bloccati nella cartella bozze della cassetta postale mentre in osta inviata non ve n’è traccia.

Quando l’utente manda il comando di invio della mail lo “store driver” la processa e la gira al servizio di trasporto ma se questo processo non avviene (il servizio non è disponibile oppure non è in grado di processare la posta in uscita) la mail rimane nelle bozze.


L’inconveniente potrebbe essere dato da una non corretta configurazione nei DNS quindi basta collegarsi alla Exchange Admin Center, selezionare “server” sulla sinistra e modificare il server in oggetto. Nella voce “Ricerche DNS” selezionare “impostazioni personalizzate” e compilate sia la sezione “ricerche nel dns esterno” sia “ricerche nel dns interno”. Riavviate il servizio di trasporto di exchange e vedrete la posta inviata senza problemi.

Windows Server 2016 Download Maps Manager Delayed Start


Windows Server 2016 Download Maps Manager Delayed Start Red in Server Manager Dashboard

Its kind of annoying to find that after a fresh install of Windows 2016 Server you have a service that fails to behave correctly.

Download Maps Manager Delayed Start

When you click on the service, you will see something like this.

Screenshot 2017 08 02 22 40 27

Even if you attempt to force a start, it does not resolve this issue.

The good news is that this service is really not something you want anyway if you have a windows server doing actual server functions.

The Fix

The simple fix is to disable this service. The easy way to do this is to:

Open Windows Powershell

Windows 2016 Server Power Shell

Windows Powershell

Type this command:

Get-Service -Name MapsBroker | Set-Service -StartupType Disabled -Confirm:$false


Disable MapsBroker in Powershell

Problem is now fixed, and this annoying service is off and will not bother you again.

P2V – anolamie e soluzioni

Disk2VHD on a Generation 2 VM results in an unbootable VHDX

Most people who have been in IT for a while will know the Windows  Sysinternals tools and most certainly the small but brilliant Disk2VHD tool we can use for Physical To Virtual (P2V) and Virtual to Virtual (V2V) conversions. It’s free, it’s good and it’s trustworthy as it’s made available by Microsoft.

For legacy systems, whether they are physical  with IDE/SATA/SAS controllers or virtual with an IDE generation 1 VMS thing normally go smooth.


But sometimes you have hiccups. One of those is when you do a V2V of a generation 2 virtual machine using Disk2VHD. It’s a small issue, when you create a new generation 2 VM and point it to the OS vhdx it just won’t boot. That’s pretty annoying.


Why do a V2V in such a case you might ask. Well, sometimes is the only or fasted way to get out of pickle with a ton of phantom, non-removable checkpoints you’ve gotten yourself into.

But back to the real subject, how to fix this. What we need to do is repair the boot partition. Well recreate it actually as when you look at it after the conversion you’ll notice is RAW. That’s no good. So let’s walk through how to fix a vdhx that your created from a source generation 2 Hyper-V vm via Disk2VHD.

First of all create a new generation 2 VM that we’ll use with our new VHDX we created using Disk2VHD. Don’t create a new vdhx but select to use an existing one and point it to the one we just created with Disk2VHD. Rename it if needed to something more suitable.

Don’t boot the VM but add a DVD and attach the Windows Server ISO of the version your vhdx contains to the DVD.


Move the DVD to the top of the boot order I firmware.


The VM will boot to the DVD when you hit a key.

Select your language and keyboard layoout when asked and the don’t install or upgrade the OS but boot










Type diskpart and  list the disks. Select the disk we need (the OS disk, the only one here) and list the volumes. You can see that volume 3 off 99MB is RAW. That’s not supposed to be that way. So let’s fix this by creating boot loader directory structure, repair the boot record by creating the boot sector & copy the needed boot files into it.


select volume 3

assign drive letter L:


That’s it we can now us that 99MB volume to make our disk bootable to windows again.  Type Exit to leave diskpart.


So now we have a formatted boot partition we can create the need folder structure and fix the boot record and configure our UEFI bootloader

Switch to the L: volume

create efi\microsoft\boot folder structure for the bootloader as show below with the md command(make directory)

Type: bootrec /fixboot to create the bootrecord

Type: bcdboot C:\Windows  /l en-us /s l: /f ALL

This creates the BCD store & copies the boot files from the windows system directory

You can create all the directories in one go by doing
mkdir -p L:/efi/microsoft/boot/


Just click Continue to exit and continue to Windows Server 2012R2


.. and voila, your new VM has now booted.


Now it’s a matter of cleaning up the remnants of the original VMs hardware such as the NIC and maybe some other devices. The NIC is very important as it will have any static TCP/IP configuration you might want to assign tied to it which mean you can’t reuse it for your new VM. So, the 1st thing to do is uninstall the old network adapters from device managers, you’ll see them when you select “show hidden devices” in the view menu.

Good luck!

How to manually purge Exchange server logs – clean and easy

This example will show you how to purge the logs for a database that is located on Drive D. we will “fake backup” drive D and this will trigger the logs to be purged.

  1. Open Command prompt
  2. Launch Diskshadow
    1. Add volume d:
    2. Begin Backup
    3. Create
    4. End Backup
  3. At this step you should notice the following events in the application log indicating that the backup was indeed successful and logs will now be deleted.

Here’s some screenshots from the process:

Diskshadow commands for the example

How to set time server for Windows server 2008, SBS2011 & 2012


  1. First, locate your PDC Server. Open the command prompt and type: netdom /query fsmo
  2. Log in to your PDC Server and open the command prompt.
  3. Stop the W32Time service: net stop w32time
  4. Configure the external time sources, type: w32tm /config /syncfromflags:manual /
  5. Make your PDC a reliable time source for the clients. Type: w32tm /config /reliable:yes
  6. Start the w32time service: net start w32time
  7. The windows time service should begin synchronizing the time. You can check the external NTP servers in the time configuration by typing: w32tm /query /configuration
  8. Check the Event Viewer for any errors.

ab_ files eating space in Temp folder


cab_ files eating space in Temp folder

Two days ago one of my coworker called me, because he couldn’t start one of our proprietary applications. I got to him prepared to “reinstall” the program. I deleted the program folder and tried to paste working one from my backup and BAM!, no sufficient disk space box appeared. I thought “WTF?”.

I quickly returned to My Computer and noticed that there were 0 (sic!) bytes  free on C drive. I knew that this would be a very interesting case to investigate, so I switched the laptop with spare one and took it to my office. 🙂

The first thing I did was to run TreeSize (you can find it in Tools) which gave me this nice overview of disk usage:

cab_ files eating space int Temp folder 01

As you can see C:WindowsTemp takes up 173,7 GB of space! I decided to check that folder and saw this:cab_ files eating space int Temp folder 02

The folder was filled with hundreds of cab_ files!

From the dates I deducted that, on average, almost every hour 5 files were created. This was happening every working day, for the last nine months! No wonder they grew up so large.

I decided to check what what was creating them. I deleted all unused files from Temp (for nicer view 🙂 ) and set up Procmon with filter set to “Path begins with C:WindowsTempc”. All I had to do was to wait for my prey 🙂

Luckily I didn’t have to wait for long, as first files were created in 5 minutes.

cab_ files eating space int Temp folder 06

I checked Procmon and got:

cab_ files eating space int Temp folder 03

It turned out that a simple compressing program was causing all the trouble. But why was that?

You can see that in the “Command Line:” box we have a file supplied as a parameter to the program. So lets check it.

When I got to C:WindowsLogsCBS I stumped upon a CBS.log, a couple of and some CBSPersist_%date%.txt. (Sorry for no screen shots but I forgot to make them, so you’ll have to believe me 🙂 ). All the .cab and .txt files looked like old logs, so why not all of them are .cabs? I checked the .txt with the earliest modification date and I got my answer… It was 5GB in size! So now let me give you a little background information about what is happening here.

How does makecab work?

Makecab creates a compressed cab archive from selected file. To do this it creates cab_%numbers% file in Temp folder (if you run it from normal account it uses user’s temp folder). After everything is completed all the files are deleted. And why it didn’t happen here? Because the txt file it tried to compress was too big for it to handle:

cab_ files eating space int Temp folder 07

Here you have shown what happened when I tried to manually compress the txt file. The program exited before deleting the temporary files.

But why it grew up so large? To find the cause, let’s check what program started makecab in the first place.

To do this we will use Parent PID from makecab’s procmon event properties, and Task Manager with shown PID column:

cab_ files eating space int Temp folder 12

Now we have the bad guy! But what are his motives?

By using Procmon, Procexp and some google-fu I learned that TrustedInstaller is used by Windows Update to perform updates, which explains periodicity of file creation. When WU check for updates, TrustedInstaller writes a lot of information in CBS.log file. TI is also responsible for starting the process of compressing the log when it grows too large (50-500MB). It does it by renaming the original log to CBSPersist_%currentdate%.txt (below you have the renaming process captured in Procmon), and then calling makecab program with proper parameters.

cab_ files eating space int Temp folder 10

By looking at the modification dates on .txt files I noticed that the problematic file must have grown that large in only 4 days (last .cab had modification date set to 10.10.14r and .txt had 14.10.14r.). Why TrustedInstaller didn’t prevent it? Well, the only reasonable explanation for me is that WU wasn’t checking for updates during that time so there was no log size control.

And here things got interesting… When WU won’t check for updates? Only when there are ones waiting for restart, to install themselves! Sadly System Log was set to overwrite old log entries rather than archive, so I don’t have any proof of my diagnose, but I think that after installing updates no one restarted the laptop for 4 days. It was the first week we had this laptop in our production environment, so surely he had a lot of information to write there. One thing that supports it is that on my home system I saw a 0.5GB CBS.log file and it was only one day old 🙂

I think that this fully solves the problem and explains everything in detail 🙂

Thanks for reading, and remember to restart your computer once in a while 🙂 To the next time!