Print Server using Windows Server Core

Introduction

Many administrators are always looking for ways to simplify the required management of their environments, save on overhead, resources, etc. With the advent of Windows PowerShell and it growing to be a commonplace administrator utility in Windows environments, simple systems such as print servers no longer really require a full-fledged graphical user interface. Print servers are prime candidates to be hosted on the CLI-based Windows Server Core variant of Windows Server, especially where they are so easily managed through remote PowerShell. In this brief article, we’ll take a quick look at spinning up a core print server and some of the options available for administering the new server.

Spinning up your machine

Whether you are using traditional hardware for your server (a rackmount server, blade server,tower server/desktop PC) or a virtualized environment, you’ll first need to actually install Windows Server Core on your machine. For my environment, I spun up a virtual machine in my Proxmox virtual environment, but many may be using VMware, Hyper-V, or other solutions which will work perfectly fine.

Adding the features and roles to the server

Once you have Windows installed and your requisite network and domain configuration done, add the necessary services and features to the server:

Install-WindowsFeature Print-Services

This will install the Print Services role as well as the Print Server Role Service. No further configuration is necessary as far as the services and features go. All that is left to do is add some printers!

Administering the server

There are multiple ways to administer your new Windows Core print server.

PowerShell

Arguably the correct way to manage a Windows Core server, is PowerShell. Like other deployments, a print server is managable through the command line with general ease. Beginning with Server 2012’s Core version, there are many print management commands available to administrators.

As an example, we can configure a printer using just two commands:

Adding the printer port: Add-PrinterPort -Name "192.168.254.5" -PrinterHostAddress "192.168.254.5"

Adding, sharing, and publishing the printer: Add-Printer -Name YourPrinter01 -DriverName "HP Universal Print Driver PCL6" -PortName 192.168.254.5 -Shared -ShareName "YourPrinter01" -Published

VBS

An archaic option also exists. At C:\Windows\System32\Printing_Admin_Scripts you’ll find a variety of VBS scripts that can be used to administer the print server. But seriously, who is preferring VBS when we have PowerShell?

As an example, we can configure a printer using the following commands:

Creating the printer port: cscript prnport.vbs -a -r 192.168.254.5 -h 192.168.254.5 -o raw

Adding a printer on the above printer port: cscript prnmngr.vbs -a -p YourPrinter01 -m "HP Universal Print Driver PCL6" -r 192.168.254.5

Sharing the above printer: cscript prncnfg.vbs -t -p YourPrinter01 -r 192.168.254.5 -h YourPrinter01 +shared -direct -m "Default printer for HR" -l "YourDesiredLocation"

Publishing the printer to Active Directory: cscript pubprn.vbs \\printserver\YourPrinter01 "LDAP://CN=YourContainer,DC=YourDomain,DC=com"

GUI

If you really just can’t let go of using the graphical user interface just yet as you ease into command-line-based administration you can still get your hands on the GUI by executing: C:\Windows\System32\printui.exe /il

Additionally, on a remote machine, you can connect RSAT to your Windows Core print server and use the Print Management snap-in for the Microsoft Management Console to visually administer the print server.

But seriously…get comfortable with PowerShell. This is the way.

Conclusion

And, well, that’s pretty much it. There is certainly a more granular level of detail we could go into, but for the purposes of a general overview, I think that does it. Windows Core servers are quick and easy to spin up and an absolute breeze to configure if you are comfortable with PowerShell. In a lab environment, they can also be a great way to get more comfortable with PowerShell if you are just learning. Go ahead and spin up a Windows Core server in VirtualBox or your choice of virtualization bench and give it a try!

What are you using core servers for in your environment, and how do you like it? I’d love to hear from you in the comments below.


Additional Reading

Install Print and Document Services | Microsoft Docs

Using Server Core as a Print Server – Microsoft Tech Community

Installing Windows via bootable USB drive for Dell Precision 5820 Towers w/ FlexBay NVMe SSDs installed

Dell Precision 5820 towers require manual loading of the storage drivers during the Windows installation process. This brief article provides step-by-step walkthrough of how to accomplish this.

Prerequisites

In order to image a Dell Precision 5820 Tower that has a FlexBay NVMe solid-state drive installed, you’ll need the following:

  • The computer tower
  • Windows 10 ISO of your choice
  • Rufus bootable-USB creation software
  • USB flash drive with a minimum of 8GB of storage
  • The Intel Rapid Store Technology Enterprise driver for the virtual RAID and AHCI controllers

The process of obtaining the drivers and flashing the USB are covered in this article. If you already have your bootable USB Windows installer ready, skip to the Copying the driver section.

Obtaining the necessary drivers

To obtain the necessary drivers, look up the Service Tag of the workstation in question. See the Additional Resources section for links to the lookup website, driver download, and more.

Once you’ve downloaded the driver’s installer, run the executable. When the splash page pops up, select the “Extract” option instead of the Install option. Extract the driver files to a location of your choice.

Creating bootable USB Windows installer

Insert your chosen USB flash drive to your system. Download and run Rufus.

Select your device and ISO file.

Partition scheme = GPT

Target system = BIOS or UEFI

Give the drive a name and click Start. When finished, close Rufus but do not remove the drive from your system.

For this example, I already had a bootable USB installer for Windows 10 Update 20H2 prepared.

Copying the driver

In your newly created bootable USB flash drive, create a directory called “drivers” and another directory inside it called the workstation brand and model. The previous sentence is optional, but extremely helpful when organizing drivers for multiple systems on a single installer drive. Navigate to the directory to which you extracted the drivers. Cut or Copy these, and Paste them into the directory you just created on the bootable USB flash drive. In my example, the file system on the flash drive looks like this:

When done, remove the USB flash drive from your system.

Installing Windows

Insert the bootable USB flash drive in the Dell Precision 5820 or 7920 workstation in question. Power on the device.

At the Dell boot splash page, rapidly tap the F12 key on the keyboard until you see “Preparing one-time boot menu” at the top-right corner of the display.

When the one-time boot menu appears, use the arrow keys on the keyboard to scroll down to the “BIOS configuration” option, then strike the enter/return key on the keyboard to enter the BIOS configuration menu.

The following settings must be set/verified;

  • Secure Boot = Disabled
  • Boot Sequence > Boot Option = UEFI
  • Advanced Boot Options > Legacy Option ROMs = Enabled

Save all changes and reboot the system. Again, at the Dell boot splash page, rapidly tap the F12 key on the keyboard until you see “Preparing one-time boot menu” at the top-right corner of the display.

When the one-time boot menu appears, use the arrow keys on the keyboard to scroll down to your bootable USB flash drive, then strike the enter/return key on the keyboard to boot from your drive.

The Windows installer should now load. Continue through the Installation menu as you normally would until you reach the “Where do you want to install Windows?” screen.

At this screen, click “Load driver” and navigate to the directory on your bootable USB flash drive. Select the directory of the appropriate AHCI/SATA driver, then load the driver. The installer will do some scans, then return you to the screen above. If no drive appears at this point, that is normal.

Again, click “Load driver” and repeat the previous step, but this time selecting the appropriate RAID driver from the directory on your bootable USB flash drive. Load the driver. Once both drivers are loaded, you should now see the drive(s) in question available.

Proceed with the Windows installation as normal.


Additional Resources

Dell Precision 5820/7920: Imaging Steps for NVMe Drives in the Flex Bay

Dell Service Tag Lookup

Intel Rapid Store Technology Enterprise F6 Driver v5.3.1.1019_A03 – Download

Rufus – Download