How to use Powershell to remotely disable a networkadapter on an array of computers

Posted by O.Sommer

Today I had the challenge to disable a specifically named NIC on a larger number of Hyper-V hosts, because that card was causing issues with the cluster compatibility check when joining those Nodes to a Windows Hyper-V Cluster.
I found that disabling 64 Networkadapters on 64 Servers would take a while if you use RDP to remote into each server, so I wrote this little script to automate this using Remote Powershell, which is enabled by default if those computers are Part of a domain, or I enabled it during the deployment phase, which I can not remember right now:

# ask for Admin password
$cred = Get-Credential -Credential hypercluster\Administrator
# run through all i nodes and disable USB NIC
for ($i = 1;$i -le 64;$i++){
Echo Node$i
Enter-PSSession -ComputerName Node$i -Credential $cred
$usbnic = Get-WmiObject win32_networkadapter | where {$_.name -eq "IBM USB Remote NDIS Network Device"}
$usbnic.disable()
}
# exit remote Powershell
exit


EDIT:
This is an optimized version of the upper script and I also added a line that disables all disconnected networkcards:

# ask for Admin password
$cred = Get-Credential -Credential hypercluster\Administrator
# run through all i nodes and disable USB NIC
for ($i = 1;$i -le 64;$i++){
Echo Node$i
Enter-PSSession -ComputerName Node$i -Credential $cred
(Get-WmiObject win32_networkadapter -ComputerName Node$i | where {$_.name -eq "IBM USB Remote NDIS Network Device"}).Disable()
# use the following lien to disable all disconnected (unpluged networkcable) NICs
# (Get-WmiObject win32_networkadapter -ComputerName Node$i -Filter 'NetConnectionStatus= 7').Disable()

 

Edit2:
To shutdown an array of servers via Powershell i used this version of the script:

# ask for Admin password
$cred = Get-Credential -Credential hypercluster\Administrator
# run through all i nodes and shutdown each one
for ($i = 1;$i -le 64;$i++){
Echo Node$i
stop-Computer –ComputerName node$i –Credential $cred –force

Essentials 2012 R2 kann als Hyper-V Host installiert werden (…aber)!

Posted by O.Sommer

Mit der 2012 R2 Version kann man als Besitzer einer Lizenz für Essentials 2012 R2 diese Lizenz für eine 1+1 Virtualisierung verwenden!

Dabei gibt es folgendes zu beachten:

  1. Essentials 2012 R2 kann als Hostbetriebssystem auf der physikalischen Hardware installiert werden
  2. Auf dieser physikalischen Instanz darf die Hyper-V Rolle aktiviert werden
  3. dieselbe Lizenz darf anschließend zur Installation einer (!!!) virtuellen Instanz von Essentials 2012 verwendet werden

ABER dabei gibt es auch folgendes zu beachten:

Auf einem physikalischen Server der mittels einer Windows Server 2012 R2 Essentials Lizenz lizensiert wurde darf EINZIG eine Essentials 2012 R2 VM als Gast laufen, also KEINE weitere Server oder Client (z.B. Win7/8) Instanz betrieben werden, selbst wenn es dafür eine separat erworbene Lizenz gibt!
Mit anderen Worten: Essentials 2012 R2 Hosts mit Hyper-V Rolle (oder einer anderen Hardware Virtualisierungstechnologie) erlauben Lizenztechnisch nur den Betrieb EINER einzigen VM und diese MUSS Essentials 2012 R2 sein!

Dies soll die Virtualisierung von Essentials 2012 R2 erleichtern, damit Kunden, welche lediglich eine Essentials 2012 R2 Lizenz erwerben, trotzdem Technologien wie Hyper-V Replika und LiveMigration verwenden können:

  • um zu einem zweiten eigenen Server für Ausfallsicherheit gegen Hardwarefehler zu replizieren
  • um im Falle eines Hardwarewechsels eine einfache und schnelle Migration ohne Betriebsunterbrechung gewährleisten zu können
  • um zu einem Privat Cloud Hoster (z.B. Microsoft Azure oder meiner Hosting Firma der 3can.de) zu replizieren um den Server gegen den Ausfall der Hardware des Kunden oder sogar dem Ausfall der gesamten Infrastruktur des Kunden zu sichern.

Besonders letzteres Szenario ist sehr interessant, da hiermit der Essentials 2012 R2 Server des Kunden zum einen außer Haus des Kunden gesichert werden kann, aber auch der Geschäftsbetrieb des Kunden sichergestellt werden kann sollte einmal die Basisinfrastruktur des Kunden massiv gestört werden.
(Sturm, Überschwemmung, Feuer, Diebstahl, etc.)

Folgende Vorgehensweise zum Setup eines Essentials basierten Hyper-V Hosts ist mir von einem US Kollegen beschrieben worden (habe dies aber bisher selber noch nicht praktisch durchgeführt) und wird lizenztechnisch von Microsoft unterstützt (supported):

  1. Complete OS installation phase on the physical server
  2. Cancel the role configuration wizard
    1. To prevent it from restarting, from PowerShell enter:
      dism /online /disable-feature:Microsoft-Windows-ServerEssentials-ServerSetup
  3. Unpin Dashboard shortcut from the Taskbar
  4. Start the Server Manager console and remove roles/features:
    1. File and Storage Services: BranchCache, DFS
    2. Web Server (IIS)
    3. Windows Server Essentials Experience
    4. .NET Framework 4.5 Features: ASP.NET 4.5
    5. Group Policy Management
    6. BranchCache
    7. Ink and Handwriting Services
    8. Media Foundation
    9. Remote Server Administration Tools
    10. Windows Process Activation Service
  1. Start the Server Manager console
    1. Add the Hyper-V role
  1. Create any desired Storage Spaces to store VHDX files
  2. Start the Hyper-V Manager console
    1. Optionally enable Hyper-V Replica and Live Migration
    2. Create a virtual switch connected to a physical NIC
    3. Create a new virtual machine

i. Create a “Generation 2” VM (optional but recommended)

ii. Configure at least 4GB of RAM

iii. Configure at least 2 virtual hard disks (optional but recommended)

    1. Start the VM and install Essentials normally

 

Die lizenztechnisch relevanten Passagen aus der Eula habe ich hier einmal in der englischen Originalversion angehangen und markiert:

clip_image002

 

Sollte später einmal mehr als eine VM benötigt werden, so kann man z.B. durch Zukauf einer Windows Server Standard Edition aus dem Essentials basierten Host einen Standard basierten Host machen, der dann auch mehr als eine einzige VM erlaubt, lizenztechnisch werden dabei dann bis zu 2 Server VMs mit der sogenannten 1+2 Lizensierung von der Standard Lizenz abgedeckt

.NET Framework 2 bzw. 3.5 unter Windows Server 2012

Posted by t.brinkmann

Windows Server 2012 bringt unter anderem auch einen WSUS-Server mit. Leider wird der für WSUS benötigte Microsoft Report Viewer 2008 bei der Installation der Rolle WSUS nicht mitinstalliert:

WSUS01

Eine einfache Installation des Report Viewers scheitert mit der Meldung dass das .NET Framework 2.0 benötigt wird. Das .NET Framework 3.5 (welches das 2.0 Framework enthält) lässt sich jedoch nicht einfach so über den Server-Manager nachinstallieren. Vielmehr muss die Quelle des Frameworks manuell angegeben werden. Netterweise befinden sich die Installationsdateien auf dem Server 2012 Installationsmedium.

WSUS02 WSUS03 WSUS04

Powershell und Server-Manager Verknüpfungen in der Taskbar ausblenden

Posted by T.Brinkmann

Seit Windows 7 bzw. Server 2008R2 wurde die Taskleiste durch die Taskbar ersetzt. Die Taskbar ist ein ziemlicher Fortschritt was die Bedienbarkeit anbelangt. In jedem Fall ist die Taskbar nach der Ersteinrichtung eines Windows Server 2008R2 mit Verknüpfungen vorbelegt, unter anderem zur Powershell und zum Server-Manager. Für Admins durchaus sinnvoll.

Erhält jedoch ein Server 2008R2 die Rolle “Remotedesktop-Sessionhost” (ehemals Terminalservices) werden diese Verknüpfungen auch bei den Usern direkt nach der ersten Anmeldung zugewiesen. Klickt ein normaler RDS Benutzer auf “Server-Manager” erhält er zwar die Meldung “Zugriff verweigert” – schöner wäre es wenn die Verknüpfungen gar nicht erst erscheinen.

Warum erscheinen die Verknüpfungen? – Bei der Anmeldung eines Users an den RD-Sessionhost werden die Verknüpfungen aus dem Ordner “%Allusersprofile%\Microsoft\Start Menu\Programs\Administrative Tools” ins %APPDATA% des Users kopiert, und dann in die Taskbar eingebunden. – Sofern der User Zugriff auf die Dateien unter %Allusersprofile% hat.

Mit diesem Wissen ist es ziemlich einfach die Verknüpfungen für neue User nicht automatisch in der Taskbar stehen zu haben:

Am einfachsten per GPO, welches entweder per Sicherheitsfilterung auf die entsprechenden RDS-Hosts angewandt werden, oder aber direkt auf die den RDS-Host beinhaltenden OU greift. Den “normalen” Benutzern wird schlichtweg der Zugriff auf die Verknüpfungen entfernt. Administratoren bekommen weiterhin die Links.image

Bei der Gelegenheit kann auch noch der Punkt “Verwaltung” im Start-Menü für die User ausgeblendet werden. Das wird am einfachsten über einen Registry-Eintrag bei “HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced” eingestellt.

StartMenuAdminTools REGDWORD  = 0

Start_AdminToolsRoot REGDWORD = 0image