In this article, we will show you how to install the SCVMM agent on Windows Server Core Edition.
Introduction
While installing System Center Virtual Machine Manager 2016 Agent on Windows Server 2016 Core edition, I encountered the following error:

Error (415)
Agent installation failed copying ‘C:\Program Files\Microsoft System Center 2016\Virtual Machine Manager\agents\I386\4.0.2051.0\msiInstaller.exe’ to ‘\\NINJA-S2D-HV02.VIRT.LAB\ADMIN$\msiInstaller.exe’.
The network path was not found
Recommended Action
1. Ensure ‘NINJA-S2D-HV02.VIRT.LAB’ is online and not blocked by a firewall.
2. Ensure that file and printer sharing is enabled on ‘NINJA-S2D-HV02.VIRT.LAB’ and is not blocked by a firewall.
3. Ensure that WMI is enabled on ‘NINJA-S2D-HV02.VIRT.LAB’ and it’s not blocked by a firewall.
4. Ensure that there is sufficient free space on the system volume.
5. Verify that the ADMIN$ share on ‘NINJA-S2D-HV02.VIRT.LAB’ exists. If the ADMIN$ share does not exist, restart ‘NINJA-S2D-HV02.VIRT.LAB’ and then try the operation again.
Warning (10444)
The VMM management server was unable to impersonate the supplied credentials.
Recommended Action
To add a host in a disjointed domain namespace, ensure that the credentials are valid and of a domain account. In addition, the SCVMM Service must run as the local system account or a domain account with sufficient privileges to be able to impersonate other users.
Let’s go through the recommended actions one by one and see how can we resolve this issue:
1. Ensure ‘HOST A’ is online and not blocked by a firewall
Point number 1 is not applicable in our case, the host is online and not blocked by any firewall. The host is reachable from the VMM server.
2. Ensure that file and printer sharing is enabled on ‘HOST A’ and it is not blocked by a firewall
We can quickly identify the file and printer sharing rule by running the following PowerShell command from the VMM server:
$HV = 'HOST-A'
$Session = New-PSSession –ComputerName $HV -Credential 'Domain\User'
Invoke-Command -Session $Session -ScriptBlock {
Get-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' | Select DisplayName, Profile, Enabled, Action
}

As you can see, the “file and printer sharing” rule is not enabled for Domain and Private profile, however, it’s enabled for Public profile.
We can enable the firewall rule for the Domain profile by running the following command:
# Set File and Print Sharing Firewall
Invoke-Command -Session $Session -ScriptBlock {
Set-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' -Profile Domain -Enabled True -Direction Inbound -Action Allow
Set-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv6-In)' -Profile Domain -Enabled True -Direction Inbound -Action Allow
}
However, trying to install the Agent again but receiving the same error!
3. Ensure that WMI is enabled on ‘HOST A’ and it is not blocked by the firewall
We can quickly check if Windows Management Instrumentation (WMI) is enabled or not by running the following PowerShell command:
# Check WMI Firewall
Invoke-Command -Session $Session -ScriptBlock {
Get-NetFirewallRule -DisplayName 'Windows Management Instrumentation (WMI-In)' | Select DisplayName, Profile, Enabled, Action
}

As you can see, the “WMI” firewall rule is not enabled. We can enable it by running the following command:
# Set WMI Firewall
Invoke-Command -Session $Session -ScriptBlock {
Set-NetFirewallRule -DisplayName 'Windows Management Instrumentation (WMI-In)' -Profile Domain -Enabled True -Direction Inbound -Action Allow
}
Trying to install the Agent again but receiving the same error as well!
4. Ensure that there is sufficient free space on the system volume
Sure, we have enough free space on the System volume, we can quickly check this by running the following command:
# Check System Volume Free Space
Invoke-Command -Session $Session -ScriptBlock {
Get-Volume | Where-Object {$_.DriveLetter -eq "C"} | Select DriveLetter, @{ Expression = { $_.Size/1GB }; Label = "Size (GB)" }, @{ Expression = { $_.SizeRemaining/1GB }; Label = "SizeRemaining (GB)" }
}

5. Verify that the ADMIN$ share on ‘HOST A’ exists. If the ADMIN$ share does not exist, restart ‘HOST A’ and then try the operation again
A quick check, you can verify this by browsing the hidden ADMIN$ share from the VMM server. Open Run and type the following command:
\\HOST-A\ADMIN$

As you can see, we could not able to browse the hidden ADMIN share. VMM uses this share to push the agent to the target host.
What could be the reason then?
I will add point 6 to the above action list and see how can we resolve this issue.
6. Verify that the File Server role is installed and then try the operation again
We can verify if the File Server role is installed on Server Core by running the command:
# Check File Server Role
Invoke-Command -Session $Session -ScriptBlock {
Get-WindowsFeature -Name "*FS*"
}

As you can see, the file server role is NOT installed by default on Server Core compare to Full Server. To install the role through PowerShell Remoting, you can run the following command:
# Install File Server Role
Invoke-Command -Session $Session -ScriptBlock {
Install-WindowsFeature -Name FS-FileServer -Verbose
Remove-WindowsFeature -Name FS-SMB1 -Verbose Restart-Computer
}
It’s also worth mentioning to remove and uninstall SMB Version 1.0 as well. The original SMB1 protocol is nearly 30 years old, and like much of the software made in the 80s, it was designed for a world that no longer exists! The command above will install the File Server role and uninstall SMB1 for you.
That’s all there is to it. This fixed the issue and enabled SCVMM to push its agents to Windows Server Core.

Hope that helps!
__
Thank you for reading my blog.
If you have any questions or feedback, please leave a comment.
-Charbel Nemnom-