Task Scheduler Error “A specified logon session does not exist” – Fix via Command Line and PowerShell for Scripting

This is very know issue, if you search internet, you will get multiple blog post with same solution for this issue, and if you follow the steps, it actually resolve this issue.

In simple word, solution of this problem is

  1. Logon to the faulty system.
  2. Open SECPOL.MSC from Run
  3. Go to Security Settings | Local Policies | Security Options
  4. Open Network access: Do not allow storage of passwords and credentials for network authentication
  5. To resolve this issue, simply set this policy to Disabled.

But, my problem is little bit different, I was working on a script to validate the Local Admin password of multiple remote systems, I found best way to validate this is to create a ONSTART task with local admin credentials with schtasks.exe via PS Remoting (WSMan). Something like this

If the scheduled task created successfully, it means the local admin account authenticating. Now the problem is, when I was trying to run this remotely on multiple Windows 2008 R2 servers, I am getting “A specified logon session does not exist” and my script reporting wrong status. Solution is already available, but who will made those changes on hundreds of servers manually, and I am also not sure why this policy was enabled. So I don’t want made any permanent changes on all the servers for validating local admin password.

What I did is, logged on to a problematic system, and extracted the local security policy configuration using this command
Continue reading

Playing with String in PowerShell

As being a Windows Administrator I use PowerShell every day and the best part of it is, I learn something new every day. In simple word PowerShell can make your life easier, and I think you all agreed with it. I often requested to pull various reports from various sources and it was not always possible to get the exact report by executing one or more cmdlet. Sometimes had to manipulate certain strings from cmdlet output or reading some specific log files for generating reports. Here I will share my experience on how we can easily working with strings in PowerShell.

TASK – 1: Validate the target computer is located in Non-Prod OU or Not.

First I kept the Computer Object LDAP path to $InputComputerName variable using

Now I have to split the variable with “,”, so that I will be getting it into the following order.

Now you can each line by using [0], [1], [2], and exactly here I need the value of second line, so I used [1]

Now again I am splitting this with “=”

No I am selecting second line with [1] to get the current OU location and mission accomplished J

Continue reading

How to boot Windows Server 2016 Technical Preview with GUI (Server with Desktop Experience) from VHD

The reason behind writing this article is to use my Laptop (having Intel i3 4th Gen and 8 GB of RAM) as my LAB for testing new Windows Server 2016 TP4 and to do that I have to use boot from VHD option. There are multiple ways to boot your system from VHD but I don’t find a simple and effective one. Second reason is I wanted to boot the Windows Server 2016 TP4 with GUI (aka Desktop Experience), coz I like the new Windows GUI.

So, let’s get started.

First, you have to download the Windows Server 2016 TP ISO from here. Once downloaded, extract the ISO content to a folder (I have extracted to C:\MyData\WinSvr2016). Now you have to create a VHD and mount it with any available drive letter (I selected V). Use the following set of command one by one from PowerShell or Command prompt with administrative privilege.

Continue reading