Größe eines Öffentlichen Ordners anzeigen Exchange Management Shell

Hier zeig ich euch kurz wie man in der Exchange Management Shell die Größe eines Öffentlichen Ordners anzeigen lassen kann:

Get-PublicFolderStatistics -ResultSize unlimited | Where-Object {$_.Name -match „NAME_DES_OEFFENTLICHEN_ORDNERS“} | fl

Damit erhaltet Ihr alle Infos zu dem gewählten Öffentlichen Ordner:

info_oeffentlicher_ordner

Wenn Ihr alle Öffentlichen Ordner anzeigen lassen wollt damit Ihr den korrekten Namen findet geht das mit:

Get-PublicFolder -Recurse

Ich hoffe das es dem einen oder anderen helfen kann. Bei Fragen meldet euch einfach.

#PSName Computernamen ändern mit der Powershell

Kurz und schnell ein Commandlet für das schnelle ändern des Computernamens:

Rename-Computer -NewName

Hier noch die Hilfeseite:

NAME
Rename-Computer
SYNTAX
Rename-Computer [-NewName] <string> [-ComputerName <string>] [-PassThru] [-DomainCredential <pscredential>] [-LocalCredential <pscredential>] [-Force] [-Restart] [-WsmanAuthentication <string> {Default | Basic | Negotiate
| CredSSP | Digest | Kerberos}] [-Protocol <string> {DCOM | WSMan}] [-WhatIf] [-Confirm]  [<CommonParameters>]
PARAMETER
-ComputerName <string>
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?true (ByPropertyName)
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-Confirm
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      cf
Dynamisch?                     false
-DomainCredential <pscredential>
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-Force
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-LocalCredential <pscredential>
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-NewName <string>
Erforderlich?                true
Position?                    0
Pipelineeingaben akzeptieren?true (ByPropertyName)
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-PassThru
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-Protocol <string>
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-Restart
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
-WhatIf
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      wi
Dynamisch?                     false
-WsmanAuthentication <string>
Erforderlich?                false
Position?                    Benannt
Pipelineeingaben akzeptieren?false
Name des Parametersatzes           (Alle)
Aliase                      Keine
Dynamisch?                     false
<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: „Verbose“, „Debug“,
„ErrorAction“, „ErrorVariable“, „WarningAction“, „WarningVariable“,
„OutBuffer“, „PipelineVariable“ und „OutVariable“. Weitere Informationen finden Sie unter
„about_CommonParameters“ (http://go.microsoft.com/fwlink/?LinkID=113216).
EINGABEN
System.String
AUSGABEN
System.Object
ALIASE
Keine
HINWEISE
Die Hilfedateien für dieses Cmdlet können von „Get-Help“ auf diesem Computer nicht gefunden werden. Es wird nur
ein Teil der Hilfe angezeigt.
— Sie können die Hilfedateien für das Modul, das dieses Cmdlet enthält, herunterladen und installieren, indem
Sie „Update-Help“ verwenden.
— Wenn Sie das Hilfethema für dieses Cmdlet online anzeigen möchten, geben Sie Folgendes ein: „Get-Help
Rename-Computer -Online“, oder
gehen Sie zu „http://go.microsoft.com/fwlink/?LinkID=219990“

#PSWA Powershell Web Access Aktivieren

Hallo,

da ich mich jetzt mal dazu bewegt habe aus meinem Mini ITX Server (Celeron J1900 Quad-Core, 8 GB DDR3-RAM, 128GB SSD) einen Core Server mit Hyper-V zu machen  möchte ich hier nun meine Ersten Schritte mitteilen.

Von den Technischen Daten nicht beeirren lassen, das kleine Mainboard ist Super, bei nur 10 Watt Verbrauch wirklich schnell.

Bis Heute war der Rechner nur mit einem Windows Server 2012 R2 Datacenter installiert auf den ich von überall per RDP drauf komme. Da ich nebenbei gerne eine Maschine auflösen will, kam mir die Idee das alles zu Virtualisieren. Die alte Maschine habe ich mir per Clonezilla weg gesichert und werde diese später in Hyper-V migrieren. Der Core-Server ist sehr Ressourcenschonend und schnell gestartet.

Damit ich überhaupt einen Zugriff von einem anderen PC auf den Core-Server bekomme hab ich als erstes den Web Access zur Powershell aktiviert.

Mein Server ist in einer Workgroup und nicht in einer Domäne deshalb gehe ich hier auch nur auf Workgroup einrichtung ein.

Getestet habe ich alles mit Powershell 4.0 auf Windows Server 2012 R2 Datacenter Core und Windows 10 Professional als Client.

Nachdem der Core-Server installiert ist einfach Einloggen und wie folgt nun vorgehen:

1. Folgende Pakete installieren:

Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools -Restart

Der Rechner startet wenn nötig neu. Danach sind dann alle Komponenten Installiert.

2. Jetzt das Webinterface installieren und mit einem Selbstsignierten Zertifikat ausstatten (In Produktivumgebungen unbedingt kein Selbst Signiertes Zertifikat nutzen)

Install-PswaWebApplication -UseTestCertificate

Danach habt Ihr Zugriff auf den Login-Bereich auf dem Server.

pswa_login

3. Als letztes noch die Anmeldung erlauben:

Add-PswaAuthorizationRule –UserName <ZielComputerName>\<ZielComputerUser> -ComputerName <ZielComputerName> -ConfigurationName microsoft.powershell

Alle Benutzer müssen hier eingetragen werden damit Sie sich Anmelden können.

pswa_acc_rule

Die Anmeldung könnt Ihr jetzt unter:

https://<ZielComputerIP_oder_IP>/pswa

einloggen

pswa_login

Die aktuellen Regeln könnt Ihr euch mit:

Get-PswaAuthorizationRule

pswa_acc_rule

anzeigen lassen.

Bei fragen einfach melden.

Quellen: https://technet.microsoft.com/de-de/library/hh831611.aspx

Powershell Kurs #1

Hier mal ein paar Powershell Befehle die sehr nützlich sind, ich gebe hier meine Notizen nur wieder bei Fragen einfach melden ich werde die Notizen nach und nach noch überarbeiten ergänzen etc.

####################
3.1 Klassen und Objekte

Get-Service = Liefert Objekte Commandlets liefern mehr infos als angezeigt

Get-Service | Get-Member = Zeigt welche Methoden, Eigenschaften, Ereignissen usw. ein Commandlet hat

Get-Service | Select-Object Name, CanStop, MachineName = Gibt die gewünschten Zeilen aus

Get-Service | Select-Object * = Zeigt alle Informationen zu den Diensten an

####################

3.2 Punktnotation

Kann gezielt ein Wert angezeigt werden z.B.:

(Get-Service wuauserv).Status = Gibt nur den Status vom Windows Update Dienst aus

(Get-Service wuauserv).Stop() = Stoppt den Dienst Merke bei Methoden immer Klammern anhängen!!

dir C:\Windows | Measure-Object = Gibt die Anzahl der Objekte aus

dir C:\Windows | Measure-Object -Property Length -Sum = Gibt die Größe aus mit der Eigenschaft Länge

(dir C:\Windows | Measure-Object -Property Length -Sum).Sum = Gibt nur die Summe aus

(dir C:\Windows | Measure-Object -Property Length -Sum).Sum / 1KB = Gibt Sum als Kilobyte aus „: 1024“

Get-Service | Where-Object {$_.Status -eq „Stopped“}

„Hallo Powershell“ | Get-Member = Gibt wieder Methoden und Eigenschaften aus

„Hallo Powershell“.ToLower() = Gibt den Text klein aus

„Hallo Powershell“.SubString(0, 5) = Gibt nur einen Teil des Textes aus 1. Zahl Start 2. Zahl Ende

Neue feste Kategorie: Powershell

Heute ganz kurz… Ich werde ab Heute auch die Kategorie „Powershell“ einfügen… Da gibt es dann immer nette und einfache Tricks und natürlich Basics im Umgang mit der Powershell.

Da ich der Meinung bin das die Powershell enormes Potential hat und man dieses vor allem als Administrator nicht ignorieren sollte.

Alles natürlich Parallel zu dem was ich so im Selbststudium lerne.

Gerne könnt ihr auch Themen und Kategorien vorschlagen ich gehe drauf ein.

Bekanntes WLAN Netz löschen (Powershell)

Heute erkläre ich euch kurz wie Ihr bekannte WLAN Netze, also Profile von Netzwerken mit denen Ihr mal verbunden wart, direkt per Powershell löschen könnt.

Die Frage wieso sollte ich ein bekanntes WLAN löschen, kläre ich auch mal gerade. Vielleicht habt Ihr Irgendwas in der Konfiguration des Profils geändert und könnt nicht mehr verbinden, oder ihr wollt euch mit einem WLAN Netz verbinden das den exakt selben Namen hat (SSID).

Jedenfalls gibt es in Windows 8 und 8.1 keine direkte Möglichkeit das Profil direkt zu löschen, wie es in Windows 7 möglich war.

Jedenfalls gibt es die Leute unter euch die ja vielleicht jetzt irgend ein Tool runterladen und nutzen, oder man geht den direkten Weg mit der Powershell. Ja mit der Powershell könnt Ihr reihenweise Profile Löschen 😉

Ihr geht nun wie folgt vor:

1. Startet die Powershell als Administrator

2. Gibt ein: netsh wlan show profiles

Ihr solltet nun eine Auflistung alle Profile erhalten.

3. Jetzt gibt Ihr ein: netsh wlan delete profile name=“HIER_MEIN_WLAN_PROFIL_NAME“

Fügt euren Profil Namen ein und zack schon ist euer unerwünschtes Profil gelöscht.

Diese Methode der Löschung hat noch den Vorteil, Sie ist sehr schnell und damit auch direkt und man muss sich nicht über die GUI zurecht klicken.

Ich bin sowieso etwas mehr Konsolen geprägt und möchte in Zukunft natürlich immer mehr auf der Konsole arbeiten, da ich dadurch den Vorteil habe, das auch wenn sich die GUI ändert ich mich immer Heimisch fühle 😉