• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[Windows 10] Unattended Installations-Skript für Windows 7/8/10

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.918
Tag zusammen. :)

Da der Release von Windows 10 immer näher kommt und Windows 7 irgendwann ausläuft, werde ich wohl in nächster Zeit den einen oder anderen Rechner im Bekanntenkreis neu installieren (müssen). Ich hoffe mal, dass eine Neuinstallation mit den unter Windows 7 angebotenen Versionen auch irgendwie möglich sein wird - aber das nur am Rande, dafür werde ich schon eine Lösung finden.

Vielmehr geht es mir nun um folgendes:
Ich bin ja eigentlich bekennender Linuxnutzer und finde es immer heftig, wie umständlich man vieles unter Windows machen muss, wenn man einmal neu installiert. Vor allem extremst auf die Nerven gehen mir gerade die Windows-Updates wofür bei einer normalen Windows 7 SP1 DVD mittlerweile >1GB heruntergeladen werden müssen (mit DSL6000...) und wofür ich mittlerweile zum Installieren > 4 Reboots brauche. Außerdem dann noch sämtliche benötigte Software von Hand installieren, wichtige Einstellungen tätigen, usw. All das macht unter Linux die Paketverwaltung von selbst und die Konfigurationsdateien sind in < 1 Minute auf die Installation kopiert.

Mir ist klar, dass man auch eine angepasste DVD basteln kann, aber diese müsste ich für jede Windows-Version einzeln basteln und dann ist nie die aktuellste Version der Software installiert. Das soll also nicht Ziel des Ganzen sein. Daher habe ich nun die Idee, mir ein Batch-Skript zu basteln, welches die wichtigsten Tätigkeiten für mich selbst erledigt und die aktuellste Version der benötigten Software installiert. Das Skript soll dabei möglichst unter Windows 7, 8 und auch 10 bereits funktionieren. Folgendes möchte ich damit irgendwann mal umsetzen:

  • [x] Installation der wichtigsten Software (mit Auswahl, z. B. wenn MS-Office noch kommt).
  • [x] Überflüssige Dienste deaktivieren (z. B. Superfetch bei SSD oder den Indexdienst wenn die Suche sowieso nie benutzt wird).
  • [ ] Bestimmte Windows-Einstellungen tätigen.
  • [ ] Windows-Updates auf meinem Server hier zwischenlagern (zumindest einen Teil davon, so ca. jedes halbe Jahr ein Update davon) und mit möglichst wenig Aufwand und Reboots installieren (vor allem bei Windows 7).
Bei den Window-Einstellungen geht es mir vor allem um die Energieoptionen und die UAC, welches beides imho komplett falsch auf einer Werksinstallation eingestellt ist. Für die UAC habe ich bereits eine Lösung gefunden. Was allerdings bleibt, ist das Problem, dass Windows in der Werksinstallation die HDD gerne viel zu schnell abschaltet und auch die Einstellung, dass es nach einer bestimmten Zeit in's Standby gehen soll, würde ich gerne deaktivieren. Mit welchem Registry-Key kann ich da angreifen? Habe da leider gerade überhaupt keine Idee und meine Windows-Kenntnisse sind da doch schon viel zu eingerostet.

Außerdem, wie kann ich das mit den Windows-Updates am elegantesten lösen? Später soll die Windows-Installation dann ganz normal alle Updates vom Microsoft-Server installieren, möchte da also untern etwas verstellen. Ein WSUS-Server kommt zumindest auf keinen Fall in Betracht, mein Heimserver ist auf Linuxbasis.


Außerdem, habt ihr sonst noch Ideen, was in einem solchen Skript noch ganz nützlich sein könnte? Freue mich da auf kreative Ideen. :)


Anbei mein aktueller Stand:
[src=bash]@echo off

echo Welchen Benutzernamen anlegen?
set /p user=

echo Gimp installieren? (j/n)
set /p gimp=
echo Libreoffice installieren? (j/n)
set /p libreoffice=
echo Classic Shell installieren? (j/n)
set /p shell=
echo CDBurnerXP installieren? (j/n)
set /p brenn=




::Dienste deaktivieren

::Superfetch
sc config SysMain start= disabled

::Windows-Search
sc config WSearch start= disabled


::Chocolatey installieren
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin


::Allgemeine Pakete
choco install firefox --yes
choco install 7zip --yes
choco install flashplayerplugin --yes
choco install adobereader --yes
choco install vlc --yes
choco install wincdemu --yes
choco install wget --yes
choco install windowsupdate.disableautorestart --yes



:: NTUSER.DAT und Verknuepfung zu Default User auf Desktop legen
cd %userprofile%\Desktop
wget "https://mein.server/ntuser.dat" --no-check-certificate
wget "https://mein.server/Default.lnk" --no-check-certificate



:: Optionale Tools
if '%shell%' == 'n' goto Nein
choco install classic-shell --yes
:Nein

if '%gimp%' == 'n' goto Nein
choco install gimp --yes
:Nein

if '%libreoffice%' == 'n' goto Nein
choco install libreoffice --yes
:Nein

if '%brenn%' == 'n' goto Nein
choco install cdburnerxp --yes
:Nein


:: Neuen Benutzer anlegen, alten deaktivieren

net user %user% /add /expires:never
net localgroup Administratoren %user% /add
net localgroup Benutzer %user% /delete
net user _install /active:no


:: Unnoetige Verknuepfungen loeschen

cd C:\Users\Public\Desktop
del "VLC media player.lnk"
del "Acrobat*.lnk"


:: Windows-Einstellungen

:: Benutzerkontensteuerung auf hoechste Stufe
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t "REG_DWORD" /d "2" /f


:: Energieoptionen anpassen
powercfg -change -monitor-timeout-ac 10
powercfg -change -monitor-timeout-dc 10
powercfg -change -disk-timeout-ac 0
powercfg -change -disk-timeout-dc 0
powercfg -change -standby-timeout-ac 0
powercfg -change -standby-timeout-dc 0
powercfg -change -hibernate-timeout-ac 0
powercfg -change -hibernate-timeout-dc 0


echo.
echo.
echo.
echo.
echo NTUSER.DAT von Desktop in Default User kopieren!
echo.
echo.
echo.

pause
[/src]
(Unter Windows 10 noch nicht getestet, nur 7 und 8)
 
Zuletzt bearbeitet:

keksautomat

Neu angemeldet

Registriert
15 Juli 2013
Beiträge
471
Ich habe ein ähnliches Projekt bei mir in der Firma mal umgesetzt. Auch komplett in Bash.

Es ist mittlerweile zu groß, um es zeigen zu können. Es scheint aber, als hättest du das intelligenter gelöst. Bei mir lag die Software immer "mit drin". Was schnell zu veralteter Software geführt hat.
"Choco" kannte ich noch gar nicht. Klingt aber interessant, wenn es denn wirklich funktioniert.

Evtl. kann dein Skript noch paar Sachen in der Registry machen. Zum Beispiel die "English US" Tastatur zu entfernen. Oder einen anderen Wallpaper setzen. Oder Schriftarten installieren (lassen). (Hierzu kann ich ein Snippet liefern, ist bisschen doof das händisch zu machen)

Und: Logging?
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.918
  • Thread Starter Thread Starter
  • #3
(Hierzu kann ich ein Snippet liefern, ist bisschen doof das händisch zu machen)
Da hast Du mich gerade auf eine ziemlich gute Idee gebracht. :)

Funktioniert wie folgt:
Die Einstellungen eines jeden Benutzers werden in der Datei NTUSER.DAT im Benutzerprofilordner gespeichert. Es reicht daher eigentlich, wenn man einmal Windows 7 installiert und dort alle wichtigen benutzerspezifischen Einstellungen tätigt. Unter einem anderen Benutzerprofil (Reboot!) kann man dann die Datei wegkopieren und auf den eigenen Server legen. Bei der Neuinstallation lege ich dann noch nicht das richtige Benutzerprofil an, sondern nur einen Benutzer _install.

Unter dem _install-Konto führe ich dann das Skript aus, welches mir dann die entsprechende NTUSER.DAT auf den Desktop legt. Diese muss ich dann nur noch in den Ordner Default (früher Default User) kopieren, so dass jeder neu angelegte Benutzer die entsprechenden Profileinstellungen erhält. Leider geht das nicht automatisch, da die Datei irgendwie komisch geschützt ist. Zumindest hab ich jetzt auf die Schnelle keinen Weg gefunden, das mittels Batch zu realisieren. Von Hand im Explorer geht's wiederum und ist daher imho vom Aufwand her vertretbar (bevor ich da jetzt lange rumbastel). Das Skript legt mir dann wiederum vollautomatisch ein neues Benutzerkonto an und deaktiviert das _install-Konto.

[src=bash]echo Welchen Benutzernamen anlegen?
set /p user=

:: NTUSER.DAT und Verknüpfung zum Default-User-Ordner auf Desktop
wget "https://mein.server/win7/ntuser.dat" --no-check-certificate
wget "https://mein.server/Default.lnk" --no-check-certificate

:: Neuen Benutzer anlegen, alten deaktivieren
net user %user% /add /expires:never
net localgroup Administratoren %user% /add
net localgroup Benutzer %user% /delete
net user _install /active:no
[/src]
Einzige Einschränkung: Ich muss für jede Windows-Version vermutlich einmal eine NTUSER.DAT anlegen, da die Dateien sehr wahrscheinlich nicht kompatibel untereinander sind. Der Aufwand hält sich aber dennoch in Grenzen. Außerdem ist das immer noch keine Lösung für die benutzerübergreifenden Einstellungen wie eben die Energieoptionen. Da bräuchte ich auf jeden Fall noch eine andere Lösung.


Chocolatey funktioniert übrigens imho hervorragend. Die einzigen Probleme, die ich einmal hatte, waren als ich alle Programme mit einer choco-Commandline installieren wollte (choco install firefox 7zip flashplayerplugin --yes). Da ist es mir irgendwann mittendrin ausgestiegen. Solange man alles hintereinander installieren lässt, sind mir aber noch keine Probleme aufgefallen.

Logging hab ich bisher noch nicht auf dem Schirm. Erstmal muss alles funktionieren, dann kann man noch über Logging nachdenken. Wobei es hier sowieso nur rein private Rechner sind, wenn also mal was nicht zu 100% klappt, dann kann man wohl meist auch damit leben.
 

mathmos

404

Registriert
14 Juli 2013
Beiträge
4.415
Was allerdings bleibt, ist das Problem, dass Windows in der Werksinstallation die HDD gerne viel zu schnell abschaltet und auch die Einstellung, dass es nach einer bestimmten Zeit in's Standby gehen soll, würde ich gerne deaktivieren. Mit welchem Registry-Key kann ich da angreifen? Habe da leider gerade überhaupt keine Idee und meine Windows-Kenntnisse sind da doch schon viel zu eingerostet.

Eventuell kannst du das mit dem Tool Powercfg (https://technet.microsoft.com/de-de/library/cc748940(v=ws.10).aspx) lösen. Habe ich aber nicht getestet.
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.918
  • Thread Starter Thread Starter
  • #5
Sehr schön! Das ist genau das, was ich suche. Danke! :)

Habe das Skript im Startpost mal auf den aktuellen Stand angepasst. Jetzt fehlt eigentlich nur noch der Teil mit den Windows-Updates.
 

drfuture

Zeitreisender
Teammitglied

Registriert
14 Juli 2013
Beiträge
8.748
Ort
in der Zukunft
Haben deine bekannten wirklich so viele unterschiedliche Windows-Versionen?
Die Ultimate fällt so viel ich weiß unter Windows 10 eh weg?
evtl. ließen sich die Versionen doch irgendwie vereinheitlichen...

- für jegliche Powermanagement-Optionen ist powercfg die richtige Wahl, da war ich zu langsam ;D
- sowas für Superfetch, genauso wie Defragmentierung und einiges mehr wird für SSD's unter Win7 + neuer automatisch deaktiviert bzw. wird nicht ausgeführt.
- Suchindex benötigt normal nur anfänglich last - den initialcache kann man aber bereits mitliefern, "nicht benutzt" .. weiß nicht - die Sucheingabe allein für Anwendungen und Befehle im Startmenü ist schon extrem bequem - wenn auch für umsteiger ungewohnt... und das ganze Thema wird mit jeder OS-Version die neuer wird seid win7 zentraler...
- Jegliche Einstellungen die per Policy zu setzen sind - sind zu 90% nur reg-keys die man auch in ein Basis-Image einsetzen kann oder per reg.exe über ein Script setzen kann. Das bedeutet bestimmte Windows-Einstellungen tätigen ist kein Problem - wenn du was bestimmtes hast - kannst du mich gerne fragen.
- Überflüssige Dienste gibt es ab windows 7 lt. Microsoft-Design nicht mehr... klingt komisch ist aber so ;D Die Dienste haben oft Auswirkungen die so in der Beschreibung nicht ersichtlich sind - und legen sich andersrum bei nichtnutzung auch von selber schlafen. Es gibt äußerst wenige bei denen ein deaktivieren wirklich Sinn ergibt.

So und nun zu deinem eigentlichen Problem... schau dir mal http://www.opsi.org/en an - das kann theo. deine restlichen Fragen lösen ;)
Wenn du Hilfe bei der Paketierung von bestimmter Software brauchst helfe ich gerne ...

PS: Batch ist vollkommen out und extrem unflexibel... wenn du schon von linux und Bash kommst - nutze doch Powershell - die ist je nachdem wen man fragt der Bash sogar überlegen ;)
 

thom53281

SYS64738
Teammitglied

Registriert
14 Juli 2013
Beiträge
6.918
  • Thread Starter Thread Starter
  • #7
- sowas für Superfetch, genauso wie Defragmentierung und einiges mehr wird für SSD's unter Win7 + neuer automatisch deaktiviert bzw. wird nicht ausgeführt.
Zumindest in Punkto Superfetch war mir das neu bzw. war bei mir bisher der Dienst afair immer aktiviert. Muss ich das nächste Mal nachschauen. Allerdings deaktiviere ich den Dienst z. B. auch auf langsameren HDD-Systemen, da er imho zwar von der Idee gut ist aber unter Windows eher schlecht umgesetzt ist und unnötig bremst (ja, ich weiß, dass der Dienst eigentlich beschleunigen soll, aber beim Boot dauert es immer Ewigkeiten, bis er den RAM vollgeschaufelt hat...).

- Suchindex benötigt normal nur anfänglich last - den initialcache kann man aber bereits mitliefern, "nicht benutzt" .. weiß nicht - die Sucheingabe allein für Anwendungen und Befehle im Startmenü ist schon extrem bequem - wenn auch für umsteiger ungewohnt... und das ganze Thema wird mit jeder OS-Version die neuer wird seid win7 zentraler...
Ich kenne niemanden in meinem Bekanntenkreis der das auch nur ansatzweise nutzt. "Tastatur? Da muss man doch tippen!"
Für Powernutzer mag das vielleicht noch zutreffen. Wobei ich als "Powernutzer" das auch noch nie benutzt habe - wobei ich auch Windows nur selten nutze. ;)


OPSI sieht auf den ersten Blick gut aus, scheint mir doch ein bisschen arg viel Overkill für mein Vorhaben zu sein. :D
Ich installiere alle 1-4 Wochen mal einen PC, da brauch ich eigentlich keine zusätzliche Software zu paketieren und ähnliches. Alles, was ich normalerweise in meiner Standardinstallation installiere, gibt es bei Chocolatey in der aktuellen Version in den Repos. Da muss ich eigentlich nirgens mehr selbst Hand anlegen. Wären also höchstens die Windows-Updates und da ist OPSI wohl wirklich etwas zu umfangreich um es nur dafür zu benutzen. Da pack ich lieber ein Updatepack auf meinen Server, wenn ich keine elegantere Lösung finde.

An Windows-Versionen installiere ich das, was derjenige will bzw. wofür er eben eine Lizenz hat. Ich habe hier nicht den Luxus einer Firmen-Monokultur. Daher muss das Skript entsprechend flexibel sein. Habe aber mittlerweile ausprobiert und festgestellt, dass man die NTUSER.DAT von Windows 7 auch problemlos unter Windows 8 benutzen kann. Ein Test mit Windows 10 steht noch aus, sobald das Release draußen ist. Gerade das erspart einem viel rumgebastle mit Registry-Keys, da man sich einfach ein passendes Benutzerprofil "zusammenklicken" und "exportieren" kann.


PS: Powershell ist fein, aber für mich zu neu. Ich bin auf Linux umgestiegen, da gab's das noch gar nicht. Daher hab ich auch keine Ahnung davon und Batch kann ich soweit um mir das zusammenzubasteln. Prinzipiell muss das Skript auch nicht sonderlich flexibel sein und das, was ich brauche, kann Batch gerade noch.
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.573
Je nach Rechner würde ich auch mögliche Optionen wie Telemetry, das Erstellen von OfflineDaten und "Offline Freigeben" und das erstellen von Sicherheitskopien/Backups von Dateien sowie die Generierung einer Thumbs.db verbieten und den QS-Paketdienst auf 1% reduzieren.

Gibt in gpedit.msc aber ein paar Haufen Optionen, aber das sind nur einige der Dienste ich bisher nie benutzt habe und auch zum Teil als Sicherheitsrisiko ansehe und die auch Performance kosten könnten.

Everything kann zum Beispiel sehr gut die Windows Suche ablösen, zumindest auf lokalen Datenträgern, bei externen Geräte gibt es Limitierungen aber richtig konfigueriert ist das Programm Gold wert, auch wenn man dann erstmal alles sieht was installiert ist, also doch vielleicht eher nur etwas für Powernutzer.

Wenn du magst suche ich dir bei Windows 7 mal ein paar Optionen raus. Bisher hat mein Rechner auch keine Einschränkungen erlebt.
 
Oben