Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

22Mrz/170

PowerShell – RAM-Konfiguration eines Systems auslesen

Bei der Frage, ob ein Server (oder auch Client) noch etwas mehr RAM vertragen kann, stellt sich oft die Frage, wieviel RAM dann aktuell in wie vielen Modulen verbaut ist und wieviele Slots noch frei sind. Natürlich gibt es dazu auch bereits grafische Werkzeuge, die das können, aber spätestens, wenn mehrere Maschinen (ggf. auch Core-Server ohne GUI) abgefragt werden sollen, kann die PowerShell ihre Stärken ausspielen. Daher habe ich ein kleines Skript gebaut, welches diese Aufgabe erfüllt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[Cmdletbinding()]
Param(
    [string]$Computername = "localhost"
)
cls
$PysicalMemory = Get-WmiObject -class "win32_physicalmemory" -namespace "root\CIMV2" -ComputerName $Computername
 
Write-Host "Memory Modules:" -ForegroundColor Green
$PysicalMemory | Format-Table Tag,BankLabel,@{n="Capacity(GB)";e={$_.Capacity/1GB}},Manufacturer,PartNumber,Speed -AutoSize
 
Write-Host "Total Memory:" -ForegroundColor Green
Write-Host "$((($PysicalMemory).Capacity | Measure-Object -Sum).Sum/1GB)GB"
 
$TotalSlots = ((Get-WmiObject -Class "win32_PhysicalMemoryArray" -namespace "root\CIMV2" -ComputerName $Computername).MemoryDevices | Measure-Object -Sum).Sum
Write-Host "`nTotal Memory Slots:" -ForegroundColor Green
Write-Host $TotalSlots
 
$UsedSlots = (($PysicalMemory) | Measure-Object).Count 
Write-Host "`nUsed Memory Slots:" -ForegroundColor Green
Write-Host $UsedSlots
 
If($UsedSlots -eq $TotalSlots)
{
    Write-Host "All memory slots are filled up, none is empty!" -ForegroundColor Yellow
}

Die Ausgabe sieht dann etwa so aus:

PS_Memory1

Auf meinem Notebook mit nur zwei RAM-Slots (beide belegt) kommt zusätzlich noch eine kleine “Warnung”:

PS_Memory2

Ihr könnt das Skript auch hier herunterladen:

https://gallery.technet.microsoft.com/scriptcenter/Get-Memory-RAM-configuratio-35dda12e

29Sep/160

Windows 8 / 8.1 / 10: Bestimmte WLAN-Verbindungen per GPO als getaktet festlegen

Seit Windows 8 gibt es die Möglichkeit, eine WLAN- oder WWAN-Verbindung als “getaktet” (metered) festzulegen. Das hat Auswirkungen auf die Nutzung dieser Verbindung. Ziel ist es dabei, eine Verbindung mit beschränktem Datenvolumen oder Kosten pro kB/MB, möglichst wenig mit Dingen zu belasten, die man später auch über unbeschränkte Datenverbindungen machen kann, z.B. das Herunterladen von Windows Updates oder die Bereitstellung neuer Software, die erst aus dem Netzwerk geladen werden muss.

Wenn man nun z.B. in einer kleinen Außenstelle, auf einer Baustelle oder sonst wo einen LTE- oder UMTS-Hotspot bereitstellt, damit einige Mitarbeiter darüber arbeiten können, dann haben diese Verbindungen in der Regel ein Datenlimit pro Monat, nach dessen Erreichen die Geschwindigkeit massiv gedrosselt wird, z.B. 3, 5 oder 10GB. Will man nun für diese Mitarbeiter erreichen, dass z.B. keine Windows-Updates über diese Verbindung geladen werden, dann kommen die getakteten Verbindungen zum Einsatz und es wäre wünschenswert, das entsprechende WLAN per Gruppenrichtlinie als “getaktet” zu bestimmen.

Das Problem dabei:

In den GPOs lassen sich zwar die Kosten für WLAN festlegen (es gibt dabei 3 Stufen, “unrestricted”, “fixed” und “variable”, wobei “fixed” bedeutet, dass die Kosten pro übertragenem Kilo- oder Megabyte entstehen und “variable” für ein monatliches Limit steht), dies gilt dann aber für ALLE WLAN-Verbindungen:

MeteredConn1

Als Alternative kann man nun aber das gute, alte “netsh” benutzen. Damit lassen sich Verbindungsdetails zeigen:

MeteredConn2

Der Befehl dazu lautet:

netsh wlan show profile WLANSSID

Will man nun für eine Verbindung die Kosten verändern, so geht dies folgendermaßen:

MeteredConn3

Der Befehl dazu lautet:

netsh wlan set profileparameter name=WLANSSID cost=variable  (oder alternativ “fixed”)

Daraus braucht man nun nur noch ein passendes kleines Script basteln und dieses per GPO wirken lassen:

MeteredConn4

24Jun/160

Windows Server / Client: Alle geplanten Tasks per PowerShell auslesen

Insbesondere auf Servern kann es schnell vorkommen, dass hier sehr viele Gepante Tasks ("Aufgaben") vorhanden sind, die aber über viele Ordner im Taskplaner verteilt sind:

TaskPlaner

Wenn man nun einen bestimmten Task sucht oder einfach wissen möchte, was so an Aufgaben alles geplant ist, dann ist die GUI hier leider keine große Hilfe. Aber mit der PowerShell bekommt man schnell das Gewünscht:

1
Get-ScheduledTask | Select URI,@{n="LastRun";e={($_ | Get-ScheduledTaskInfo).LastRunTime}} | Sort-Object LastRun

TaskPlaner2

Viel Spaß damit!

22Mrz/162

Digitizer / Touchscreen von Surface Pro oder anderem Tablet remote bzw. als erweiterten Bildschirm benutzen

Kürzlich stand ich vor der Aufgabe, altes Fotomaterial aufzuarbeiten um dabei insbesondere Schäden an den Fotos und andere Bildfehler zu korrigieren. Für derartige Aufgaben nutze ich sehr gern Photoshop Elements. Für einen schmalen Taler bekommt man viele Funktionen (natürlich nicht so viel wie beim “richtigen” Photoshop, aber das kostet fast 10x soviel). Das von mir sonst benutzte Adobe Lightroom kann das leider nicht oder nur mit riesigem Aufwand.

Nachdem ich das erste Bild bearbeitet hatte, kam mir die Idee, auf meinem Surface Pro weiter zu machen, da dieses ja über einen Digitizer verfügt und mir somit das Arbeiten mit einem Stift ermöglicht hätte. Ein Grafiktablet ala Wacom o.ä. habe ich leider nicht, bin davon aber auch nicht so überzeugt. Bei den halbwegs bezahlbaren ist kein Display enthalten, so dass man auf dem Tablet nur arbeitet, das Ergebnis aber auf dem Monitor zu sehen ist. Beim Surface hingegen kann ich mit dem Stift direkt “im Bild” arbeiten.

Nun hatte ich aber kein Photoshop Elements auf dem Surface und mangels DVD-Laufwerk hätte ich erst die DVD auf USB.-Stick kopieren müssen. Also habe ich nach einer Möglichkeit gesucht, das Surface einfach nur als zweiten Bildschirm an meinem “Haupt-PC” (wo das Photoshop läuft) zu benutzen – und ich wurde fündig. Die Lösung nennt sich “Splashtop”. Wie das genau funktioniert, seht ihr in einem meiner YouTube-Videos:

21Okt/150

Windows 10: VPN-Verbindungen nutzen immer Remote-Gateway

Unter früheren Windows-Versionen konnte man bei VPN-Verbindungen noch den gesamten IPv4-Teil konfigurieren. Dort gab es eine Option “Standardgateway für das Remotenetzwerk verwenden”, die man abschalten konnte:

43e8230241a19524c77c2973e1ce137b

Standardmäßig war/ist diese Option eingeschaltet und sorgt dafür, dass SÄMTLICHER Datenverkehr über das Remote-Netz geleitet wird, auch das, was eigentlich “DIREKT” ins Internet gehen könnte. Der Vorteil dabei ist, dass der Traffic vom eigenen Endgerät bis zum Firmennetzwerk verschlüsselt ist, was insbesondere dann nützlich ist, wenn man in einem Internetcafe oder Hotel-WLAN sitzt und nicht klar ist, wer den Verkehr mithören kann.

Will man nun auf einem Windows 10 Client dieses Verhalten ändern – also erreichen, dass nur Traffic, der für das Remote-Netzwerk gedacht ist, über VPN geht, der Rest direkt ins Internet, müsste man diesen Haken entfernen, was bei Windows 10 nicht mehr geht, da sich die IPv4-Optionen der VPN-Verbindung nicht mehr öffnen lassen.

Was man aber tun kann, ist dieses Verhalten mit Hilfe der PowerShell herbeizuführen, und zwar mit diesem Aufruf:

123

Damit wird für alle VPN-Verbindungen das “Split-Tunneling” aktiviert, was eben diesem Haken entspricht.

Hier der Aufruf nochmal zum direkt Kopieren:

1
 Get-VpnConnection | Set-VpnConnection -SplitTunneling $True

456

29Jul/150

Windows 10 wird als RTM in MSDN angeboten

Nur als kurze “Randnotiz”: Seit heute kann man die Windows 10 ISOs in der MSDN als RTM-Version herunterladen!

Windows10_in_MSDN

Dabei stehen zur Verfügung:

  • Windows 10 Home 1
  • Windows 10 Pro 1
  • Windows 10 Education 1
  • Windows 10 Enterprise 1
  • Windows 10 Enterprise 2015 LTSB
  • Windows 10 Features on Demand 2
  • Windows 10 Language Interface Packs
  • Windows 10 Symbols
  • Windows 10 Symbols Debug/Checked
  • Windows 10 IoT Core for MinnowBoard MAX (x86)
  • Windows 10 IoT Core for Raspberry Pi 2 (ARM)
16Jul/150

Windows 10 wird in RTM-Build 10240 an Insider ausgerollt

Seit heute Morgen wird Windows 10 in dem Build 10240 an die Teilnehmer des Insider-Programms (Fast-Ring) ausgerollt. Dabei handelt es sich nun scheinbar um die finale RTM Version. Der Hinweis auf die Preview ist nach dem Update und Neustart vom Desktop verschwunden.

Was ich bisher gar nicht geprüft hatte, mich aber nun sehr interessiert hatte: Windows 10 heisst nun endlich auch “intern” Windows 10 und nicht etwa “Windows 6.4” oder so. Klasse!

win10_10240_1

win10_10240_2

10Jul/150

Der nächste Windows 10 Build – 10166 – get ready for RTM!

Der nächste Build von Windows 10 wird im fast-Ring ausgerollt: 10166! Es geht jetzt also weiter Schlag auf Schlag in Richtung RTM. Vermutlich wird 10166 aber eine der letzten Vorab-Versionen sein.

Einzige Neuerungen, von der man etwas sehen kann: Die Microsoft Wi-Fi App. Damit kann man gegen Gebühr WLAN-Netze nutzen. Aktuell ist dies aber auf das Areal rund um den Microsoft-Sitz in Seattle beschränkt, soll aber zeitnah in ganz Amerika zur Verfügung stehen. Für Europa gibt es noch keine Ankündigungen in diese Richtung.

Build10166

Der schnellste Weg zur Build 10166 ist (nach dem Update aus dem Vorgänger) der Download der ISO mit Build 10162 und anschließendem Upgrade:

http://windows.microsoft.com/en-us/windows/preview-iso

9Jul/150

SCCM 2012 R2: Wie man OSD einrichtet und benutzt

Auf Anregung einiger Teilnehmer habe ich heute ein Video erstellt, das zeigt, wie man die OSD-Komponenten des System Center Configuration Manager 2012 R2 nutzt, um Betriebssysteme zu verteilen. Das Operating System Deployment stützt sich dabei auf WDS/PXE und DHCP.

Das Video könnt ihr hier finden:

 

Die Folien dazu sind hier zu finden:

http://1drv.ms/1HhQ4r4

Viel Spaß dabei!

7Jul/150

Windows 10 – Schlag auf Schlag

In den letzten Tagen und Stunden überschlagen sich die Entwicklungen von Windows 10. Folgendes ist in den letzten Tagen passiert:

29. Juni 2015   -   Build 10158 (Fast Ring)

30. Juni 2015   -   Build 10159 (Fast Ring)

02.Juli.2015   -   Build 10162 (Fast Ring)

07. Juli 2015   -   Build 10162 (Slow Ring)

W10_10162

Der Build 10162 ist aber noch nicht der finale Build, der am 29. Juli veröffentlich werden wird. Dennoch scheint es so, als ob noch im Laufe dieser Woche die finale RTM-Version entstehen soll.

Es gibt bereits erste Leaks eines Build 10163 – mal sehen, ob dieses noch in den kommenden Tagen über das Insider-Programm ausgerollt wird…

Es bleibt weiter spannend!

Ein Download der aktuellen ISO sowie einige weitere Informationen dazu finden sich hier:

http://winfuture.de/downloadvorschalt,3226.html