I work in a place where we have a lot of kiosk pc’s and pc’s that people can borrow. This mean that it is a first logon (almost) every time someone is logging in to Windows. The first logon time is not very fast in Windows 10, in fact it is very slow. There are some thing that you can do to speed up the first login time.
- Remove Windows store apps
- Remove “First login animation”
- Remove “Consumer” apps
- Added a auto logon with a _”Dummy” user
- Remove printer mapping via GPO or uses Printer driver version 4
1. Windows store apps is getting installed in the user profile on every user that logon to Windows. And this takes time. So I remove the Windows store apps that I don’t need with PowerShell. Michael Niehaus have written a PS script that does it based on a XML file. Get RemoveApps.zip here. You just comment the apps that you want to keep in the XML file and then run the script. You can add it to a SCCM task sequence.
2. You can also win a little time by disable “First login animation”. You can do the with a GPO:
a. Navigate to Computer Configuration > Administrative Templates > System
b. Select Logon
c. Double-click Show first sign-in animation
d. In the Show first sign-in animation window, select Disabled and click OK
3. Consumer apps is Candy crush and stuff like that. You can create a GPO, so they won’t get installed:
a. Navigate to Computer Configuration > Administrative Templates > Windows components > Cloud content
b. Double-click Turn Off Microsoft consumer experiences
c. In the Turn off Microsoft consumer experiences window, select Enabled and click OK
4. When the first user is logging on to Windows, then all the setting for the default user is created and of course the settings for the current user that logon. So I have added a login, with a user that doesn’t have access to anything, as the last step in my OS task sequence, where I also is doing a GP Update. You need two steps to create a auto login:
b. Download First_Run.zip and create a package in SCCM containing the files in the zip file.
c. edit “autologin.vbs” and add your user in line 16+17+18
d. Create a scheduled task
Right click the scheduled task and choose “Export” and save it in the sccm package you created in step b and replicate the package to your distribution points.
e. Create “Run Command Line” step and choose the FirstLogon.cmd file. Select the package that you created in step b.
f. Create another “Run Command Line step”, select the package you created in step b and add this command line:
schtasks /Create /XML First_Run.xml /TN First_Run
5. It can take a lot of time when you map printer with GPO and version 3 of the print drivers. So that gives us two options.
1: Upgrade your print server to Server 2012 _R2. Because then you will be using printer driver v4. And the driver are very small compared to print driver v3
2. Map the printers during OS deployment.
You will need two steps to map the print drivers
a. Create a shared folder. Ex. on your package share and call it “Printer Mapping”
b. Download PrinterMapping.ps1 and save it in the folder you created in step a. This script will map printers based on with OU the Pc is located in.
Add the name of the OU in line 21.
Add the printer share in line 24.
Add the default printer in line 42.
When you add printer like this, then the user cannot remove them. But they can choose with printer they want as default. To remove a printer that is install like this, you have to run this command line:
RUNDLL32 PRINTUI.DLL,PrintUIEntry /gd /z /n\\computername\printername
c. Create a “Run Command Line” step that connect to a folder where the printer mapping script is located
d. Create a “Run Command Line” step that runs the PowerShell script:
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy ByPass -nologo -noprofile -file Z:\PrinterMapping.ps1
With the above settings I have reduced the first logon time in Windows 10 from 2-4 minutes to about 20 seconds on a HP 840G1 with a SSD.
If you have other settings that make first logon faster, then please let me know.