Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
pub:powershell [2015/05/20 15:50] – Marco Krage | pub:powershell [2019/05/18 11:49] (aktuell) – Marco Krage | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Powershell ====== | ====== Powershell ====== | ||
+ | |||
+ | Display Powershell Version | ||
+ | $PSVersionTable.PSVersion | ||
+ | If the variable does not exist, it is safe to assume the engine is version 1.0. | ||
+ | |||
+ | Ausgabe aus mehreren Befehlen zusammen | ||
+ | <code powershell> | ||
+ | Get-VM | Get-NetworkAdapter | | ||
+ | Where-object {$_.Type -ne " | ||
+ | Select @{N=" | ||
+ | </ | ||
===== Windows Powershell ===== | ===== Windows Powershell ===== | ||
- | Gesperrte Benutzer | + | ==== Remote Session ==== |
+ | Enter-PSSession -ComputerName $computerName -Credential user@domain.local | ||
+ | |||
+ | $cred = Get-Credential user@domain.local | ||
+ | Enter-PSSession -ComputerName $computerName -Credential $cred | ||
+ | |||
+ | ==== Get Registry Value ==== | ||
+ | Get-ItemPropertyValue " | ||
+ | |||
+ | ==== Log Date ==== | ||
+ | Write-Host (get-date).DateTime | ||
+ | |||
+ | ==== Delete RAW if no matching JPG exists ==== | ||
+ | Get-ChildItem *.arw | % { if (-not (Test-Path $_.Basename+" | ||
+ | |||
+ | |||
+ | |||
+ | ==== Drucker Migration ==== | ||
+ | |||
+ | Drucker von altem Printserver zu neuem Printserver migieren inklusive Standarddrucker. | ||
+ | |||
+ | <code powershell> | ||
+ | $Printers = Get-WmiObject win32_printer | ||
+ | |||
+ | $oldPrintserver = " | ||
+ | $newPrintserver = " | ||
+ | |||
+ | foreach($oldPrinter in $Printers) { | ||
+ | Write-Host " | ||
+ | |||
+ | if( $oldPrinter.Name.StartsWith(" | ||
+ | Write-Host " | ||
+ | $pos = $oldPrinter.Name.LastIndexOf(" | ||
+ | $PrinterHost = $oldPrinter.Name.Substring(0, | ||
+ | $PrinterName = $oldPrinter.Name.Substring($pos+1) | ||
+ | |||
+ | Write-Host " | ||
+ | |||
+ | $WMIPrinter = [WMIClass]" | ||
+ | $res = $WMIPrinter.AddPrinterConnection(" | ||
+ | |||
+ | $newPrinter = Get-WMIObject -query " | ||
+ | |||
+ | if($newPrinter) { | ||
+ | if($oldPrinter.Default) { | ||
+ | Write-Host " | ||
+ | $newPrinter.SetDefaultPrinter() | ||
+ | } | ||
+ | |||
+ | Write-Host " | ||
+ | $oldPrinter.Delete() | ||
+ | }else{ | ||
+ | Write-Host " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Write-Host "Press any key to continue ..." | ||
+ | $x = $host.UI.RawUI.ReadKey(" | ||
+ | </ | ||
+ | |||
+ | ===== Active Directory ===== | ||
+ | |||
+ | ==== Gesperrte Benutzer | ||
<code powershell> | <code powershell> | ||
Import-Module activedirectory | Import-Module activedirectory | ||
Zeile 12: | Zeile 86: | ||
</ | </ | ||
+ | |||
+ | ==== Alte Computerkonten finden ==== | ||
<code powershell> | <code powershell> | ||
- | Alter Computer Konten finden | ||
$then = (Get-Date).AddDays(-60) # The 60 is the number of days from today since the last logon. | $then = (Get-Date).AddDays(-60) # The 60 is the number of days from today since the last logon. | ||
Zeile 22: | Zeile 97: | ||
- | ===== Exchange | + | |
+ | ===== Exchange ===== | ||
Die Powershell und auch die Exchange-Verwaltungsshell nutzen s.g. Cmdlets. Diese setzt sich aus einem Verb und einem Hauptwort zusammen. Zum Beispiel '' | Die Powershell und auch die Exchange-Verwaltungsshell nutzen s.g. Cmdlets. Diese setzt sich aus einem Verb und einem Hauptwort zusammen. Zum Beispiel '' | ||
Zeile 116: | Zeile 192: | ||
</ | </ | ||
+ | |||
+ | ==== Datenbank ==== | ||
+ | Übersicht über Datenbanken und deren Größe. | ||
+ | Get-MailboxDatabase -Status | ft name, | ||
+ | |||
+ | |||
+ | ==== Postfach ==== | ||
+ | Postfach suchen | ||
+ | Get-Mailbox -filter " | ||
+ | |||
+ | Getrennte Mailboxen auflisten | ||
+ | Get-MailboxStatistics -server SERVERNAME | Where {$_.DisconnectDate -ne $null} | ||
+ | |||
+ | Mailbox Cleanup um getrennte Postfächer sofort in der GUI anzuzeigen | ||
+ | Clean-MailboxDatabase " | ||
+ | |||
+ | Postfachgröße | ||
+ | Get-MailboxStatistics kragem | ft DisplayName, | ||
+ | |||
+ | Postfachgrößen aller Postfächer sortiert und in Größe in MB | ||
+ | Get-MailboxDatabase | Get-MailboxStatistics | Sort-Object -Descending -Property TotalItemSize | ft DisplayName, | ||
+ | |||
+ | Postfachgrößen als CSV (Komma) exportieren | ||
+ | Get-MailboxStatistics | Select-Object DisplayName, | ||
+ | | ||
+ | ==== Postfachfunktionen ==== | ||
+ | Postfächer mit Active Sync | ||
+ | Get-CASMailbox | where {$_.ActiveSyncEnabled -eq $true } | ||
+ | |||
+ | Postfächer mit OWA | ||
+ | Get-CASMailbox | where {$_.OWAEnabled -eq $true } | ||
+ | |||
+ | ==== Geräte ==== | ||
+ | Alle Geräte-Details anzeigen | ||
+ | Get-ActiveSyncDevice | fl UserDisplayName, | ||
+ | |||
+ | Alle Geräte-Details einer Mailbox anzeigen | ||
+ | Get-ActiveSyncDevice -Mailbox " | ||
+ | |||
+ | Alle Geräte einer Mailbox anzeigen mit LastSync Datum. Alte Geräte oben. | ||
+ | Get-ActiveSyncDeviceStatistics -Mailbox " | ||
+ | |||
+ | Alte Geräte finden | ||
+ | Get-ActiveSyncDevice -Result Unlimited | Get-ActiveSyncDeviceStatistics | Where {$_.LastSuccessSync -le (Get-Date).AddDays(" | ||
+ | |||
+ | zum löschen der Geräte statt an '' | ||
+ | |||
+ | Device manuell über ID löschen (Achtung: Wird aus allen evtl. aktiven Mailboxen gelöscht!) | ||
+ | Get-ActiveSyncDevice | where {$_.DeviceId -eq " | ||
+ | |||
+ | Device aus bestimmter Mailbox löschen (über Identity) | ||
+ | Get-ActiveSyncDevice | where {$_.Identity -eq " | ||
+ | |||
+ | http:// | ||
+ | Set-CasMailbox pponzeka –ActiveSyncAllowedDeviceIDs number1, | ||
+ | Set-CasMailbox pponzeka –ActiveSyncAllowedDeviceIDs: | ||
==== Zertifikat erneuern ==== | ==== Zertifikat erneuern ==== | ||
Zeile 134: | Zeile 266: | ||
- | ===== VMware RDM Lun ID ===== | + | ===== VMware===== |
+ | ==== RDM + LUN ID ==== | ||
< | < | ||
$RDMs = @() | $RDMs = @() |