Jump to content

Recommended Posts

Posted
Oh my good lord... just created a new image with Windows 10 Education 1709. It's taking 701 seconds for a pupil account to log on. This is not acceptable.

 

 

Are there any clues in eventvwr as to why it is taking so long?

Posted
Oh my good lord... just created a new image with Windows 10 Education 1709. It's taking 701 seconds for a pupil account to log on. This is not acceptable.

 

Are you ripping out any of the apps?

Posted
Anyone tried 1803 yet? seems like an improvement over 1709, shaving off about 10 seconds on my test machine.

 

Is that with or without any apps removed?

 

1803 in theory will become our student image - as we are currently on 1703 so will look to upgrade over the summer.

 

Am hoping it shaves a few seconds off, we are on non-ssd devices so logging in times can be an issue, so every second counts I guess.

Posted
Is that with or without any apps removed?

 

1803 in theory will become our student image - as we are currently on 1703 so will look to upgrade over the summer.

 

Am hoping it shaves a few seconds off, we are on non-ssd devices so logging in times can be an issue, so every second counts I guess.

 

Most of the useless apps are removed, I have a few apps left on, calculator, photos etc.

 

I think the only new provisioned app is Web Media Extensions, which I left on.

 

All I've tested at the moment is an upgrade install from 1709 to 1803. On SSD went from 25 seconds initial login to 15 seconds

 

Wondered if anyone else had similar results.

Posted

Does the upgrade keep all the removed apps removed? Or does it bring them back? I knew they were bringing that in at some point but not sure if it every happened?

 

Once I get the ISO of 1803 I'll give it a test.

 

Will try and remember to report back here if it's any quicker with logon times too.

Posted
Does the upgrade keep all the removed apps removed? Or does it bring them back? I knew they were bringing that in at some point but not sure if it every happened?

 

Yes, the provisioned apps I removed from 1709 stay removed after upgrading to 1803.

I think from Windows 10 1703 onwards this is now the default behavior, so you should be ok.

  • Thanks 1
  • 2 years later...
Posted (edited)
We are using Windows 10 Education. Microsoft are promising new features exclusive to this edition in Anniversary Update and going forward, (see here). In the blog post it mentions they are going to improve first login times, but for now here is how we are optimising logon time. First, we remove all the default apps (bar the Store) with the following powershell command:

 

Get-AppxPackage –AllUsers | where-object {$_.name –notlike “*Microsoft.WindowsStore*”} | Remove-AppxPackage
Get-AppxProvisionedPackage –online | where-object {$_.packagename –notlike “*Microsoft.WindowsStore*”} | Remove-AppxProvisionedPackage –online

 

Certain apps cannot be removed (i.e. Edge, Cortana) so you have two options to further improve login times. Option 1 is to use AppLocker in Group Policy to block the modern apps. This works well, but at each logon the "App Readiness" service will still have a go at setting the apps up at each logon, which delays getting to the desktop. (For those already using this method check the event logs under "Applications and Services Logs\Microsoft\Windows\AppReadiness" to see evidence of this happening). Here is my example policy:

 

[ATTACH=CONFIG]36269[/ATTACH]

 

Here are some AppLocker instructions to get you going

 

Option 2 is to disable the "App Readiness" service. When this is disabled Windows wont bother trying to setup any of the modern apps at logon. The Settings app and Cortana will still work, but you sacrifice having Edge. We have decided to go with IE 11 as the default browser for best compatibility with existing systems (online exams, intranet etc.) and also install Google Chrome. We also install Microsoft Calculator Plus as an alternative to the modern app.

 

As an extra tip take a look at the VMware OS Optimisation tool. It's designed for VDI environments (which we also run), but can help you identify services and scheduled tasks that can be disabled on physical PCs in a domain environment to further improve OS performance. Using this I have also disabled the following services with group policy:

 

[ATTACH=CONFIG]36270[/ATTACH]

 

And removed the following scheduled tasks with group policy preferences (please note some of these are filtered to only be removed on our VDI stations):

 

[ATTACH=CONFIG]36271[/ATTACH]

 

OneDrive client also tries to set itself up at every user logon (????) We stop this with a User GPP registry item. Just delete the key HKCU\Software\Microsoft\Windows\CurrentVersion\Run\OneDriveSetup

 

I've just tested logon times with a newish laptop which has an SSD. I am testing with local profiles at the moment. First logon was 32 seconds. Second logon 12 seconds. Older hardware is obviously slower, so SSD upgrades are your friend :D

 

I have verbose logging turned on so I can see the profile generation and group policy processes for the first 17 seconds, then a further 15 seconds on "Preparing desktop". I tune the timeout of "Preparing Desktop" with a user group policy preference registry item. If this is the first time a user logs on to Windows 10 I set HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DelayedDesktopSwitchTimeout (DWORD) to 15 seconds (I would rather users stare at this than a black screen until the desktop appears). If a profile already exists on the PC I use GPP item targeting to change this value to 4 seconds.

 

I have been trying to do this all day on my PC and then I found this post. So I joined this forum to try and get support on it.

"DelayedDesktopSwitchTimeout"

I tried it on two Systems. One is running Win 7 and the other is Win 8.1.

 

But they are not joined to a domain. They are both home edition devices...

 

Does it work for local accounts?

 

I am trying to extend the duration of the welcome screen for security reasons. I want to allow more time for the programs to load before the desktop shows up.

 

Is there an alternative for none domain devices?

 

Are there other ideas?

Edited by JohnCoool
Posted
I am trying to extend the duration of the welcome screen for security reasons. I want to allow more time for the programs to load before the desktop shows up.

 

This isn't what the setting is designed for, it's to cut short a delay if it's taking longer than expected. It won't just make it appear slower.

 

What programs do you want to load before the desktop appears? Might be another way to resolve it

 

Steve

Posted

This has been in the making for a long time...

This is what I have done so far....

5 programs start up and among them is "startup delayer" which is used to launch a bunch of other programs that mostly are for security reasons. "Startup delayer" organizes the programs and then at start up it launches another exe file called "startup launcher.exe".

 

This is the argument in the registry for it under Run ""C:\Program Files\r2 Studios\Startup Delayer\Startup Launcher.exe" /LaunchType=Auto /LaunchApps=Common"

 

I tried to edit it but did not save the changes and did not want to mess with it any further after that. I saw it in the task manager after bootup doing nothing for 40-120 seconds before it starts launching the other programs and that is just too much of a big gap. Other programs sometimes boot a little slow and sometimes they are more immediate. I tried it on other profiles on the system and it was the same results.

I am using it on Win 8.1

 

I did use fire daemon (Can make programs into services) to get it to launch earlier but it could did not work with "startup launcher.exe". So I created another program as a service and a feature that Fire Daemon has is that it can pre launch a program before the service starts (I added service to the EMS load order group so that it launches early enough). Then I wrote a script that to launch the program that I needed but it launched the "startup launcher.exe" in session 0. So I modified the script to wait for an exe file before it launches and it worked and I tested it with a couple of programs but was still too slow.

 

The below is an example of the script. (The idea of the scripts is to allow more time for the programs to load before desktop loads in all cases).

 

@echo off

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

psexec -i 1 C:\Example.exe

psexec -i 2 C:\Example.exe

psexec -i 3 C:\Example.exe

psexec -i 4 C:\Example.exe

psexec -i 5 C:\Example.exe

psexec -i 6 C:\Example.exe

psexec -i 7 C:\Example.exe

Timeout /T 2

 

Exit

 

I wrote it to run on any of 7 sessions because I notices it would always be different session running. It still ran too slowly with a 1 min gap or delay.

 

I tried the two below scripts as well. The idea behind it is to allow more time for the programs to load before it finally allows me to do a full boot up.

 

This one is to do immediate log off when logging on and it works 7 times in a row and only allows to start at session 8 as per tasklist command But it is too slow and does not start for about 40 seconds after logon.

 

@echo off

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

psexec -i 1 shutdown /L

psexec -i 2 shutdown /L

psexec -i 3 shutdown /L

psexec -i 4 shutdown /L

psexec -i 5 shutdown /L

psexec -i 6 shutdown /L

psexec -i 7 shutdown /L

Timeout /T 2

 

Exit

The above one worked a bit slow for the 1st one and then faster for the others.

 

The next one worked very well but not every time.

 

@echo off

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

:search

tasklist|find "winlogon.exe"

IF %ERRORLEVEL% == 0 (GOTO :found)

TIMEOUT /T 1

GOTO :search

 

:found

timeout /T 10

nircmd.exe killprocess "winlogon.exe"

 

Timeout /T 2

 

It would end the session several times or run for over a min and then I would log on. It worked well but I am worried that it would cause other damages to the system if I keep on ending winlogon that way.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...