Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
public:admin-docs:powershell_snippets [2023/11/08 11:02] – gelöscht - Externe Bearbeitung (Unknown date) 127.0.0.1public:admin-docs:powershell_snippets [2024/01/24 11:24] (aktuell) – [Benutzer anlegen] jankow@datenkollektiv.net
Zeile 1: Zeile 1:
 +====== Powershell Snippets ======
  
 +===== Chocolatey =====
 +
 +**Installieren**
 +<code>
 +Set-ExecutionPolicy AllSigned
 + 
 +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
 +</code>
 +
 +**Pakete installieren**
 +<code>
 +choco install chocolateygui -y
 +choco install adobereader -y
 +choco install Firefox -y
 +choco install libreoffice-fresh -y   
 +choco install vlc -y
 +choco install shutup10 -y
 +</code>
 +Starten von ShutUp10 via: ''Win+R'' -> ''OOSU10''
 +===== Benutzer anlegen =====
 +Benutzer anlegen
 +  New-LocalUser -AccountNeverExpires:$true -Password ( ConvertTo-SecureString -AsPlainText -Force 'gleichaendern!') -Name $user
 +Passwort-Ablauf verhindern
 +  Set-LocalUser -Name $user -PasswordNeverExpires 1
 +Zu Gruppe hinzufügen, z.B:
 +  Add-LocalGroupMember -Group  "Remotedesktopbenutzer" -Member $user
 +Zum Admin machen:
 +  Add-LocalGroupMember -Group Administratoren -Member $user
 +  
 +===== Benutzer per Batch anlegen =====
 +
 +Alle folgenden Kommandos erfolgen in einer Administrator-Powershell:
 +
 +**Execution-Policy setzen**
 +
 +Per Default erlaubt Win10 keine Ausführung nicht signierter Skripte: https://www.script-example.com/wie-erstelle-ich-ein-PowerShell-Skript#powershell-skripts-erlauben
 +
 +Wir setzen also:
 +
 +  Set-ExecutionPolicy remotesigned
 +
 +Und unblocken unser Skript, z.B.
 +
 +  Unblock-File addusers.ps1
 +
 +Und jetzt das Beispielskript, das eine Anzahl von Nutzer*innen anlegt und diese sowohl zu Administrator*innen macht also auch RDP-Zugriff erlaubt. Als Passwort nutzen wir "gleichaendern!" - das über die Funktion ''ConvertTo-SecureString'' zu einem Hash verarbeitet wird.
 +
 +Es gibt auch die Möglichkeit, kein Passwort zu setzen ''-NoPassword'', dann werden die Nutzer*innen beim erstmaligen Login aufgefordert, ihres zu setzen. Aber das funktioniert nur lokal - nicht per RDP.
 +
 +<file shell addusers.ps1>
 +$users = @(
 +        'user1',
 +        'user2',
 +        'user3'
 +)
 +
 +foreach($user in $users) {
 +
 +    New-LocalUser -AccountNeverExpires:$true -Password ( ConvertTo-SecureString -AsPlainText -Force 'gleichaendern!') -Name $user
 +    Set-LocalUser -Name $user -PasswordNeverExpires 1
 +    Add-LocalGroupMember -Group  "Remotedesktopbenutzer" -Member $user
 +
 +
 +}
 +
 +</file>
 +
 +Sollen alle User auch Admins werden, dann kann noch folgende Zeile eingefügt werden:
 +
 +  Add-LocalGroupMember -Group Administratoren -Member $user
 +
 +Wir lassen uns die Benutzer jetzt alle anzeigen: https://pureinfotech.com/see-user-accounts-windows-10/
 +
 +Siehe auch:
 +  * https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.localaccounts/new-localuser?view=powershell-5.1
 +  * https://www.windowspro.de/script/schleifen-powershell-foreach-while-do-until-continue-break
 +  * https://www.script-example.com/Powershell-Loops-Array