Rechte von Ordner unter Windows 7 auslesen

Dieses Skript wurde von am 14.12.2012 erstellt.

Schwierig gestaltete sich, dass Das get-acl cmdlet bei gemischten Rechten oft Zahlen wie 2032127 zurückgibt. Die Herausforderung war es, diese in eine lesbare Form zu mappen.

  1. Die im Path File gespeicherten Pfade zu den Ordnern auslesen.
  2. Jeden Ordner prüfen, ob er existiert
  3. Wenn er existiert -> Alle User und Gruppen mit Berechtigungen auslesen

Wenn es Gruppen sind müssen aus dem AD noch alle User aus der Gruppe abgefragt werden.

4. Das Ergebnis für Schreibrechte und Leserechte getrennt in eine Datei exportieren oder ausgeben

Datei herunterladen: Ordnerrechte

Quellen

 

Powershell Befehlssammlung

Umgebungsvariable

Computername

Windows Dienst
suchen

Neu starten

CSV einlesen

Prüfen, ob Verzeichnis existiert

Datei kopieren

Alle User aus dem AD

Alle User aus dem AD

Powershell gibt standardmässig nur 1000 Objekte pro Abfrage zurück

Quelle:

Skript herunterladen: AllUsers

Alle inaktiven User im Active Directory mit Powershell auslesen

Alle User, wo der Account mehr als 2 Wochen seit dem heutigen Datum abgelaufen ist.

Quellen, die herangezogen wurden:

Anleitung zu join http://www.colorconsole.de/PS_Windows/de/about_join.htm

Skript herunterladen: ADUserInaktiv

Stream empfangen

Programm um den Desktop eines entfernten PCs als Stream mit VLC 2.0.4 zu empfangen.
Dazu wird ein Passwort vom User zur Entschlüsselung des Streams abgefragt. Dieses muss aus 5 Zahlen bestehen.
Anschliessend wirde dieses VLC als Parameter für die Entschlüsselung des Streams übergeben.

Quellen:
http://stackoverflow.com/questions/8184167/how-to-prompt-for-input-in-powershell
http://serverfault.com/questions/155312/how-can-i-run-a-command-window-hidden-or-minimised
http://wiki.videolan.org/VLC_command-line_help

#Mit strg + F7 kann man eine einzelne Zeile ausführen

Stream Senden

Programm um den Desktop eines PC als Stream mit VLC 2.4.0 anzubieten.
Dazu wird ein Passwort vom User abgefragt. Dieses muss aus 5 Zahlen bestehen.
Anschliessend wirde dieses VLC als Parameter für die Verschlüsselung des Streams übergeben.

Quellen:##
http://stackoverflow.com/questions/8184167/how-to-prompt-for-input-in-powershell
http://serverfault.com/questions/155312/how-can-i-run-a-command-window-hidden-or-minimised
http://wiki.videolan.org/VLC_command-line_help

#Mit strg + F7 kann man eine einzelne Zeile ausführen

Mit VLC den Windows Desktop streamen (Powershell Skript)

Hallo,

Ich habe mit der Hilfe von Powershell ein Skript erstellt, mit dem man seinen Desktop daheim oder im Unternehmen streamen ganz leicht streamen kann.

Im grunde ist es recht simple. Es wird geprüft, ob VLC installiert ist. Wenn ja wird ein Passwort abgefragt, mit dem der TS Stream verschlüsselt werden soll. Anschliessen wird VLC mit den entsprechenden Parametern von Powershell aufgerufen.

Ich habe dazu die aktuelle VLC Version 2.0.4 unter einem Quad Core PC verwendet. Es ist extrem schwierig die richtigen Parameter für eine gute Qualität und geringe Bandbreitenbenützung zu finden.

Mein momentaner Befehl, mit dem ich VLC aufrufe, 9255 ist der Port auf dem der Stream geholt werden kann:

 

Ich empfehle die Seite http://wiki.videolan.org/VLC_command-line_help. Auf Ihr kann man die verschiedensten Parameter nachlesen. Oder http://www.videolan.org/doc/streaming-howto/en/ch03.html

Wenn man die Powershell Dateien irgendwo zentral im Netzwerk ablegt, kann man Verknüpfungen darauf anlegen.

Skripte herunterladen: VLC Desktop Stream

Powershell intro

Ich programmiere meine Powershell Skripte unter Windows 7 mit dem PowerGUI Skriptor

Als Quellen kann ich www.stackoverflow.com und Microsoft Technet empfehlen.

Sollte ein Powershell Skript unter Windows 7 nicht starten, so kann es sein, dass die Ausführung von Skripten deaktiviert ist.

Beispiel für eine Fehlermeldung:

Die Lösung dazu habe ich bei diesem Artikel gefunden.

http://www.borncity.com/blog/2010/02/24/powershell-skripte-lassen-sich-nicht-ausfhren/

PowerShell-Skriptausführung generell freigeben

Um Skriptdateien der PowerShell ausführen zu können, müssen Sie deren Ausführung zulassen. Öffnen Sie das Eingabefenster der Windows PowerShell über den Kontextmenübefehl Als Administrator ausführen und tippen Sie dann den Befehl

Set-ExecutionPolicy Unrestricted

ein. Anschließend betätigen Sie die Nachfrage über die (J)-Taste. Der Ansatz ist zwar eine Art Holzhammer-Methode, um die Skriptausführung vollständig frei zu geben. Aber zum Ausprobieren auf einem lokalen System durchaus zu gebrauchen (gibt halt schnelle Resultate).

So wird die Skriptausführung nur eingeschränkt

Sie können auch (siehe Abschnitt Powershell signieren und Execution Policy) auch den Befehl:

Set-ExecutionPolicy Allsigned RemoteSigned

verwenden. Mit dieser höheren Sicherheitsstufe (gegenüber “Unrestricted”) wird eine Ausführung lokaler PS1-Skripte (die von einem vertrauenswürdigen Autor erstellt wurden) ermöglicht. Die Skriptdateien brauchen also nicht signiert zu sein. Nur wenn Skriptdateien aus dem Internet heruntergeladen werden und für die entsprechende Sicherheitszone klassifiziert sind, wird die Skriptausführung verweigert.

Wenn’s ganz sicher sein soll

Wer es ganz sicher haben will (z. B. in Serverumgebungen), kann die ExecutionPolicy über den Befehl:

Set-ExecutionPolicy RemoteSigned Allsigned

auf AllSigned setzen. Dann sind nur PS1-Dateien ausführbar, die digital signiert sind.

Wer sich mit Sicherheitsfragen in Verbindung mit der Skriptausführung unter PowerShell befassen möchte, sei auf die unter Links genannten Fundstellen [2] und [3] verwiesen. Unter [5, 6, 7] finden Sie Artikel, die das Signieren von PowerShell-Code beschreiben.

Falls der Zugriff auf die Registrierung scheitert

In den Microsoft Windows 7-Foren gibt es Anwender [4], bei denen der Zugriff auf den Registrierungsschlüssel mit der Richtlinie mit einer Fehlermeldung

Set-ExecutionPolicy : Access to the registry key
‘HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell’
is denied.

abbricht. In diesem Fall fehlt der betreffende Registrierungseintrag. Öffnen Sie die Registrierung im Registrierungseditor und navigieren Sie zum Schlüssel:

HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

Anschließend fügen Sie den Wert (REG_SZ) mit dem Namen ExecutionPolicy ein und setzen diesen auf “RemoteSigned”. Dies erfordert administrative Berechtigungen. Danach lässt sich in der PowerShell Konsole mit Get-ExecutionPolicy prüfen, ob es geklappt hat.

Roaming Profile auf Grösse prüfen

Mit diesem Skript sollen das Eigenee Roaming Profile auf die grösse geprüft werden.
Wenn es grösser wie eine definierte Variable ist, so soll ein Mail an jemand verschickt gehen.
Quellen:

Skript herunterladen: RoamingProfilePruefen

Batch Datei von Laufwerk starten

In jedem Root Verzeichnis (alle vorhandenen Laufwerke) nach einer Batch Datei suchen (zb. Backup.bat).
Wenn vorhanden, dann Ausführen, sonst Meldung ausgeben „Bitte USB anstecken“
Quellen:
http://stackoverflow.com/questions/1663565/list-all-devices-partitions-and-volumes-in-powershell

Skript herunterladen: BatchDateiStarten