FAQ: Installation and Limitations of Domain Time II on Windows Nano Server
This article applies to Domain Time II.
Last Updated: 11 January 2017
The Windows Nano Server (introduced with Windows Server 2016) is designed for remote
configuration only. Domain Time II supports remote configuration through
its Control Panel applet (right-click on the left-hand panel and choose
Connect to Another Computer), and also through Domain Time Manager.
- You must use Domain Time 20160922 or later.
- You must install the SNMP Trap sending module (not yet available as of this writing) in
order to be able to send traps. If the module is not installed, Domain Time will fail to run.
You may copy wsnmp32.dll from the /system32 folder of any other x64 version of Windows 2016.
The file is required by Domain Time, but not included in the current
NanoServer distribution. This is likely to change as NanoServer
nears release, so only perform this step if your NanoServer's
system32 folder does not already have a copy of wsnmp32.dll. For example:
copy C:\windows\system32\wsnmp32.dll \\MyNamo\admin$\system32\
Important: Only perform this step if your Nano Server's
/system32 folder does not already have a copy of wsnmp32.dll. Do not overwrite the DLL
if it already exists on your Nano Server.
You may install onto Nano Server either remotely or locally.
The simplest and recommended method is remote installation by using
Domain Time Manager,
but you may also use the command line* as described below.
Remote installation using Manager (recommended)
You may use Domain Time Manager's ability to remotely install, upgrade, or remove
Server or Client the same way you would with any other Windows version.
Remote command-line installation
Find the 64-bit version of dtclient.exe (or dtserver.exe) in the /amd64 folder of your distribution files.
dtclient -install \\MyNanoServer
dtclient -upgrade \\MyNanoServer
dtclient -remove \\MyNanoServer
Local command-line installation
Installation on the Nano Server itself is slightly different.
- Copy the distribution files to a temporary folder on the Nano Server. Find the 64-bit version of
dtclient.exe (or dtserver.exe) in the /amd64 folder of your distribution files.
- Establish a remote PowerShell connection with full admin rights on the Nano Server
- Execute the desired command exactly as shown (the leading .\ is required)
.\dtclient -install -vq -nocpl
.\dtclient -upgrade -vq -nocpl
.\dtclient -remove -vq -nocpl
* The examples show available operations for Domain Time Client. Substitute dtserver.exe instead if installating Server.
- Only Domain Time Client, Domain Time Server, DTCheck, and NTPCheck, are
Nano Server-compatible. Other services and utilities will not run due to the
limited subset of the Win32 API supported by Nano Server.
- Domain Time Client and Domain Time Server are system services that operate
without a GUI or console IO. DTCheck and NTPCheck are command-line
programs: They will execute on Nano Server through a remote Powershell
- The preconfigured demo VM from Microsoft defaults to having the firewall
enabled, and set to use the Public profile. Domain Time's auto-management
of the firewall will not ever enable the rules for the Public profile. It
defaults to Private only for workgroup machines, and Private,Domain for
domain-joined machines. Domain Time's command-line program, DTCheck, lets
you specify profiles, but cannot operate remotely. You may therefore need
to adjust the firewall rules using netsh or other tools.
N.B. If you establish a PowerShell remote session to your Nano Server after
installing Domain Time, you can run DTCheck on the Nano Server with the
appropriate command line arguments to open the firewall.
- SNMP traps may or may not be delivered. As of this writing, Microsoft does not
yet have support for SNMP on Nano Server. Although Domain Time will run (as
long as a Windows Server 2016 wsnmp32.dll file is present in the system32 folder),
no functionality is guaranteed for delivery of traps.
- The "Critical Timing Interpolation Uses Waitable Timer" registry value
is ignored because multimedia event timers are not supported by Nano Server.
- Clock Change Monitor is not supported because the user32.dll functions for
registering classes and creating windows are stubs solely for linking
purposes. The functions return error codes instead of registering and
creating windows. Detection of WM_TIMECHANGE requires a window message
loop, which is impossible on Nano Server. Service-based time-change
notices may or may not work correctly in the final release. As of
this writing, service-based time-change notifications are not delivered.
- Virtual NIC reconnection and Time Change Event Monitor are not supported
because the advapi32.dll function for opening and reading the Windows Event
Log are just stubs. The Event Log can only be read remotely on Nano Server.
- Service notifications of power suspension/resumption, and service
notifications of time changes are not supported by Nano Server, so these
events will not trigger a resync.
- Service notifications of pending system shutdown are not delivered.
Therefore, Domain Time running on Nano Server cannot send its last
broadcast/multicast message about going offline. Shutdown is orderly,
and does not produce corruption, but without the signals, monitoring
stations may believe the Nano Server node is still online until direct
querying proves otherwise.
- Nano Server does not support local querying of the event log
and does not provide either service or window notification of time-change events.
- When you save and then start a Nano Server VM on HyperV, the winsock subsystem
will notify Domain Time that there has been an IP address change. Normally,
Domain Time uses this notice to enumerate the IPs and either rebind or
signal a resync as needed. If the IP address list hasn't actually changed,
Domain Time normally ignores the signal. Nano Server doesn't send the signal
when it removes the IPs prior to saving. It only sends the signal after
resuming. Therefore, the address list before and after the signal is always
the same (unless an IP really has been changed). Therefore, on Nano Server,
Domain Time treats all address change notifications as important, even if
the enumeration of IPs hasn't changed. Connecting remotely, the Domain Time
Control Panel applet will always show the "Initiate rebind and resync if IP
address changes" checkbox on the Network property page as checked and disabled.
This appears to be the only method of automatically signalling a sync when a
saved VM is started.
- Nano Server does not send any signals when a VM is paused and then resumed.
You should manually trigger a sync after resuming from the paused state.