Windows Server Setup Guide with PowerShell

Windows Server Setup Guide with PowerShell

In one of our meetings with Javier, we were discussing how many servers we have in the office. In the end, it turned out that we have a lot of servers, both Windows and Linux. So we decided to take a look and see what is running on each of the servers. A lot of those servers are actually test servers used to test deployments or to show something to a customer. A few of them were just full of examples or basically nothing, so I decided to format them and rebuild the installation.

I decided to start with the Windows server, so this post is going to be about the tools that I use to set up the Windows 2016 server.

There were a few tasks that I needed to accomplish that I usually do using the UI, and most of them are a pain in the ****. There is no other way to describe it, so I decided to create scripts instead so I can replicate it easily between servers.

Disable Internet Explorer Enhanced Security

The first task that I do when I set up a Windows Server is to disable Internet Explorer Enhanced Security. If you have used that type of security before, basically it means that you need to allow or whitelist every URL in the page that you’re browsing and the related pages in the page that you’re browsing. So it’s like 100 clicks per page. To remove the enhanced security, you need to go to the Windows features and turn it off there and then restart. So I created a script that does that for me. In one click, I can just disable the security so I can use Internet Explorer to actually download something newer like Microsoft Edge.

Disable internet explorer Enhanced Security

Set Up Web Server Role

The next step after disabling the enhanced security is to set up the Web Server role in Windows Server. This doesn’t come out of the box; you have to actually add the role to the server. For that, I will use another script, and the script will also install Web Deploy, which is the functionality that allows you to do remote deploying into an IIS server.

Setup Web Server Role

Fix Web Deploy Permissions (Optional)

Now here is an extra step. This step is optional. For some reason, in some of the servers, even though you have a clean installation, there will be a problem setting up the Web Deploy functionality. It’s a permission problem basically. So there is a script to fix that. You have to run the first script that installs the Web Server and the remote Web Deploy functionality. This is optional; you should use it only in case your Web Deploy doesn’t work.

Fix web deploy permissions

Set Up SQL Server Express

The next step for setting up the server is to set up SQL Server Express, and I have a script for that. I will paste it here, but for some reason, the script always fails in the way that you download and try to deploy it on the server. What happens is that the process always gets busy and the files get locked. So I will have to come back to that one later, but I will post the script here just to remember it.

SqlServer Express install

Enable Remote SQL Server Access (Optional)

OK, the next script is also optional. In our test servers, we usually allow remote access to the SQL Server database because we need to either restore a backup or create a database. For this, we need to do two things: open the firewall port for the database and also enable TCP connection from the outside. So here is a script for that too.

Enable Remote SQL Server Access

So that will be it for this post. Let me know which script you would like to have to automate your server setup.

Mastering Symbolic Links: Unleashing the Power of Symlinks for Efficient File Management

Mastering Symbolic Links: Unleashing the Power of Symlinks for Efficient File Management

Symbolic links, also known as symlinks, are a type of file in a file system that point to another file or directory. They are essentially advanced shortcuts.

There are two types of symbolic links:

  1. Soft links: These redirect to the location where files are stored. They work similarly to a standard shortcut.
  2. Hard links: These make it appear as though the file or folder exists at the location of the symbolic link. Your applications won’t know any better. That makes hard symbolic links more useful in most situations.

For example, let’s say you have a program that needs its files at C:\\Program. You’d really like to store this directory at D:\\Stuff, but the program requires that its files be at C:\\Program. You could move the original directory from C:\\Program to D:\\Stuff, and then create a symbolic link at C:\\Program pointing to D:\\Stuff. When you relaunch the program, it will try to access its directory at C:\\Program. Windows will automatically redirect it to D:\\Stuff, and everything will just work as if it were in C:\\Program.

Symbolic links can be created using the mklink command in Command Prompt, with different options for creating symbolic links to files or directories. Alternatively, you can use the Link Shell Extension, a graphical tool, to create symbolic links with more options.

In Windows, symbolic links are transparent to users; the links appear as normal files or directories, and can be acted upon by the user or application in exactly the same manner. They are quite often used in Windows for system files and directories. You may use them when you need to move large files to another disk and Windows must consider that they are still located in the original directory.

For instance, if you have large LLM files that are taking up a lot of space on your main drive, you can move them to an external drive and create a symbolic link to their new location. This way, any application that needs to access these files will still be able to find them as if they were in their original location.

Here is an example of how you can create a symbolic link in Windows:


REM Move the directory
move C:\\Program D:\\Stuff

REM Create the symbolic link
mklink /D C:\\Program D:\\Stuff

The /D option is used to create a directory symbolic link. For files, you can omit this option.

In conclusion, symbolic links or symlinks serve as a powerful tool in file systems, offering flexibility and efficiency in managing files and directories. Whether it’s creating shortcuts for frequently accessed files or moving large files to an external drive without disrupting access, symlinks provide a practical solution.

Understanding and utilizing symlinks can significantly enhance your file management strategy, especially in Windows environments. So, start exploring the world of symlinks today and unlock new possibilities in file and storage management!