Speicherplatz von Festplatten überwachen Event-Log

Write-EventLog Free Disk Space

In diesem Dokument geht es um die Überwachung des freien Speicherplatzes.

Sobald der freie Speicherplatz unter Wert „X” sinkt, wird eine Information ins Ereignisprotokoll geschrieben.

Sinkt der freie Speicherplatz unter Wert „Y”, wird eine Warnung ins Ereignisprotokoll geschrieben.

Speicherplatz von Festplatten überwachen


Download und Installation von Microsoft Visual C++ Redistributable

Powershell Install Microsoft Visual C++ Redistributable

Mit diesem Powershell Skript könnt ihr die aktuellen Installationspakete herunterladen und installieren.

Powershell Download Microsoft Visual C++ Redistributable

Powershell Install Microsoft Visual C++ Redistributable

Programme und Features

Powershell Install all VS


Reboot von Server oder Workstations einer OU

Reboot Workstation or Server from OU

# Export all Maschines

(Get-ADComputer -Filter * -SearchBase “OU=Server,OU=Machines,OU=ORG,DC=ndsedv,DC=de”).Name | Out-File c:\Temp\Servers.txt

# Export only Workstations

(Get-ADComputer -Filter ‘operatingsystem -notlike “*server*”‘).Name | Out-File C:\Temp\Workstations.txt

# Export only Server

(Get-ADComputer -Filter ‘operatingsystem -like “*server*”‘).Name | Out-File C:\Temp\Servers.txt

# Reboot

Restart-Computer -ComputerName (Get-Content C:\Temp\computers.txt) -Force -ErrorAction SilentlyContinue -ErrorVariable NoRestart

$NoRestart.targetobject | Out-File C:\Temp\NoReboot.txt


Unterschied Managed Service Account & Group Managed Service Account

MSA gMSA Account

Der Unterschied zwischen diesen beiden Accounts besteht in der Nutzbarkeit.

Ein MSA Account kann nur einem Server zugewiesen werden, wobei der gMSA Account mehreren Servern (auch Cluster-Service) zugewiesen werden kann.

RestrictToSingleComputer

Ein Managed Service Account benötigt beim Anlegen den Schalter “RestrictToSingleComputer” :

New-ADServiceAccount -Name “MSA” -RestrictToSingleComputer

Ein Group Managed Service Account benötigt eine Sicherheitsgruppe “SecGrMSA”, in der die Computer Mitglied werden, auf denen der gMSA Account eingesetzt werden soll:

New-ADServiceAccount -Name MSA-Skript -Enabled $true `
-DNSHostName MSA-Skript.ndsedv.de `
-PrincipalsAllowedToRetrieveManagedPassword “SecGrMSA”

Wichtige Optionen:

DNS Hostname = Name des Servers
ServicePrincipalNames = MSSQLSvc/SRV01.dbi-test:1433

Des Weiteren verfügt der gMSA Account über erweiterte Attribute:

Unterschied MSA gMSA Account

ADServiceAccount installieren:
Install–ADServiceAccount -Identity

ADServiceAccount de-installieren:
UnInstall–ADServiceAccount -Identity

ADServiceAccount Passwort erneuern:
Reset-ADServiceAccountPassword -Identity

ADServiceAccount aus dem AD entfernen:
Remove–ADServiceAccount -Identity

Server 2012 – Group Managed Service Account erstellen


Netzlaufwerk mit einer verschlüsselten Passwortdatei einbinden

Das Ziel ist es, ein Laufwerk zu mappen ohne ein Passwort einzugeben. Das Passwort liegt verschlüsselt auf dem Laufwerk und wird in das Powershell-Skript eingebunden. Auf den Ordner in dem die verschlüsselte Passwortdatei liegt sollte nicht jeder zugreifen dürfen. Bitte die NTFS-Rechte entsprechend anpassen.

Erzeugen einer verschlüsselten Passwortdatei:

$File = “C:\Temp\Passwort.txt”
$Password = “*Passwort eingeben*” | ConvertTo-SecureString -AsPlainText -Force
$Password | ConvertFrom-SecureString | Out-File $File

Laufwerk mappen:

$encrypted = Get-Content “C:\Temp\Passwort.txt” | ConvertTo-SecureString
$credential = New-Object System.Management.Automation.PsCredential(“ndsedv\Benutzer1”, $encrypted)
New-PSDrive -name “T” -PSProvider FileSystem -Root “\\172.18.32.110\Daten” -Persist -Credential $credential

 


Powershell Delete old files and logging

Lösche Dateien und erstelle ein LogFile

Mit diesem Powershell-Skript löscht ihr Dateien älter als X Tagen und setzt einen Filter für Dateien die gelöscht werden sollen inkl. eventueller Ausnahmen.

$delete_path = “F:\Daten\*”
$ignore_Path = “F:\Daten\Test”
$report_path = “C:\LOG”

$olderthan = -10
$del_date = (Get-Date).AddDays($olderthan)

$includefiles = @(“*.txt”,”*.log”,”*.csv”,”*.docx”,”*.PDF”)
$excludefiles = @(“*.ps1″,”*.vsdx”)

$Delete = Get-ChildItem $delete_path -Inc $includefiles -Excl $excludefiles -Recurse |
  Where-Object { !($_.PSIsContainer) -and
                   $_.LastWriteTime -lt $del_date -and
                   $_.Directory -notlike $Ignore_Path }

    if($Delete){
    Set-Content “$report_path\$(get-date -uFormat “%d-%m-%Y %H-%M-%S”).log” $Delete;
    Remove-Item -Path $Delete -Force -Recurse
}

Delete old files and report

https://www.der-windows-papst.de/category/skripte/