Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich habe eine Labview Anwendung auf einem Win7 Rechner am Laufen. Jetzt möchte ich die Systemzeit über eine Kommandozeile setzen. Das Problem ist, dass der Benutzer keine Admin Rechte hat und somit muss ich wenn ich über "cmd" dies von Hand teste, immer Benutzername .\admin und Passwort 7353 eingeben. Wenn ich dies vom Labview im Hintergrund aufrufe, wie mache ich das?
Der Befehl ist:
net time /set /y
Ich kann dies in eine bat Datei packen, eine Verknüfpung davon erstellen, danach auf Eigenschaften der Verknüfung unter Ertweiter den Haken bei "Als Admin ausführen" setzen und jetzt geht es auch so. Nur möchte ich dies automatisieren und den Benutzernamen und Kennwort bereits übergeben.
Oder gibt es eine bessere Lösung um die Systemzeit zu setzen als Benutzer ohne Admin Rechte?
Also zunächst mal frage ich mich, weshalb der User überhaupt die Systemzeit ändern sollte. Davon abgesehen ist es nicht möglich, per CMD Adminrechte zu bekommen, soweit ich weiß. Unter Linux ist das etwas anderes
22.04.2015, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2015 10:42 von machfax.)
(22.04.2015 10:37 )NoWay schrieb: Also zunächst mal frage ich mich, weshalb der User überhaupt die Systemzeit ändern sollte. Davon abgesehen ist es nicht möglich, per CMD Adminrechte zu bekommen, soweit ich weiß. Unter Linux ist das etwas anderes
Weil der Prüfmittelbenutzer keine Admin-Rechte hat damit nichts verstellt werden kann in der Montagelinie und da der PC ab und zu die Systemzeit nicht vom Server zieht und scheinbar durch was auch immer die Zeit nicht stimmt. Somit könnte ich im Hintergrund beim Starten der Anwendung immer die Zeit neu setzen und somit wäre das logging und auch die Geräteetikette immer auf dem richtigen Datum/Uhrzeit...
Und nein, es ist keine Lösung dem Benutzer Admin Rechte zu geben.
Idee:
Du kannst ein LabVIEW-Executable als Service im Hintergrund starten - und diesem Service Admin-Rechte verpassen.
Jetzt musst du deinem Service nur noch mitteilen, dass die Systemzeit neu gesetzt werden müsste! Dies könnte man durch Netzwerk-Zugriffe (TCP- oder UDP-Botschaften an localhost) oder über eine Datei, die dein User-Prozess beschreibt, erledigen…
Idee:
Du kannst ein LabVIEW-Executable als Service im Hintergrund starten - und diesem Service Admin-Rechte verpassen.
Jetzt musst du deinem Service nur noch mitteilen, dass die Systemzeit neu gesetzt werden müsste! Dies könnte man durch Netzwerk-Zugriffe (TCP- oder UDP-Botschaften an localhost) oder über eine Datei, die dein User-Prozess beschreibt, erledigen…
Hallo
Habe ich gemacht, vielen Dank. Funktioniert auch. Doch wie kann ich aus einem Standrat-Benutzerprofil die exe als Admin Starten ohne ein Passwort und Benutzernamen eingeben zu müssen? Geht das irgendwie automatisiert?
Vielen Dank
22.04.2015, 11:40 (Dieser Beitrag wurde zuletzt bearbeitet: 22.04.2015 11:41 von GerdW.)
Zitat:Doch wie kann ich aus einem Standrat-Benutzerprofil die exe als Admin Starten ohne ein Passwort und Benutzernamen eingeben zu müssen?
Geht sowas überhaupt in Windows? Ich dachte, dass dort immer ein entsprechender Account mit Admin-Rechten erforderlich ist…
P.S.: Stand-Art vs. Standard…
Ja geht, mit rechter Maustaste auf exe und danach als Admin ausführen, dann kommt ein Dialog wo man Benutzername und Passwort einfüllen muss, was ich aber nicht möchte...
Zitat:Ja geht, mit rechter Maustaste auf exe und danach als Admin ausführen, dann kommt ein Dialog wo man Benutzername und Passwort einfüllen muss
Genau das meinte ich: wenn du Admin-Rechte anforderst, dann musst du einen passenden Account angeben. Ob nun über einen Dialog oder über einen anderen API-Aufruf ist dabei unerheblich…
Zitat:was ich aber nicht möchte...
Wenn du etwas anderes möchtest, solltest du das MSDN konsultieren…
Zitat:Doch wie kann ich aus einem Standrat-Benutzerprofil die exe als Admin Starten ohne ein Passwort und Benutzernamen eingeben zu müssen?
Geht sowas überhaupt in Windows? Ich dachte, dass dort immer ein entsprechender Account mit Admin-Rechten erforderlich ist…
P.S.: Stand-Art vs. Standard…
Nein das geht nicht! Wäre noch schöner wenn ein Standard User einen Service starten oder gar installieren darf, der dann mit Systemrechten das System auseinander nehmen kann. Dann kann man gleich im Internet das Admin Password und Account sowie die IP Adresse publizieren.
Eine Service installiert man im Admin Modus und konfiguriert man so dass er automatisch mit dem System startet. Dort wartet er dann auf Kommandos (über TCP/IP zum Beispiel) um das Ding zu machen wozu er gedacht ist. Zudem hat Windows einen Service der die lokale Uhr regelmässig an einen Timeserver anpasst. Wenn das nicht funktioniert, sollte mal die Konfiguration davon kontrolliert werden. Vielleicht hat jemand den ausgeschaltet.
Ok vielen Dank für die ausführlichen Infos, werde da ein andere Lösung suchen müssen, eventuell werde ich dem Benutzer Admin Rechte geben, dies so umsetzen aber das ganze in einem Shell starten damit der Benutzer nur auf die Labview-Anwendung Zugriff hat und am Windows gar nichts mehr einstellen kann, somit auch keine "Dummheiten" machen kann. Beim Beenden des Labview meldet sich dann der PC automatisch ab und somit hat der Benutzer keinen Zugriff auf das Windows oder Dateisystem und ich kann trotzdem den Befehl im Hindergrund mit Admin-Rechten ausführen...