• 2012 Core Survival Guide

    I like many of you keep notes to remember all the command line tools. In the past I would develop an OneNote document to keep my notes in. This time I am going to share my 2012 Core Survival Guide with you. I am doing this because my customers are planning to deploy Windows 2012 Server with the core interface.  I need to be ready to support them when the time arises.  I hope you can benefit from this guide too.

    In order to stay focused here, this is the scenario I am using:

    You are a server administrator with a Windows Server 2012 deployed with only the core interface. You cannot Remote Desktop, Remote PowerShell, or ping the box. You still have access to the console by walking up to it.

    So I plan to come up with a list of tasks needed to get the server back in production.

    As I develop this survival guide I am going to make some assumptions:

    • If you have remote access to the box you would use a GUI to manager it
    • Tasks should be easy to type in or copy - 1 line commands
    • I plan to use PowerShell whenever possible
    • This is because it is the way of the future
    • You do not have to be a programmer
    • You do not have to know PowerShell
    • Each task should be easy to change for your environment
    • For example if I use IP address 192.0.0.10 you can change it to your IP address
    • There may be other ways to complete the tasks. Please share your ideas in the comments
    • This guide is not intended to teach you PowerShell. Although you might learn some of it.
    • The intent is to develop easy to follow examples
    • I am only testing these command on Windows Server 2012
    • Level 1 ops teams should be able to use the guide with little instruction

    So far this is my list of tasks for the 2012 Core Survival Guide. I plan to blog about these over the next weeks and months. I hope to knock out several of these a week. As I blog them I will update the links below.

    If you feel that I might have missed a task that fits the scenario please leave me a comment and I will see what I can do to add it to the list.

    Bruce

  • Follow me and learn Windows Server 2012

    Hello, Bruce here again. 

     

    With the release of Windows Server 2012 we all have to start learning the new features of the product.    So I thought I would share with you what I’m studying and some resources to bring you to speed at the same time.   Below is an index of my learning blogs:

     

    Follow me and learn Windows Server 2012 - Dynamic Access Control

    Follow me and learn Windows Server 2012 - Rapid deployment of DC with Cloning

    Follow me and learn Windows Server 2012 – Active Directory-Based Activation

    Follow me and learn Windows Server 2012 – Relative ID (RID) Improvements

    Follow me and learn Windows Server 2012 – Flexible Authentication Secure Tunneling (FAST)

    Follow me and learn Windows Server 2012 – Cluster Aware Updating

    Follow me and learn Windows Server 2012 – Group Policy

    Follow me and learn Windows Server 2012 - iSCSI storage

    Follow me and learn Windows Server 2012 - Resilient File System (ReFS)

    Follow me and learn Windows Server 2012 - Storage Spaces

    Follow me and learn Windows Server 2012 - Data Deduplication

    Follow me and learn Windows Server 2012 - New AD Users Interfaces

    Follow me and learn Windows Server 2012 – Group Managed Service Accounts

    Follow me and learn Windows Server 2012 - Virtual Machine Live Migration/Storage Migration

    Follow me and learn Windows Server 2012 - Hyper-V Replica

    Follow me and learn Windows Server 2012 – NIC Teaming and SMB Multichannel

    Follow me and learn Windows Server 2012 – DHCP Server High Availability

    Follow me and learn Windows Server 2012 – IP Address Management (IPAM)

    Follow me and learn Windows Server 2012 – Remote Desktop Services

    Follow me and learn Windows Server 2012 – Hyper-V Dynamic Memory

    Follow me and learn Windows Server 2012 – Scale-Out File Servers

    Follow me and learn Windows Server 2012 – Installation Options

    Follow me and learn Windows Server 2012 – Failover Clustering VM Monitoring

    Follow me and learn Windows Server 2012 – Clustered Shared Volumes

    Follow me and learn Windows Server 2012 – Hyper-V Features

    Follow me and learn Windows Server 2012 – Server Manager

    Follow me and learn Windows Server 2012 – PowerShell Web Access

    Follow me and learn Windows Server 2012 – Virtual Smart Cards and Improvement in BitLocker

    Follow me and learn Windows Server 2012 – DNSSEC, Chkdsk, Constrained Delegation

     

    Bruce

     

  • Windows 2012 Core Survival Guide - Managing basic IPv4 configuration information

     

    Learn about my 2012 Core Survival Guide here.

    Basic IPv4 Address configuration

    Windows Server 2012 Core still has IPCONFIG.EXE that can be used to view the IP configuration. Modern servers typically come with several network interface ports.  This causes IPCONFIG.EXE to scroll off the screen when viewing its output.  Consider piping the output if IPCONFIG.EXE to a file and view it with Notepad.exe.  This is the typical command I use:

    IPConfig /all >IPConfigOutput.txt

    Notepad IPConfigOutput.txt

    The screen shot below is what you would expect to see using the above commands.

     

     

    Viewing basic IPv4 configuration information with Get-NetIPAddress

    If you wish to modify your IPv4 configuration you will need to know the “InterfaceIndex” of the NIC.  PowerShell is going to be the tool of choice to determine this.  I use the following PowerShell command to determine the “InterfaceIndex”

    PowerShell Command:

    Get-NetIPAddress -AddressFamily IPv4 | format-table interfaceindex, interfacealias, ipaddress, PrefixLength -autosize

    This command will display in a table format the IPv4 address for all of the Network Interface ports installed in the server.  As you can see below all three NICs have link local address (169.254.y.z).  This may indicates that NICs are configured for DHCP and this server cannot locate a DHCP server.  (See Determining if an IPv4 address is DHCP or Static to verify NIC setting)

     

    In the above screen shot PrefixLengh is the CIDR-type subnet mask.  This equals the number of bits used for the Subnet Mask.  For example:

    • 24 is a subnet of 255.255.255.0
    • 16 is a subnet of 255.255.0.0
    • 8 is a subnet of 255.0.0.0

    Modifying basic IPv4 configuration information

    As you can see from the output above we have 3 NIC in this box and the loopback adaptor.  Now that you know the “InterfaceIndex” we can modify one of the NIC in the this server.

    I have found that when working with Core it is a best practice to configure the IP Address, Subnet Mask and Default Gateway all at the same time.  Below I am going to modify the NIC with “InterfaceIndex  14”.  I am going to give it an IPv4 address of 192.168.0.10 with a Subnet mask of 255.255.255.0 and a default gateway of 192.168.0.1. 

    PowerShell Command:

    New-NetIPAddress -interfaceindex 14 -IPAddress 192.168.0.10 -Prefixlength 24 -defaultgateway 192.168.0.1

    Below you can see I started with a link local address of 169.254.65.227 with a CIDR-type subnet mask of 16.  We change it to 192.1680.10 with a CIDR-type subnet mask of 25.  I will cover how to see the default gateway in an upcoming blog.  For now you will have to believe me that I set it.

     

     If the IPv4 address has already been set or you run the same command again you might see this error below.

     

    Removing basic IPv4 configuration information

    Removing all of the basic settings is a bit tricky.   You must use the same parameters that would be used to configure the interface.  If you leave off defaultgateway it does not remove it from the configuration.

    PowerShell Command

    Remove-NetIPAddress -interfaceindex 14 -IPAddress 192.168.0.10 -defaultgateway 192.168.0.1

    In the screen shot below we show the current setting, removing the setting and the results of the removal.

     

    The removal of the default gateway has some challenges.  If not correctly removed, it can prevent you from correctly configuring the basic IPv4 configuration.  I plan to blog about this in my upcoming blogs.  I will include complete instruction and troubleshooting steps for removing the default gateway.

    Modifying an misconfigured IPv4 Address

    If your IPv4 address has been set, but misconfigured, you can modify it by first removing the old IPv4 address and adding it back.

    Now it is time for you to get into your lab and play with this.  You don’t want your first experience with configuring basic IPv4 configuration to happen with the CIO standing over your shoulder watching you.

    I hope you found this useful.  Please leave me a comment

    Thanks,

    Bruce

  • Windows 2012 Core Survival Guide – DNS Suffix List

    DNS Suffix List

    Learn about my 2012 Core Survival Guide here.

    I often find in large enterprises that the DNS Suffix list is inconsistent, contains out dated domains, or is incomplete for the environment.  The DNS Suffix list is what allows us to use computer names instead of fully qualified domain names (FQDN).  This is a key part of TCP/IP name resolution.  In this blog I will cover how to view, set, and remove DNS Suffix lists.

    Viewing the DNS Suffix Search List

    To view the DNS suffix search list use the Get-DNSClientGlobalSettings cmdlet

    PowerShell Command:

    Get-DNSClientGlobalSetting

    In the output below we show the DNS Global client settings for the computer. It show us that our DNS Suffix list has 4 domains in it.   

     

    Since two of the domains above (OldDomain, SoldCompany) are no longer needed I will show you below how to set it correctly.  Your DNS suffix list should list the domain used most often first, followed by the next most use domains.   This will help reduce unnecessary DNS traffic.

    Setting the DNS Suffix Search List

    I change the DNS suffix search order list by using the Set-DnsClinetGlobalSettings cmdlet.

    PowerShell Command:

    Set-DnsClientGlobalSetting -SuffixSearchList @("contoso.com", "AD.contoso.com")

    In the output below I changed the DNS suffix list to be Contoso.com and AD.contoso.com.  The nice thing about this cmdlet is you do not remove the old setting in order to give it a new setting.

     

    Removing the DNS Suffix Search List

    Removing the DNS Suffix list is nothing more than a special case of setting it.  In this case I set it using NULL.

    PowerShell Command:

    Set-DnsClientGlobalSetting -SuffixSearchList @("$Null")

    In the output below I removed the dns suffix list of "contoso.com, ad.contoso.com". 

     

    I hope you found this useful.  Please leave me a comment

    Bruce

  • Windows 2012 Core Survival Guide – WINS Client configuration

    Learn about my 2012 Core Survival Guide here.

    WINS Client configuration

    WINS still exist out there in the real world.  For that reason I am including it in this blog series.  PowerShell 3.0 does not have any new cmdlet for configuring WINS server settings.  So I have to drop back to using WMI to accomplish this.  Your WINS sever settings can be provided by your DHCP server or by manual configuration.  If your WINS server settings are provided by DHCP and are incorrect then fix the DHCP scope.  If they have been manually set and are incorrect then keep reading.

    Viewing WINS Client configuration

    WINS is a legacy component of networking.   I must use the WMI object win32_networkadapterconfiguration in order to retrieve this information.  

    PowerShell Command:

    Get-WmiObject win32_networkadapterconfiguration | where ipenabled -eq true | format-table index, description, ipaddress, winsprimaryserver, winssecondaryserver -autosize

    This command uses the WMI component Win32_Networkadapterconfiguration to view the WINS information.  The output is a bit much.  I have to run 3 commands to ensure I am working with the correct NIC.  I first had to list out the basic IPv4 information.  Then I needed to determine if I was dealing with a DHCP or manual configuration.  Finally I ran the WMI call.   I needed to map the IP address to the correct “index” value.  If you notice the interfaceindex of the cmdlets does not match the index value of the WMI call.

     

    Setting WINS Client configuration

    I need know the index of the interface I wish to work with.  In the above case it is 13.  I need to use 2 PowerShell command to keep this simple.  The first command get the object I want to work with.  The second command set the values of the WINS Servers.

    PowerShell Command:

    $WINS = Get-WmiObject win32_networkadapterconfiguration | where index -eq 13

    $WINS.SetWINSServer("192.168.0.10","192.168.0.11")

    In the output below we have 4 commands. The first one simply displays the interfaces so that you can choose which one to work with.  The next two modifies the WINS client server settings.  The last one simply displays the information again to confirm the work.

     

    Removing WINS Client configuration

    Once again I must know the index of the interface I wish to work with.  This is the same process as setting the WINS server value.  But in this case I am setting it to $Null.

    PowerShell Command:

    $WINS = Get-WmiObject win32_networkadapterconfiguration | where index -eq 13

    $WINS.SetWINSServer("$Null","$Null")

    In the output below I used 4 commands. The first one simply displays the interfaces so I can choose which one to work with.  The next two removes the WINS client server settings.  The last one displays the information to confirm the work.

     

     

    I hope you found this useful.  Please leave me a comment

    Bruce