PowerShell

Tech Short: Using PowerShell to join Computer to AD Domain

Working on a server installation I decided to use a simple yet effective power-shell command to join a Windows Server 2012/R2 system to our domain.

For the sake of brevity lets just show you.

Requirements:

  • Admin access to the computer/server you are joining to the domain along with permissions in the AD domain to join machines
  • Connected to the network where the domain is accessible
  • Obtain an network ip address along with dns that can resolve the domain you are joining
  • PowerShell

Steps:

  1. Launch PowerShell as an Administrator
  2. Issue the following command example: Add-Computer -DomainName <domain name> -Restart

You will be prompt for a username and password at this point. Enter in the correct credentials and soon after a restart will occur.

When you resume from the restart you can now log in on this workstation/server with domain credentials.

Additional info can be found on Technet

I hope you enjoyed this short, thanks for visiting – jermal

Tech Short: PowerShell: Networking Diagnostics

Listen ‘tracert’ its not you, its me…  I am not ending my long term relationship with the diagnostic tools which I have used for many years now.  I am just exploring others, and in doing so going on a “break”.

I recently starting using PowerShell more often and wondered is there a tool which can do what ‘tracert‘ does and maybe more.

This is where the PowerShell command  Test-NetConnection comes into the picture.

It does many of the functions of tracert which an out-put which at this point I favor far more.

Here are some examples:

Here is an example of using Test-NetConnection to test connectivity to jermsmit.com

ComputerName : jermsmit.com
RemoteAddress : 184.168.16.1
InterfaceAlias : Wi-Fi
SourceAddress : 1.2.3.150
PingSucceeded : True
PingReplyDetails (RTT) : 80 ms

 

Same test as above using the –TraceRoute flag return the list of hosts on the path to the specified target jermsmit.com

ComputerName : jermsmit.com
RemoteAddress : 184.168.16.1
InterfaceAlias : Wi-Fi
SourceAddress : 1.2.3.150
PingSucceeded : True
PingReplyDetails (RTT) : 82 ms
TraceRoute :
1..2.3.150
96.120.75.45
68.86.221.197
68.86.209.165
68.86.90.21
68.86.85.53
68.86.85.25
68.86.83.82
173.167.58.134
184.168.0.69
184.168.0.69
97.74.255.129
184.168.16.1

As you can see form the examples its a very useful tool in PowerShell, also giving you information about which network interface you are testing from.

What I have also found out is there is an alias for  Test-NetConnection. To use this all you need to do is simply type ‘tnr‘ following by the command syntax.

For more info on using Test-NetConnection type: Help Test-NetConnection in the PowerShell command prompt – Results may looking similar to what I have shown below:

 

 

 

 I hope you enjoyed this techshort, thanks for visiting – jermal

 

Disable Windows Firewall Server Core

Server Core now installed and what is the first command I choose to run in PowerShell

Its a command to disable all firewall profiles:

 

Error: Setting up PowerShell Remoting

In an attempt to connect to a remote Hyper-V host I needed to enable PowerShell Remoting.

To enable this you simple run PowerShell as Administrator and issue the following command:

The command runs and then errors with the following output:

PS C:\WINDOWS\system32> Enable-PSRemoting

WinRM has been updated to receive requests.
WinRM service type changed successfully.
WinRM service started.

Set-WSManQuickConfig : <f:WSManFault xmlns:f=”http://schemas.microsoft.com/wbem/wsman/1/wsmanfault” Code=”2150859113″ Machine=”localhost”><f:Message><f:ProviderFault
provider=”Config provider” path=”%systemroot%\system32\WsmSvc.dll”><f:WSManFault xmlns:f=”http://schemas.microsoft.com/wbem/wsman/1/wsmanfault” Code=”2150859113″
Machine=”workstation.jermsmit.com”><f:Message>WinRM firewall exception will not work since one of the network connection types on this machine is set to Public. Change
the network connection type to either Domain or Private and try again. </f:Message></f:WSManFault></f:ProviderFault></f:Message></f:WSManFault>
At line:116 char:17
+ Set-WSManQuickConfig -force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-WSManQuickConfig], InvalidOperationException
+ FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.SetWSManQuickConfigCommand

To correct this I opened another PowerShell window, also running as Administrator issue the following command to change each of the network interfaces to be private.

 

At this point I was able to run the Enable-PSRemoting without error

PS C:\WINDOWS\system32> Enable-PSRemoting
WinRM is already set up to receive requests on this computer.
WinRM has been updated for remote management.
Created a WinRM listener on HTTP://* to accept WS-Man requests to any IP on this machine.
WinRM firewall exception enabled.

 

TechShort: PowerShell to Setup VPN Connections

Here is a way we can be consistent with our setup of VPN connections on computers.

Using PowerShell this is made simple with a small script on a USB stick, network share or whatever method you choose to get the to the client machine

The following is a one line PowerShell command:

Next is to see if this can be placed in a group policy to have it automated on end user computers

I hope this helps your process of machine setups.

– Jermal

Ref: https://technet.microsoft.com/en-us/%5Clibrary/JJ554820(v=WPS.630).aspx