lordofremixes
Goto Top

Batch, die auch als Benutzer funktionieren soll

Hallo zusammen,

ich habe ein paar autarke Windows 7 Kisten, die folgende Batch / Exe im Autostart ausführen sollen:

 NET TIME \\server300 /set /yes 

Wenn man das als Admin ausführt, kein Problem, aber als normaler Benutzer wird die Uhrzeit einfach nicht geändert.

Ich suche eine Möglichkeit like
 runas  /user:domain\administrator password cmd NET TIME \\server300 /set /yes 

Diese als Batch erstellen und ich kompiliere sie dann zu einer exe und setze sie bei den paar Usern in das Autostart Verzeichnis


GPO oder lokale Sicherheitsrichtlinie kann in diesem Fall leider nicht angewendet werden!

Es muss der obige Lösungsweg sein, meine Frage deshalb, geht das überhaupt?

Zusammengefasst:

NET TIME \\server300 /set /yes

so dass es als normaler User ausgeführt wird.
Kann natürlich auch ne vbs oder sonstiges sein, solange es der normale Benutzer wirksam ausführen kann.


Ich hoffe jemand hat eine Idee

Gruß
lordofremixes

Content-ID: 358931

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

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

BassFishFox
BassFishFox 21.12.2017 aktualisiert um 15:15:28 Uhr
Goto Top
Hallo,

Warum gibst Du den "paar Kisten" nicht einfach einen Zeitserver? Als Quelle halt die IP Deines NTP.
https://www.rz.uni-osnabrueck.de/Dienste/NTP/win7.htm

Driften die so stark taeglich ab?

Wegen Deiner ganzen Scripterei daran denken, wenn der lokale Benutzer die Zeit aendern soll, das Du dem Benutzer erst das Recht geben musst die Zeit zu aendern.

Wenn es unbedingt das Setzen der Zeit per Script sein soll, mach das ueber geplante Aufgaben.

BFF
lordofremixes
lordofremixes 21.12.2017 um 15:13:32 Uhr
Goto Top
Die Idee ist garnicht so schlecht, ich brauch es aber so wie oben beschrieben als Batch ausführbar für einen User...
BassFishFox
BassFishFox 21.12.2017 um 15:18:41 Uhr
Goto Top
Hallo,

Der Nutzer benoetigt das Recht die Uhrzeit zu aendern. Ist in den lokalen Sicherheitsrichtlinien zu setzen.

Warum hat die Kiste taeglich die falsche Zeit? Batterie alle? Oder ist das in einer Virtuellen Maschine?

BFF
emeriks
emeriks 21.12.2017 um 15:19:16 Uhr
Goto Top
Hi,
ewig diese alte Leier mit dem "Batch als User aber als Admin". Das ganze Forum, das Web und der Rest der Welt ist voll mit solchen Fragen.

Ja natürlich geht das. Dein Ansatz - ob sinnvoll, dass sei nun mal dahingestellt - geht so. Batch schreiben, als EXE kompileren (dafür gibt es Tools) und bereitstellen.

Du könntest aber auch einen Scheduled Task erstellen, welcher als SYSTEM läuft. z.B. bei Systemstart und dann alle 12 h wiederholen. Damit kannst Du Die Batch im Klartext starten und musst sie nicht kompilieren.

E.
lordofremixes
lordofremixes 21.12.2017 um 15:22:23 Uhr
Goto Top
Batterie alle (sind alte Terminale) und ich komm verwaltungstechnisch nicht gut dran, da sie im Ausland mit einer megaschlechten Verbindung laufen, da kannste GPOs vergessen..
Suche sowas wie runas dass die Batch als Domänenadmin ausgeführt wird bevor der eigentliche Befehl gestartet wird..
Es ist möglich, dass weiß ich noch von früher, aber nicht mit runas, es war irgemdein anderes Programm wo man die Anmeldeparameter mitgeben konnte..
lordofremixes
lordofremixes 21.12.2017 um 15:24:19 Uhr
Goto Top
Genau so hab ich das gemacht, Batch genommen

http://www.f2ko.de/de/ob2e.php

hier konvertiert oder auch mit Batch to Exe Programmen..

Doppelklick --> keine Änderung der Uhrzeit
Als Admin ausführen --> Änderung der Uhrzeit

Deshalb habe ich ja dann im Nachinein meine Frage hier gestellt ;)
BassFishFox
BassFishFox 21.12.2017 aktualisiert um 15:30:37 Uhr
Goto Top
Hallo,

es war irgemdein anderes Programm wo man die Anmeldeparameter mitgeben konnte..

Du meinst jetzt nicht RunAsSpc von Robotronic? face-wink

Wenn schon keine Kohle fuer ein paar CR2032 uebrig sind, mach das wie mehrfach vorgeschlagen per Geplanter Aufgabe und gut ist. Kannst ja mehrfach wiederholen lassen.

sind alte Terminale

Alte Terminals haben eigentlich kein W7 als OS. Oder sagst Du jetzt Terminal weil Du damit PC meinst?

BFF
BassFishFox
BassFishFox 21.12.2017 aktualisiert um 15:37:40 Uhr
Goto Top
Schon klar.

Weil bald Weihnachten ist. face-wink
Was muss bei Punkt 4 rein?

https://technet.microsoft.com/de-de/library/dn221970(v=ws.11).aspx

2017-12-21 09_34_58-change the system time properties

Bild ist von W10, ist aber kein so grosser Unterschied zu W7.

BFF
emeriks
emeriks 21.12.2017 aktualisiert um 15:42:07 Uhr
Goto Top
Oh man, @BassFishFox, das war jetzt zu einfach ... Klar, dass ich daran nicht gedacht habe. face-wink
Aber er schreibt ja:
lokale Sicherheitsrichtlinie kann in diesem Fall leider nicht angewendet werden!
Warum auch immer ...
lordofremixes
lordofremixes 21.12.2017 um 15:42:03 Uhr
Goto Top
Doch, das meinte ich, aber sehe ich das richtig, dass RunAsSpc dann auf jedem PC vorhanden sein muss?
Als geplanter Task auch schon ausprobiert, funktioniert aber auch nicht so richtig, es muss eine exe im Autostart sein, die funktioniert am zuverlässigsten..

Sonst noch vielleicht eine Idee, wie ich der batch den Admin mitgeben kann?
emeriks
emeriks 21.12.2017 um 15:44:05 Uhr
Goto Top
Als geplanter Task auch schon ausprobiert, funktioniert aber auch nicht so richtig
Was heißt "nicht so richtig"? Was soll daran nicht funktionieren können?
lordofremixes
lordofremixes 21.12.2017 um 15:50:04 Uhr
Goto Top
Um einen geplanten Task einzurichten muss ich mich ja bei jedem Rechner draufschalten, das läuft aber eher schlecht als recht und ich würde wsl Stunden brauchen bis ich am Ziel bin..

Wenn ich per \\stapler-13\c$ kurz die Datei reinkopieren könnte, wäre ich schneller am Ziel, oder kann ich den Task auch ohne mich draufzuschalten einrichten?
lordofremixes
lordofremixes 21.12.2017 um 15:51:12 Uhr
Goto Top
d.h. aber ich muss mich auf jedes Terminal draufschalten und das ist so gut wie unmöglich face-sad
deshalb auch meine Frage, dass es unbedingt der Autostart Weg sein muss..
Tektronix
Lösung Tektronix 21.12.2017 um 15:53:17 Uhr
Goto Top
Hallo,
mach einen powershellskript, dann hiermit:
Ps1 to Exe
in Exe kompilieren. Du kannst Deiner exe ein Admin Manifest mit geben.
Als Option im Programm wählbar. Du musst nur noch Powershell auf RemoteSigned einstellen.
Greez
BassFishFox
Lösung BassFishFox 21.12.2017 aktualisiert um 16:14:19 Uhr
Goto Top
RunAsSpc dann auf jedem PC vorhanden sein muss?

Ja die kleine EXE plus das entsprechende Zertifikat (worin all der Krams inklusive Nutzer plus Passwort gespeichert ist).
Halt easy per Batch aufrufen, steht alles in der Hilfe zu RunAsSPC.

Wie Du es hinbekommst das der Nutzer die Zeit setzen kann hast Du ja nun.

Was mir aber gerade einfaellt ist, dass Du dann den lokalen Admininitrator plus Passwort dort verwenden musst. Mir persoenlich zu heiss, wenn die Geraete in meiner Verantwortung sind aber im Ausland stehen.

Bitte verwende nicht den Begriff Terminal fuer einen PC.
Wieviel Geraete mit leerer Batterie sind das denn? Ueberlege gerade eine Spendenaktion dafuer zu beginnen. Hauptsache die Kisten stehen nicht in Asien. Dahin schicke ich die Batterien nicht zurueck. face-wink

BFF
emeriks
emeriks 21.12.2017 um 16:11:42 Uhr
Goto Top
Wenn ich per \\stapler-13\c$ kurz die Datei reinkopieren könnte, wäre ich schneller am Ziel, oder kann ich den Task auch ohne mich draufzuschalten einrichten?
schtasks /create /?
Da kannst Du auch einen entfernten Computer angeben.
BassFishFox
BassFishFox 21.12.2017 um 16:16:10 Uhr
Goto Top
Halloele,

Da kannst Du auch einen entfernten Computer angeben.

Das sind Terminals bei ihm. Schreibt er jedenfalls. face-wink

auf jedes Terminal draufschalten und das ist so gut wie unmöglich

BFF
Tektronix
Tektronix 21.12.2017 um 16:50:43 Uhr
Goto Top
Nennt man das dann auch noch Turnschuh-Administrator, wenn die "Terminals" im Ausland stehen? ;-D
emeriks
emeriks 21.12.2017 um 17:06:23 Uhr
Goto Top
Er schreibt auch
autarke Windows 7 Kisten
BassFishFox
BassFishFox 21.12.2017 um 17:41:07 Uhr
Goto Top
Dann sollte er nicht Terminal schreiben. face-wink

Mir daemmert es.
Alles was nicht bei ihm steht und er nur aus der "Ferne" drauf kommt sind Terminals! face-wink

BFF
lordofremixes
lordofremixes 21.12.2017 um 18:03:12 Uhr
Goto Top
Admin Manifest das ist das stichwort!!!

Hab das vorhin bewusst ABGEWÄHLT weil ich dachte dass ist genau das, was ich nicht brauche, aber man muss es auswählen..
lordofremixes
lordofremixes 21.12.2017 um 18:04:59 Uhr
Goto Top
Haha nein die Dinger nennen wir halt intern so...
lordofremixes
lordofremixes 21.12.2017 aktualisiert um 18:12:49 Uhr
Goto Top
Hab die Exe jetzt erfolgreich in den Autostart kopieren können (ich sagte doch das ist ein Act)...
Jetzt kommt aber sofort vor dem Starten des Programms:


Der Herausgeber konnte nicht verifiziert werden. Möchten Sie diese Software ausführen? - Herausgeber: Unbekannter Herausgeber.

Wenn man auf Ja drückt funktioniert alles.

Hundert Pro drückt der Arbeiter nicht auf Ja sondern auf das X oben rechts
lordofremixes
lordofremixes 21.12.2017 um 18:27:35 Uhr
Goto Top
Muss die Exe noch mit einem self signed Zertifikat signieren, dann sollte es gehen
BassFishFox
BassFishFox 21.12.2017 um 18:28:54 Uhr
Goto Top
Welche Exe?

Die konvertierte Powershell?

Bedenke, dass ein W7 immer rummeckert wenn solche Aktionen von einem Netzwerklaufwerk kommen und die ausfuehrbaren Dateien nicht digital signiert sind. Fuer das Abschalten muesstest Du Dich auf "die Terminals aufschalten". face-wink Sind ja schliesslich keine Domaenen-Mitglieder.

Wenn Du eh sowas machst, mach das Zeit setzen per "Geplanten Task". face-big-smile
Oder instruiere die Benutzer richtig.

BFF
lordofremixes
lordofremixes 21.12.2017 um 18:32:51 Uhr
Goto Top
Das ist ja das Problem, die Leitung ist so grauenhaft, dass eine Fernwartung so gut wie unmöglich ist sonst hätte ich schon tausend andere Wege genommen.
Eigentlich geht es jetzt nur noch um die Meldung, wenn ich die irgendwie wegbekomme, ist alles gut
snaaaa
BassFishFox
BassFishFox 21.12.2017 aktualisiert um 18:36:41 Uhr
Goto Top
self signed Zertifikat

Und das Terminal in FernOst akzeptiert Dein lokales Zertifikat? face-smile

Mein Goettchen!

Bau eine Batch die Deine Exe in ein lokales Userverzeichnis dort kopiert und von dort ausfuehrt. Das Pruefen ob lokale Datei vorhanden ist doch sowas von easy, oder?

Der ganze Krampf nur wegen ein paar Batterien.

BFF
lordofremixes
lordofremixes 21.12.2017 aktualisiert um 18:39:14 Uhr
Goto Top
Habe ich probiert mit :

set __COMPAT_LAYER=RunAsInvoker
start c:\users\.....\settime.exe

als .bat

--> Uhrzeit ändert sich nicht

set oShell= CreateObject(“Wscript.Shell”)

set oEnv = oShell.Environment(“PROCESS”)

oEnv(“SEE_MASK_NOZONECHECKS”) = 1

oShell.Run “c:\users\.....\settime.exe"

oEnv.Remove(“SEE_MASK_NOZONECHECKS”)

--> Uhrzeit ändert sich nicht.

Selbst wenn ich die SetTime.exe von Desktop des Users ausführe kommt die obige Bestätigungsmeldung
lordofremixes
lordofremixes 21.12.2017 um 18:40:19 Uhr
Goto Top
Und das Terminal in FernOst akzeptiert Dein lokales Zertifikat?

Eher nicht face-smile
BassFishFox
BassFishFox 21.12.2017 um 19:08:41 Uhr
Goto Top
Und was sagt Dir das jetzt?

Um halbwegs sicher zu sein keine lokalen/Domaenenpassworter zu verraten die spaeter gegen Dich verwendet werden koennen.

- Ohne Batterie austauschen wird das nix!
- Ohne dem lokalen Benutzer das Recht zu geben die Uhrzeit zu aendern wird das nix!

Lass jemanden vor Ort die Rechte setzen, dass ein lokaler Benutzer die Uhrzeit aendern kann. Ab dann klappt es auch mit der kruden Batcherei.

Genug getippt zu diesem Thema. face-wink

BFF
lordofremixes
lordofremixes 22.12.2017 um 08:20:25 Uhr
Goto Top
Ich lass es jetzt doch den Azubi über einen geplanten Task einrichten.

Danke für die Hilfe.

Gruß
lordofremixes
emeriks
emeriks 22.12.2017 aktualisiert um 08:25:12 Uhr
Goto Top
Man kann das alles aus der Ferne tun, ohne sich auch nur einmal mit RDP, VNC oder sonstwas auf diese Rechner zu schalten. Soviel zum Thema "Leitung".
Ich vermute mal, es kommt nicht auf die Lösung des Problems an, sondern darum, es unbedingt mit einer Batch oder selbst erstellten EXE zu machen. Atta!

Edit: Uuups, das hat sich jetzt überschnitten ...
lordofremixes
lordofremixes 22.12.2017 um 09:02:49 Uhr
Goto Top
Es wäre halt zu schön gewesen wenn es über diesen Weg geklappt hätte ;) Aber du hast recht gibt effizientere Möglichkeiten...