qubbey
Goto Top

GPO Script beim Herunterfahren Zugriff auf Netzwerkfreigabe geben.

Ein Batchscript soll beim Herunterfahren an bestimmten Tagen ein Backup-Image auf den Server machen.

Ich habe im Grunde genommen folgendes Problem:
Das Script beim Herunterfahren, durch die Gruppenrichtlinien, wird mit lokalen Adminrechten und nicht mit Domänenadminrechten gestartet.

Wenn das Script nun das windows-Image startet, werde ich nach Benutzername und Passwort gefragt, weil für "\\server\backup" nicht die Zugriffrechte vorhanden sind.
Ich hatte gedacht, dass dadurch, dass ich diese Gruppenrichtlinie nicht lokal, sondern auf einem Domänenkontroller einrichte, dann auch die Zugriffsrechte vom Domänenadministrator vorhanden sind, ist aber nicht der Fall.

Wie könnte ich das am besten zum Laufen kriegen ?

Folgendes Script wird dazu benutzt.

@echo off


rem Speicheort für das Backup:
	set backupZiel=\\server\Backup

rem Speicherort der Datei, die den Tag im Monat enthält:
rem Tag mit zwei Ziffern, also 01 oder 20, nicht nur 1
	set tagDatei=C:\backuptag.txt

	set tag=00
	if exist %tagDatei% (
		set /p "tag=" < %tagDatei%  
	)



rem es wird geprüft, ob heute der richtige Tag ist:
if "%tag%" == "%date:~0,2%" (  
	echo richtiger Tag im Monat

	rem es wird geprüft, ob es vor 14 Uhr ist:
	if %time:~0,2% LEQ 13 (
		echo kein backup, zu frueh

	)else (

		rem das Änderungsdatum des letzten Backups wird ermittelt:
		set "backupFolder=%backupZiel%\WindowsImageBackup\%computername%"  
		for /d %%a in ("%backupFolder%") do set x=%%~ta  
		set lastbackup=%x:~0,10%
		echo last backup: %lastbackup%

		rem es wird sichergestellt, dass heute noch kein Backup erstellt wurde:
		if NOT "%lastbackup%" == "%date%" (  
			echo Backup wird gestartet, weil heute noch keins gemacht wurde
			wbadmin start backup -backupTarget:%backupZiel% -allCritical -quiet

		)else (
			echo kein Backup, weil es heute schon gemacht wurde
		)
	)
)else (
	echo kein Backup, weil der Tag noch nicht dran ist.
)

Content-Key: 189944

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

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

Member: DerWoWusste
DerWoWusste Aug 21, 2012 at 14:46:03 (UTC)
Goto Top
Hi.

Zu Deiner Verständnisschwierigkeit:
Ich hatte gedacht, dass dadurch, dass ich diese Gruppenrichtlinie nicht lokal, sondern auf einem Domänenkontroller einrichte, dann auch die Zugriffsrechte vom Domänenadministrator vorhanden sind, ist aber nicht der Fall.
Natürlich nicht. Zugriffsrechte gehen immer nach dem ausführenden Benutzer. Shutdownskripte werden als Systemkonto (="Rechnername$") ausgeführt - Rechnername$ muss also berechtigt werden, dort hinzuschreiben. Wie das geht? Genau wie bei Benutzern, nur dass Du als Objekttyp "Computer" angeben musst.
Member: qubbey
qubbey Aug 21, 2012 at 15:25:23 (UTC)
Goto Top
Danke für die Antwort, dass hört sich ja auf jeden Fall sinnvoll an. Hat das irgendwelche Nachteile in Sachen Sicherheit, kann dann jeder von diesem Computer aus auf den Netzwerkordner zugreifen ?

Ich habe es jetzt mal so versucht und erhalte die Meldung, dass nicht genug Speicherplatz vorhanden ist.
Es liegt scheinbar daran, dass auf dem Laufwerk eine Kontingentsgrenze gesetzt ist, dort kann man aber keine Einträge für Objekttyp Computer machen, sondern nur für Benutzer.
Fällt dir da auch noch was ein. Rechnername$ wird nicht akzeptiert.
Member: DerWoWusste
DerWoWusste Aug 21, 2012 at 18:02:12 (UTC)
Goto Top
Lass uns erst einmal testen, ob Du dort nun hinschreiben kannst. Lad Dir mal psexec runter (gehört zu den PStools von Microsoft). und entpack sie nach c:\test. Dann öffne cmd.exe über Rechtsklickoption ->"ausführen als Administrator" und starte den Befehl c:\test\psexec -s -i cmd
So erhältst Du eine Shell mit Systemrechten. Von dort aus versuche, einen Ordner auf dem Sicherungsort anzulegen über md \\server\share\test. Geht das? Dann sollte das Sicherungsprogramm auch klappen. Führ das Skript als nächstes aus dieser Shell aus und lass die Meldungen in eine Textdatei umleiten, um sie zu lesen.

Zu
kann dann jeder von diesem Computer aus auf den Netzwerkordner zugreifen ?
Nein. Als Systemkonto handeln können nur lokale Admins.
Member: qubbey
qubbey Aug 21, 2012 at 19:55:13 (UTC)
Goto Top
Danke für die vielen Hinweise, damit kann ich auf jeden Fall eine ganze Menge testen. Bin allerdings erste nächste Woche wieder da.
Member: qubbey
qubbey Aug 27, 2012 at 07:41:46 (UTC)
Goto Top
Ich habe jetzt, wie von dir beschrieben, mit psexec den Zugriff getestet und ich kann einen Ordner und eine Textdatei erzeugen, aber bei der Sicherung lautet die Meldung:
"Am Sicherungsspeicherort ist nicht genügend freier Speicherplatz verfügbar, um die Daten zu sichern."
Ich bin mir ziemlich sicher, dass es daran liegt, dass auf dem Datenträger ein Standardkontingent von 5GB gesetzt wurde. Und ich habe keine Möglichkeit gefunden einen Computer als Sondereintrag hinzuzufügen, es sind nur Benutzer möglich.
Member: DerWoWusste
DerWoWusste Aug 27, 2012 updated at 08:30:14 (UTC)
Goto Top
Gerht mit fsutil . Nimm als Nutzernamen Rechnername$. 1

fsutil quota modify d: 3000 5000 domain\Rechnername$
Member: qubbey
qubbey Aug 27, 2012 updated at 09:56:04 (UTC)
Goto Top
Die Antwort kam ja wirklich schnell, hätte ich nach einer Woche Pause nicht gedacht.
Es scheint auf jeden Fall zu funktionieren, weshalb ich mich noch mal ganz herzlich bei dir bedanke.

Noch eine Bonusfrage, auf die ich aber nicht zwangsläufig eine Antwort erwarte:
Gibt es eine Möglichkeit, statt
"fsutil quota modify D: 999999999999999 9999999999999999999 domain\computer$"
für jeden Computer einzugeben, diesen Eintrag für alle computer der Domäne oder einer Gruppe vornehmen.
Bei ca. 30 Rechnern ist es noch OK, aber es wäre schon, wenn es ordentlich mit einem Eintrag gelöst werden würde.
Eine Gruppe mit Computern wird nicht gehen, weil es wichtig ist, dass es die Benutzer sind, also mit Dollarzeichen, wenn ich das richtig sehe.
Ich habe auch gerade Probleme beim Testen, weil ich meinen Testrechner jetzt eingetragen habe und es scheinbar keinen Befehl wie "fsutil quota delete" gibt, so dass ich nicht weiß, was zählt, wenn mehrere Einträge passen, also Gruppe und Einzeleintrag.


Alles gut, über das normale Kontingent Interface (also nicht Konsole) lassen sich Einträge löschen und dann scheint die Gruppe "Domänencomputer", welche wohl standardmößig vorhanden ist, zu funktionieren. Gruppen kann man aber wieder nur per fsutil hinzufügen.

Nochmals vielen Dank und mit freundlichen Grüßen
Member: DerWoWusste
DerWoWusste Aug 27, 2012 updated at 10:38:14 (UTC)
Goto Top
Das könntest Du nur mit einer for-Schleife machen (Namen aus einer Textdatei einlesen). Gruppen gehen eh nicht (edit: aha...geht doch? Umso besser face-smile ). Löschen kannst Du über die graphische Oberfläche, über die Kommandozeile sehe ich keinen Weg.
Member: qubbey
qubbey Aug 27, 2012 at 12:49:14 (UTC)
Goto Top
Ich muss mich korrigieren, ich hatte noch einen alten Eintrag drin.
Du hattest Recht, mit der Gruppe funktioniert es nicht, liegt wohl daran, dass die Computer enthalten sind und nicht die Benutzer (mit $), die kann man scheinbar auch nicht in eine Gruppe hinzufügen. Aber das ist alles undramatisch.