Archive 27. Mai 2021

Domain Join mittels PowerShell

In diesem Beitrag zeige ich dir wie du einen Windows Client in eine Windows Domaine per Skript aufnimmst.

Im Beispiel ist die Domaine die „hense.local“ uns das Passwort liegt verschlüsselt unter „C:\temp“.
In einem anderen Beitrag habe ich schonmal gezeigt wie man ein Passwort mittels PowerShell verschlüsseln kann. Dies wird hier benötigt.

Schritte

  • Passwort Verschlüsseln
  • Variablen anpassen
  • Skript als Admin ausführen
### Erstellt am 22.05.2021 - Philipp Hense - it-hense.de ###

# Variablen

$DomainName = "hense.local"
$PasswortSpeicherort = C:\temp


## Ab hier nichts mehr ändern ##

#Credentials aufbauen
$username = "Administrator"
$key = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2)
$password = get-content ("$PasswortSpeicherort\passwort.txt") | convertto-securestring -key $key
$credentials = New-Object System.Management.Automation.PSCredential (“$username”, $password)

#Domain Join
Add-Computer -DomainName $DomainName -Restart -Credential $credentials

PowerShell Passwort verschlüsseln

In diesem Beitrag zeige ich dir wie du mittels PowerShell ein Passwort verschlüsseln kannst. Dies wird oftmals gebraucht um ein Passwort in ein Skript einzubauen ohne das es in Klartext eingefügt wird. Wenn du dieses Skript benötigst lade dir den Sourcecode herunter.

Skripte

### Erstellt am 23.03.2021 - Philipp Hense ###

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$Speicherort                     = New-Object system.Windows.Forms.Form
$Speicherort.ClientSize          = New-Object System.Drawing.Point(725,232)
$Speicherort.text                = "Speicherort"
$Speicherort.TopMost             = $false
$Speicherort.icon                = ".\icon.ico"

$Eingabe                         = New-Object system.Windows.Forms.TextBox
$Eingabe.multiline               = $false
$Eingabe.text                    = "z.B. C:\temp"
$Eingabe.width                   = 673
$Eingabe.height                  = 20
$Eingabe.Anchor                  = 'top,right,bottom,left'
$Eingabe.location                = New-Object System.Drawing.Point(30,78)
$Eingabe.Font                    = New-Object System.Drawing.Font('Courier New',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Italic))
$Eingabe.ForeColor               = [System.Drawing.ColorTranslator]::FromHtml("#0017ff")
$Eingabe.BackColor               = [System.Drawing.ColorTranslator]::FromHtml("#ffffff")

$Label                           = New-Object system.Windows.Forms.Label
$Label.text                      = "Bitte gebe hier den Pfad an in der das Passwort verschluesselt abgespeichert werden soll."
$Label.AutoSize                  = $true
$Label.width                     = 350
$Label.height                    = 10
$Label.Anchor                    = 'top,right,left'
$Label.location                  = New-Object System.Drawing.Point(6,15)
$Label.Font                      = New-Object System.Drawing.Font('MV Boli',12)

$abbrechen                       = New-Object system.Windows.Forms.Button
$abbrechen.text                  = "Abbrechen"
$abbrechen.width                 = 210
$abbrechen.height                = 40
$abbrechen.location              = New-Object System.Drawing.Point(116,159)
$abbrechen.Font                  = New-Object System.Drawing.Font('Tw Cen MT',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Bold))
$abbrechen.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#ff0000")
$abbrechen.BackColor             = [System.Drawing.ColorTranslator]::FromHtml("#d1d1d1")
$abbrechen.Add_Click({$Speicherort.Close()})


$speichern                       = New-Object system.Windows.Forms.Button
$speichern.text                  = "Speichern"
$speichern.width                 = 210
$speichern.height                = 41
$speichern.location              = New-Object System.Drawing.Point(377,158)
$speichern.Font                  = New-Object System.Drawing.Font('Tw Cen MT',12,[System.Drawing.FontStyle]([System.Drawing.FontStyle]::Bold))
$speichern.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#03770e")
$speichern.BackColor             = [System.Drawing.ColorTranslator]::FromHtml("#d1d1d1")

$speichern.Add_Click({$Speicherort.Close(); .\passwort-hash.lnk -Eingabe $Eingabe.Text})

$copyright                       = New-Object system.Windows.Forms.Label
$copyright.text                  = " 2021 Philipp Hense"
$copyright.AutoSize              = $true
$copyright.width                 = 25
$copyright.height                = 10
$copyright.location              = New-Object System.Drawing.Point(10,218)
$copyright.Font                  = New-Object System.Drawing.Font('Microsoft Sans Serif',7)
$copyright.ForeColor             = [System.Drawing.ColorTranslator]::FromHtml("#acacac")

$Speicherort.controls.AddRange(@($Eingabe,$Label,$abbrechen,$speichern,$copyright))



[void]$Speicherort.ShowDialog()
### Erstellt am 23.03.2021 - Philipp Hense ###

param (
 [string] $Eingabe = $Eingabe
)

$File = "$Eingabe"
$File_a = ("$File").TrimStart("System.Windows.Forms.TextBox, Text: ")
$File_neu = $File_a + "\passwort.txt"
$password = Read-Host Bitte Passwort eingeben -AsSecureString
$key = (3,4,2,3,6,2,1,1,2,3,2,4,3,1,4,2)
$password | ConvertFrom-SecureString -key $key| Set-Content ("$file_neu")

Links

Philipp Hense / Powershell-Passwort-verschlüsseln · GitLab


Eigenen Jellyfin Server unter Linux installieren

Du möchtest dir deinen eigenen Jellyfin Server installieren? Dann bist du hier richtig. In diesem Beitrag zeige ich dir wie du deinen eigenen Jellyfin Server installieren kannst.

System updaten

sudo apt-get update && sudo apt-get upgrade -y

SMB Utility installieren

sudo apt-get install cifs-utils 

Mount Point erstellen

sudo mkdir /jellyfin/
sudo mkdir /jellyfin/media

fstab Eintrag

sudo nano /etc/fstab
//192.168.0.137/Media  /jellyfin/media  cifs credentials=/home/.smbcredentials,uid=1000,gid=1000 0 0

Mit STRG+O speicherst du die Datei und mit STRG+X gehst du aus der Datei heraus.

sudo nano /home/.smbcredentials
username=Hier den Benutzer vom NAS eintragen
password=Hier das Passwort vom Benutzer eintragen

Jellyfin installieren

HTTPS-Transport für apt installieren

sudo apt install apt-transport-https

Repository hinzufügen

sudo add-apt-repository universe

Key hinzufügen

sudo wget -O - https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo apt-key add -

Konfiguration der Repository

sudo /etc/apt/sources.list.d/jellyfin.list:
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Jellyfin Package installieren

sudo apt update
sudo apt install jellyfin

Jellyfin starten

sudo systemctl enable jellyfin

Links

Jellyfin-Projekt – Jellyfin


nginx Reverse Proxy Manger installieren

In diesem Beitrag stelle Ich dir den Nginx Proxy Manager vor, ein Reverse Proxy mit einfacher, grafischer Benutzeroberfläche. Hiermit kannst du ganz leicht Reverse Proxy’s anlegen, Access Control Listen erstellen und kostenlose SSL Let’s Encrypt Zertifikate erstellen.

System updaten

sudo apt update && sudo apt upgrade -y

Docker installieren

sudo apt install docker.io
sudo systemctl start docker 
sudo systemctl enable docker

Docker Compose installieren

sudo apt install curl

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Nginx Proxy Manger installieren

Ordner erstellen

mkdir npm
cd npm

config.json erstellen

nano config.json
{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "npm",
    "user": "npm",
    "password": "npm",
    "port": 3306
  }
}

docker-compose.yml erstellen

nano docker-compose.yml
version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
    volumes:
      - ./data/mysql:/var/lib/mysql

Docker erstellen

docker-compose up -d

Webzugriff

Du kannst den nginx Proxy Mnager über folgende Adresse erreichen. http://hostip:81 (Hostip einfach dur die IP-Adresse vom Server ersetzen).

Erster Login

user: admin@example.com
pw: changeme

Links

GitHub – jc21/nginx-proxy-manager: Docker container for managing Nginx proxy hosts with a simple, powerful interface


RocketChat Installation unter Ubuntu mittels Snap

Du möchtest deinen Eigenen Chat Server installieren hierfür eignet dich der RocketChat sehr gut. Die Anforderungen hierfür sind nicht hoch und er ist in wenigen Schritten installiert.

Anforderungen

  • Ubuntu / Debian
  • min 1 GB RAM

Installation

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install snapd -y

sudo snap install rocketchat-server

Links

Snaps – Rocket.Chat Docs
Installiere unsere Apps und nutze unseren Server – Rocket.Chat – Rocket.Chat


Bitlocker Key in Active Directory schreiben

In diesem Beitrag zeige ich dir wie du einen schon vorhandenen Bitlocker Key in die Windows AD schreiben kannst.

Dies wird oftmals dann gebraucht falls die Gruppenrichtlinie nicht funktioniert hat und der Key nicht automatisch geschrieben wurde, oder das Computerkonto aus versehen gelöscht wurde.

PowerShell Skript

### Erstellt am 07.04.2021 - Philipp Hense ###

$key = manage-bde -protectors -get c: 
$key = $key.trim() -join ";"
$keymatches = ($key | select-String -pattern "ID: {(?<ID>[0-9ABCDEF-]+)};Kennwort:;(?<K>[0-9-]*)" -AllMatches).Matches
 
$key_id = $keymatches[0].Groups.Item(1).Value
$keymatches[0].Groups.Item(2).Value



manage-bde -protectors -adbackup c: -id "{$key_id}"

Führe das Skript als Admin aus!

Links

Philipp Hense / Bitlocker Key in AD schreiben · GitLab


OpenSlides Übersicht

Allgemein

In der Weboberfläche findet man links das Menü in dem man alles einstellen kann.

Startseite

Auf der Startseite wird einem in der Regel die Wichtigsten Informationen zur Veranstaltung angezeigt.

Admin Einstellungen

Wenn man als Admin die Startseite anpassen möchte klickt man rechts oben einfach auf den Stift dies funktioniert auf jeder Seite so. Nun kann man die Überschrift der Startseite ändern und den Text der unter dem Titel angezeigt werden soll.

Autopilot

Wenn du im Autopilot bist wirst du im Normalfall durch die komplette Veranstaltung geleitet. Wenn eine Wahl oder ein Antrag ansteht bekommst du eine Information dass du nun wählen darfst.

Tagesordnung

In der Tagesordnung siehst du die einzelnen Punkte die auf der Tagesordnung stehen.

Admin Einstellungen

Als Admin hast du die Möglichkeit die einzelnen Punkte zu projizieren so dass diese im Autopiloten angezeigt werden. Ebenfalls kannst du als Admin die einzelnen Punkte erstellen hierzu einfach auf das + klicken.

Wahlen

In den Wahlen werden die verschiedenen Wahlen angezeigt. Du kannst dich je nach Berechtigung selber aufstellen lassen und zur Wahl kandidieren oder auch andere Teilnehmer aufstellen. Wenn ein Wahlvorgang gestartet wurde kannst du auch direkt unter Wahlen deine Stimme abgeben.

Admin Einstellungen

Als Admin kannst du Wahlen erstellen. Ebenfalls hast du die Möglichkeit wenn du direkt in einer Wahl bist einen neuen Wahlvorgang zu Starten.

Teilnehmende

Unter dem Punkt Teilnehmende findest du alle Teilnehmende die an der Veranstaltung teilnehmen.

Admin Einstellungen

Als Admin kannst du neue Benutzer anlegen. Dies funktioniert entweder über das + oder du importierst eine CSV Datei über die drei Punkte.

CSV Import

Die CSV muss im folgenden Stil aufgebaut sein.

Titel, Vorname, Nachname, Gliederungsebene, Teilnehmernummer, Gruppen, Kommentar, Ist aktiv, Ist anwesend, Ist ein Gremium, Initiales Passwort, E-Mail, Benutzername, Geschlecht, Stimmgewicht

Dateien

Unter Dateien kannst du hochgeladene Dateien Ansehen und diese herunterladen.

Admin Einstellungen

Falls du Admin bist kannst du hier Ordner oder einzelne Dateien erstellen bzw. hochladen.

Chronik

Hier findest die wie einen Log der geführt wird sobald irgendwas in der Veranstaltung getätigt wird.

Einstellungen (Admin)

Hier kannst verschiedenes zur Veranstaltung einstellen wie zum Beispiel

  • Allgemein
    • Veranstaltungsname
    • Kurzbeschreibung der Veranstaltung
    • Veranstaltungszeitraum
    • Veranstaltungsort
    • Livekonferenzen
    • Gast Zugriff erlauben
    • Design Einstellungen
  • Tagesordnung
    • Beginn der Veranstaltung
    • Nummerierung der Punkte
  • Anträge
    • Wie die Abstimmung erfolgen soll
  • Wahlen
    • Wahlmethode
    • Art der Stimmangabe
    • Stimmrecht
    • Export
  • Teilnehmende
    • Sortierung
    • Stimmgewicht aktivieren
    • Anwesenheit
    • PDF Export
    • E-Mail Einstellungen
Hallo {name},

bei der Jahreshauptversammlung nutzen wir das Tool OpenSlides für Abstimmungen und Wahlen.


hier ist Ihr persönlicher Abstimmungs-Zugang:

    {url}
    Benutzername: {username}
    Passwort: {password}

Die Zugangsdaten sind geheim und dürfen unter keinen Umständen weitergegeben werden!


Mit freundlichen Grüßen 


Diese E-Mail wurde automatisch erstellt.

Links

OpenSlides Server erstellen – IT-Hense
OpenSlides Handbuch


UniFi Network Controller unter Linux installieren

Falls du dir gerne die Kosten für den UniFi Cloud Key sparen möchtest kannst du dies auch ganz einfach selber installieren. In diesem Beitrag zeige ich dir wie du dies machen kannst.

Systemanforderungen

  • Ubuntu / Debian Server
  • Webbrowser deiner Wahl

Installation

Alle schritte werden als root User ausgeführt.

System auf Updates Prüfen

apt update 
apt upgrade 

ca-certificates und wget installieren

apt install ca-certificates wget

Download des Skriptes

wget https://get.glennr.nl/unifi/install/install_latest/unifi-latest.sh 

Skript ausführen

bash unifi-latest.sh


OpenSlides Server erstellen

Da bei mir in einem Verein Neuwahlen anstanden und es durch die aktuelle Situation (Corona) leider nicht möglich war eine Offline Wahl zu veranstalten, mussten wir uns Gedanken machen wie wir das ganze umsetzen könnten. Nach einigen Tagen Suchen sind wir auf das Programm OpenSlides gestoßen. Im folgenden zeige ich dir wie du deinen eigen OpenSlides Server aufsetzen kannst.

Funktionen

  • Projektor
  • Tagesordnung
  • Redelisten
  • Antragsverwaltung
  • Wahlen verwalten und Ergebnisse protokollieren
  • eVoting (Abstimmungen und Wahlen live durchführen)
  • Teilnehmerverwaltung
  • Volltextsuche
  • responsive Design
  • Datenimport/-export
  • Mehrsprachigkeit

Systemanforderungen

  • Ubuntu / Debian
  • 512 MB Ram
  • Python >= 3.6
  • Browser deiner Wahl

Installation

Installiere zunächst einmal Python mit diesem Befehl:

sudo apt-get install build-essential python3-dev python3-venv

Als zweiten Schritt solltest du ein Virtual Enviromnent erstellen. Dies machst du mit den folgenden Befehlen:

mkdir OpenSlides
cd OpenSlides
python3 -m venv .virtualenv
source .virtualenv/bin/activate
pip install --upgrade setuptools pip

Installiere nun OpenSlides.

pip install openslides

Mit folgendem Befehl Startest du OpenSlides:

openslides

Anmelden

Du kannst dich über http://IP-Adresse:8000 anmelden: Der Erste Benutzer ist admin mit dem Passwort admin.

Konfigurationsdatei

Da ich das ganze als root User ausgeführt habe liegt die Konfigurationsdatei bei mir unter

nano /root/.config/openslides/settings.py

Elektronisches Wählen

Falls du die Wahlen online Durchführen willst musst du in der Konfig folgendes einfügen.

ENABLE_ELECTRONIC_VOTING = True

Email Einstellungen

EMAIL_HOST = ''
EMAIL_PORT = 587
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
EMAIL_TIMEOUT = None
DEFAULT_FROM_EMAIL = ''

Diesen Teil gibt es schon in der Konfig ändere hier nur deine Werte ab.

Im Anschluss kannst du OpenSlides wieder starten und die Einstellungen werden übernommen.

Autostart von OpenSlides

Falls du OpenSlides automatisch nach einem Reboot starten lassen möchtest benötigst du einfach ein Shell Skript.

nano /root/openslides-starten.sh
#!/bin/bash

cd /root/OpenSlides
source .virtualenv/bin/activate
openslides

Nun musst du das Skript ausführbar machen.

chmod +x /root/openslides-starten.sh

Im Letzten Schritt fügst du im Crontab noch das Skript ein.

crontab -e
@reboot /root/openslides-starten.sh

Links

OpenSlides: das digitale Antrags- und Versammlungssystem


PI-Hole Installation

In diesem Beitrag erkläre ich dir wie du dir deinen eigenen Add-Blocker mittels PI-Hole installierst.
Zur Info es ist egal ob du PI-Hole auf einem RaspberryPI oder auf einem Linux Server Installierst.

Voraussetzungen

  • mindestens 512 MB RAM
  • ca. 52 MB freier Festplattenspeicher

Installation

Als erstes sollte sichergestellt sein, dass sich die Debian Installation auf dem aktuellsten Stand befindet.
Mache dich zum „root“ User oder gebe vor dem Befehl „sudo“ ein.

apt-get update 
apt-get upgrade

Sind alle Updates heruntergeladen und installiert kann mit der Installation von Pi-Hole begonnen werden. Führe dazu einfach folgenden Befehl aus:

curl -sSL https://install.pi-hole.net | bash

Nachdem die Installation gestartet wurde erscheint der Installations-Assistent. Hierbei wird die Konfiguration in mehrere Schritte aufgeteilt. Die einzelnen Schritte gehe ich mit Dir jetzt durch.
Als erstes musst Du bestätigen, dass Pi-Hole installiert wird. Dazu einfach mit Return bestätigen.

Danach kannst Du auswählen, an welchen DNS- Anbieter Pi-Hole die Anfragen weiterleiten soll. Einen Vergleich der hier zur Auswahl angebotenen Anbieter kannst Du im Artikel Öffentliche DNS Server im Vergleich nachlesen. Der DNS- Anbieter kann auch später jederzeit über die Weboberfläche geändert werden.

Im nächsten Schritt werden Drittanbieter- Listen angezeigt, welche Pi-Hole zum Blockieren von Werbung verwendet. Hier würde ich keine Änderungen vornehmen und alle Listen ausgewählt lassen. Möchtest Du dennoch auf einen oder mehrere Anbieter verzichten, so kannst Du mit den Pfeiltasten (Auf / Ab) navigieren und mit der Leertaste die den entsprechenden Anbieter aktivieren oder deaktivieren. Da ich hier keine Änderungen vornehme bestätige ich die Einstellungen mit OK.

Einen Schritt weiter kann noch eingestellt werden über welche Protokolle Pi-Hole Werbung blockieren soll. Standardmäßig sind hier IPv4 und IPv6 aktiviert. Diese Voreinstellung können wir belassen und mit OK weiter zum nächsten Schritt gehen.

Nun kann die IP- Adresse eingestellt werden. Dazu wird man vom Installations- Assistenten gefragt ob man die derzeitige IP-Adresse als statische Adresse eintragen und verwenden möchte, oder ob diese gegen eine andere geändert werden soll. Wenn Du die angezeigte Netzwerkkonfiguration übernehmen möchtest musst Du diese nur mit YES bestätigen andernfalls wähle NO aus. Dann hast Du die Möglichkeit die IP-Adresse zu ändern.

Hast Du die IP- Einstellungen übernommen oder die von dir gewünschte IP- Adresse festgelegt musst Du in den nächsten beiden Schritten nur noch bestätigen, dass das Webinterface installiert werden soll. Standardmäßig ist die Installation bereits ausgewählt. Du musst nur noch mit OK fortfahren

Jetzt noch die Installation des Webservers mit OK bestätigen.

Im vorletzten Schritt kannst Du noch auswählen ob die DNS- Anfragen welche an Pi-Hole gesendet werden protokolliert werden sollen. Standardmäßig ist diese Option aktiviert.

Zu guter Letzt kannst Du noch die Privatsphäre- Einstellungen für das FTL- Modul vornehmen. Dieses wird dafür benötigt damit Du in der Pi-Hole Admin Weboberfläche die Statistiken und Anfragen sehen und auswerten kannst.

Geschafft! Nach all diesen Schritten sind wir am Ende der Installation von Pi-Hole angekommen. Am Ende der Installation erscheint eine Übersicht mit der IP- Adresse unter welcher der Pi-Hole läuft. Außerdem wird dir Hier auch noch das Passwort, welches zum Anmelden an der Admin Weboberfläche benötigt wird, angezeigt.


WordPress Cookie Plugin von Real Cookie Banner