itmike
Goto Top

Windows 7 Einstellungen per Script ändern (Gruppenrichtlinien und Regestry)

Hallo,

ich würde gerne einige Dinge bei Windows 7 automatisiert einstellen lassen.

Windos Updates müssten ausgeschaltet werden.
Das Wartungscenter ausgeblendet werden (Gruppenrichtlinien)
Windows Firewall aktiviert werden
und Netzwerk auf Arbeit eingestellt werden.

Ein Domänen Controler ist leider nicht vorhanden.

Wäre es möglich dies per script zu erledigen?

Viele Grüße und Danke

Mike

Content-ID: 246168

Url: https://administrator.de/contentid/246168

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

Sheogorath
Sheogorath 11.08.2014 um 15:51:32 Uhr
Goto Top
Moin,

alles bis auf das Netzwerkprofil würde mir jetzt direkt mit Batch einfallen, für Updates kannst du service abschießen, wartungscenter ist registry-Key und Firewall auch Service. nur dein Netzwer, das weiß ich nicht auswendig.

Näheres, später, bin gerade auf dem Sprung

Gruß
Chris
colinardo
Lösung colinardo 11.08.2014, aktualisiert am 12.08.2014 um 08:41:04 Uhr
Goto Top
Moin,
die ersten drei Punkte kannst du hiermit erledigen:
:: Updates deaktivieren
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f  
:: Wartungscenter ausblenden
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v HideSCAHealth /t REG_DWORD /d 1 /f  
:: Firewall aktivieren
netsh advfirewall set allprofiles state on
Den letzten Punkt müsste ich auch nochmal nachsehen.

-edit- Der letzte Punkt, das Setzen des Netzwerktyps auf Privat(ist das selbe wie Arbeit) lässt sich mit einem Powershell-Script erreichen:
$netman = [System.Activator]::CreateInstance([Type]::GetTypeFromCLSID('DCB00C01-570F-4A9B-8D69-199FDBA5723B'))  
$networks = $netman.GetNetworks(1)  # nur verbundene Netzwerke aufzählen
foreach($net in $networks){
    if ($net.IsConnected){
        # set private/work network
        write-host "Setting Connection: '$($net.GetName())' to private/work network location" -ForegroundColor Green  
        $net.SetCategory(0x01)
    }
}
zur Info: Powershell-Scripte lassen sich auch zu einer EXE kompilieren

Grüße Uwe
itMike
itMike 12.08.2014 um 07:19:38 Uhr
Goto Top
Guten Morgen,

die Test mit den reg Einträgen laufen schon, Rückmeldung erfolgt.

Der Eintrag Privat und Arbeit sind nicht gleich.

Privat Heimnetzgruppe Drucker Dokumentenfreigabe etc... bei Arbeit passiert dies nicht.

Viele Grüße und Danke

Mike
colinardo
colinardo 12.08.2014 aktualisiert um 08:32:44 Uhr
Goto Top
Der Eintrag Privat und Arbeit sind nicht gleich.
Wenn man es via Code setzt, werden diese Dinge nicht automatisch aktiviert, zumindest bei meinen Tests nicht. Wenn sie vorher aktiviert waren muss man sie zusätzlich noch in der Firewall deaktivieren..
Gibt im API auch keine Option für "Arbeit", nur für Public(0x00)/Privat(0x01)/Domänennetz(0x02)
Die Firewall kennt ja auch nur 3 Profile.

noch als Ergänzung: Wenn du die Firewall via Policy für alle User aktivieren willst und diese nicht im GUI ausschalten können sollen:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile]
"EnableFirewall"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile]
"EnableFirewall"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile]
"EnableFirewall"=dword:00000001

Genauso Windows Updates forciert deaktiviert via Policy und im GUI nicht umstellbar:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoUpdate"=dword:00000001