Windows; besteht die Möglichkeit ein Script oder eine Batch zu schreiben dass folgendes kann?
Hallo,
besteht die Möglichkeit ein Script oder ein Batch zu schreiben das folgendes kann?
Die erweiterten Netzwerkfreigabeeinstellungen so zu ändern dass alles deaktiviert ist, die Dateifreigabeverbindung auf 128 Bit eingestellt ist, und nur das Kennwortgeschützte freigeben aktiviert ist.
Also als eine Art Script auf das per Doppelklickt aktiviert die einstellungen vornimmt.
2 Antworten
Das An/Aus -schalten der Netzwerkerkennung bzw. Datei-/Druckerfreigabe bekommt man recht leicht mit dem Befehl netsh erledigt.
dabei ist zu beachten, das Namen für Regeln oder Regelgruppen lokalisiert sind. das heist, die meist englischen Anleitungen aus dem Netz klappen auf einem deutschen System nicht ohne weiteres
- "Network Discovery" heißt auf einem deutschsprachigen System "Netzwerkerkennung"
- "File and Printer Sharing" ist auf deutschen Systemen "Datei- und Druckerfreigabe"
...an diesem Umstand ist schon so mancher "Jungadminuístrator" gescheitert...
hier die eingedeutschten Batch-Befehlszeilen
rem Netzwerkerkennung ausschalten
netsh advfirewall firewall set rule group="Datei- und Druckerfreigabe" new enable=no
rem Datei- und Druckerfreigaben deaktivieren
netsh advfirewall firewall set rule group="Netzwerkerkennung" new enable=no
...zum Einschalten entsprechend enable=yes
Die 128Bit-Dateifreigabe-Verschlüsselung ist Standard und braucht eigentlich nicht explizit festgelegt werden. Diese wird über die Werte "NtlmMin*" im Registryschlüssel "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" festgelegt.
rem 128Bit verschlüsselung für alle verbindungen (eigentlich Standard unter windows ab 8.1)
set "RegPath=HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
reg add "%regpath%" /v NtlmMinServerSec /t REG_DWORD /d 0x20000000 /f
reg add "%regpath%" /v NtlmMinClientSec /t REG_DWORD /d 0x20000000 /f
der Wert für 40/56 Bitverschüsselung wäre 0x80000000
...und nur das Kennwortgeschützte freigeben aktiviert ist
...wenn Dateifreigaben generel deaktiviert sein sollen, gibt es auch kein "Nur kennwortgeschützte Freigaben". Ergo Quatsch.
da du die Sache als Admin ausführen musst lassen wir die Batch auch selbständig als Admin starten.
demo.cmd
@echo off
chcp 65001 >nul & rem Umlaute anzeigen
rem prüfen ob wir im Adminmodus sind... wenn ja mit :adminTasks weitermachen.
net session >nul 2>&1 && goto :adminTasks
rem starte diese Batch als Admin...
powershell -c "Start-Process -Verb runas '%~f0' "
exit /b
:adminTasks
rem Netzwerkerkennung ausschalten
netsh advfirewall firewall set rule group="Datei- und Druckerfreigabe" new enable=no
rem Datei- und Druckerfreigaben deaktivieren
netsh advfirewall firewall set rule group="Netzwerkerkennung" new enable=no
rem 128Bit verschlüsselung für alle verbindungen (eigentlich Standard unter windows ab 8.1)
set "RegPath=HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
reg add "%regpath%" /v NtlmMinServerSec /t REG_DWORD /d 0x20000000 /f
reg add "%regpath%" /v NtlmMinClientSec /t REG_DWORD /d 0x20000000 /f
pause
ich werde mir das später ansehen und auf dich zurückkommen.
Für solche Aufgaben eignet sich vor allem PowerShell und alles im wesentlichen mit Set-NetFirewallRule und Set-ItemProperty festgelegt werden kann. Zusätzlich noch ein Batch-File, mit dem dann das PowerShell-Script schnell als Admin ausgeführt wird.