Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

GPO LoginScript Benutzer

Frage Microsoft Windows Netzwerk

Mitglied: JOML

JOML (Level 1) - Jetzt verbinden

13.11.2007, aktualisiert 17.11.2007, 9407 Aufrufe, 6 Kommentare

Hallo allerseits,

Folgendes Problem:

Ich muss per GPO ein LoginScript verteilen, dass einen Update auf dem Client durchführt.

Frage:
Ist es möglich, das LoginScript mit Adminrechten laufen zu lassen und es soll NUR einmal ausgeführt werden.
(Sonst würde es ja bei jedem login durchlaufen).

Filecheck wird im Script abgearbeitet, doch wäre es Sinnvoll, wenn diese GPO nur einmal pro Client ausgeführt wird.

Vielen Dank

Gruss
JOML
Mitglied: TuXHunt3R
13.11.2007 um 21:06 Uhr
Falls das Ganze eine einmalige Sache ist (wenn du regelmässig solche Updates verteilen musst, musst du dir was besseres einfallen lassen):

Mit Adminrechten laufen lassen:
Erstell einen temporären Account ohne Passwort (möglichst einen nicht-schlüssigen Benutzernamen), welcher auf den Clients lokale Adminprivilegien hat. Bastel dir nachher eine Batchdatei, welche mit dem Befehl "runas" dein Script aufruft. Diese Batchdatei verteilst du dann per GPO. Sobald das Script auf allen Clients durchgelaufen ist, lösche diesen temporären Benutzer sofort wieder.

Warum einen Account ohne Passwort?
Klar, es ist unsicher, aber der Runas-Befehl erlaubt es nicht, das Passwort des Accounts mit zu geben. Jeder Benutzer müsste also das Passwort eingeben, was nicht gerade eine praktikable Lösung ist. Wenn der Account 2-3 Tage existiert, das Update dann auf allen Kisten drauf ist und du nicht gerade einen offensichtlichen Benutzernamen gewählt hast, sollte das schon gehen.


Update nur einmal ausführen:
Du kannst ein zentrales Logfile anlegen und den oben erwähnten Batch zuerst überprüfen lassen, ob das Update auf diesem PC schon durchgeführt wurde.
Deine Batch könnte dann z.B. so aussehen (nicht getestet):
01.
@ echo off 
02.
 
03.
::Herausfinden, ob der aktuelle Computername schon im Logfile existiert 
04.
::Wenn ja, springe ans Ende des Batchs 
05.
find /i "%computername%" <Pfad zu deinem zentralen Logfile> 
06.
if errorlevel 0 goto end 
07.
 
08.
::Aufruf des Scripts mit priviligiertem Account 
09.
runas ... 
10.
 
11.
::Aktuellen Computernamen ins Logfile schreiben 
12.
echo %computername% >><Pfad zu deinem zentralen Logfile> 
13.
 
14.
:end


Dies ist eine Bastellösung, die ich in der Form bisher einmal angewendet habe. Das war aber eine einmalige Sache und ich fand es damals eine schnelle Lösung für ein Netzwerk-weites Problem. Wie gesagt, wenn solche Updates regelmässig vorkommen, solltest du dir was besseres überlegen.

Vergiss vor allem nicht, den priviligierten Account sofort wieder zu löschen, wenn das Update überall drauf ist!!!!!!


Edit:

Eine andere Lösung wäre natürlich, das Update mit deinem Account (der wahrscheinlich dazu priviligiert ist) irgendwann in der Nacht per geplanten Task zu starten. Dann müssten aber sämtliche Clients entweder die ganze Nacht durchlaufen oder du müsstest Wake On Lan in deinem Netzwerk eingerichtet haben (so läufts bei uns im Betrieb)
Bitte warten ..
Mitglied: Dani
13.11.2007 um 21:26 Uhr
Abend JOML,
eine andere Lösung wäre ein Computerloginscript. Sprich es wird beim System hochfahren ausgeführt. Alles was dort drinne steht, wird unter dem Benutzer "System" ausgeführt und somit volle Administratorenrechte.
Somit brauchst du keine Accounts ohne Passwörter und der Aufwand ist gering.

Filecheck wird im Script abgearbeitet, doch wäre es Sinnvoll, wenn diese GPO nur einmal pro
Client ausgeführt wird.
Ich würde innerhalb der Batch nachdem 1. Ausführen einen Checkpoint auf dem Clients hinterlassen. In deinem Fall eine Textdatei mit dem Namen des Updates und darin das Ausführungsdatum. Ein Schritt mehr wäre es, einfach eine Freigabe (am Besten versteckt) einzurichten für alle Logdateien der Clients.

Beispiel:
01.
Freigabe Logfiles 
02.
  - Update x.x.x.2x 
03.
  - Update 32c.3x3.a3
Somit hättest du alles Griffbereit und sauber protokolliert.

Die Batchdatei dazu, würde so aussehen:
01.
@echo off 
02.
 
03.
set update=update_2xx.3xf34.3 
04.
 
05.
 
06.
if not exist "\\%server%\logs$\%update%\%computername%.txt" ( 
07.
 
08.
echo Start: %date% - %time% >> "\\%server%\logs$\%update%\%computername%.txt" 
09.
.... 
10.
UPDATE PROCESS 
11.
.... 
12.
echo Ende: %date% - %time% >> "\\%server%\logs$\%update%\%computername%.txt 
13.
)
Somit hast du die totale Kontrolle darüber und kannst mit dem einfachen Löschen der Textdatei den Updateprozess wieder anstoßen.
Die NTFS-Rechte auf die Freigabe kannst du bis auf alle CLIENT - Computerkonten, System und ADministrator eingrenzen. Diese brauchen aber alle Vollzugriff. Somit kommt ein normaler Benutzer nicht auf die Freigabe.


Grüße
Dani
Bitte warten ..
Mitglied: JOML
17.11.2007 um 02:29 Uhr
Hi Dani,

Das mit dem Logfile auslesen ist eine gute Idee. Vielen Dank
Hab ein Logfile auf dem Server der alle Compternamen enthält, die geupdated wurden.

Wie kann ich jetzt den inhalt der txt Datei nach diesem Namen abfragen.. so nach dem Prinzip:


If exist "\\%server%\logs$\%update%\Update.txt" (inhalt irgendwo %computernamen%)
goto :END


Gruss
JOML
Bitte warten ..
Mitglied: Dani
17.11.2007 um 11:31 Uhr
Hi JOML,
schau mal mein Beispiel nochmal an und dann Kommentar. Dann wirst du die Lösung sehen. *g*


Grüße
Dani
Bitte warten ..
Mitglied: JOML
17.11.2007 um 11:55 Uhr
Hi Dani,

Nö.. leider nicht.
Du suchst im Ordner %Update% nach einer Datei %Computernamen%.txt... oder?

Ich möchte aber in einer Datei"Update.txt" den Inhalt nach %Computernamen% durchsuchen.

Mein Favorit wäre da der Vorschlag von "TuXHunt3R"....

find /i "%computername%" \\server\Updates$\update.txt
if errorlevel 0 goto end

Oder sehe ich da was falsch... ?


Nice Weekend
JOML
Bitte warten ..
Mitglied: TuXHunt3R
17.11.2007 um 17:47 Uhr
Hallo JOML2005

So wie ich das sehe, erstellt das Script von Dani pro upgedateten Computer ein Logfile. Bei meiner Lösung werden alle Computernamen, die geupdatet wurden, in ein und das selbe Logfile geschrieben. Mit dem Find-Befehl überprüft das Script zuerst, ob der Computername in diesem Logfile bereits existiert. Wenn ja, bricht er das Script ab, d.h. er springt ans Ende des Scripts.

Wenn du alle Computernamen also in ein und das selbe Logfile schreibst, musst du meine Lösung mit dem find-Befehl nehmen.
Bitte warten ..
Ähnliche Inhalte
Windows Server
Lokaler Benutzer über GPO verteilen (3)

Frage von staybb zum Thema Windows Server ...

Windows Server
GPO - UAC: "Als Administrator ausführen" soll Abfrage bringen (4)

Frage von MissJones zum Thema Windows Server ...

Windows Server
Fehler in Ereignisanzeige bei Mapping von Drucker per GPO (1)

Frage von insoft zum Thema Windows Server ...

Windows Server
gelöst Domänen Benutzer via RDP Anmeldung am WDC für spezielle Aufgabe (11)

Frage von zeroblue2005 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (9)

Frage von AndreasOC zum Thema Exchange Server ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...