Using PowerShell to accomplish any function in Windows Server
An incredibly powerful tool in Windows Server 2012 R2 is PowerShell. Think of PowerShell like a command prompt on steroids. It is a command-line interface from which you can manipulate almost anything inside Windows that you may care to. Better yet, any task that you may wish to accomplish can be scripted out in PowerShell and saved off as a .ps1
script file, so that you can automate large tasks and schedule them for later, or at regular intervals. In this recipe, let's open up PowerShell and run some sample commands and tasks just to get a quick feel for the interface. In a later chapter of the book, we will do some more specific tasks with PowerShell to go even deeper into the technology.
Getting ready
To start using PowerShell, all you need is a server with Windows Server 2012 R2 installed. PowerShell is installed and enabled by default.
How to do it...
To get a feel of using PowerShell, perform the following steps:
- Right-click on your blue PowerShell icon and make sure to open PowerShell as administrator by clicking on Run as administrator. PowerShell is very powerful, but only if you have admin rights in the session.
- Test out some commands that you are familiar with from using the command prompt, such as
dir
andcls
. Since you are able to make use of these familiar commands, PowerShell can really be your one and only command-line interface if you choose. - Now let's try some of the PowerShell secret sauce, one of its cmdlets. These are special commands that are built into Windows and allow us to do all kinds of information gathering, as well as manipulation of server components. Let's start by pulling some data. Maybe take a look at what IP addresses are on the system with
Get-NetIPAddress
. - The previous command probably gave you a lot more information than you needed, since most companies don't make use of
IPv6
inside their network yet. Let's whittle this information down to theIPv4
specific info that you are most likely interested in. EnterGet-NetIPAddress –AddressFamily IPv4
to attain it.
How it works...
PowerShell has so many commands and cmdlets, we just wanted to get a feel for launching the program and pulling some data with this particular recipe. There are countless Get
commands to query information from the server, and as you have seen those cmdlets have various parameters that can be appended to the cmdlets to pull more specific data to meet your needs. To make things even better, there are not only Get
cmdlets, but also Set
cmdlets, which will allow us to make use of the PowerShell prompt to configure many aspects of the configuration on our server, as well as remote servers. We will dive further into PowerShell in a later chapter.