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-Key: 246168

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

Printed on: April 23, 2024 at 17:04 o'clock

Member: Sheogorath
Sheogorath Aug 11, 2014 at 13:51:32 (UTC)
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
Member: colinardo
Solution colinardo Aug 11, 2014, updated at Aug 12, 2014 at 06:41:04 (UTC)
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
Member: itMike
itMike Aug 12, 2014 at 05:19:38 (UTC)
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
Member: colinardo
colinardo Aug 12, 2014 updated at 06:32:44 (UTC)
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