exoroth

Runas in verbindung mit Call

Hallo zusammen,

ich arbeite an einem WinXP Pro PC ohne Admin-Rechten. Dieser PC befindet sich in einer Domäne, in der ich Administrator bin.
Ich habe mir eine Batch geschrieben die mir das Leben mit einigen Funktionen erleichtert.
Nun sind aber neue Funktionen hinzugekommen, für die ich Adminrechte einsetzen muss!

Ich habe mir gedacht das ganze über Runas (für die Adminrechte) und Call (für das aufrufen der Funktion) einzusetzen.

Ich habe 2 Benutzer:

dau - benutzer
mann - administrator

Grobe Übersicht über meine Batch (leichtes-leben.bat), diese wird als dau ausgeführt:

:start
Anzeigen der Computerinformationen
Menu:

Funktion 1
Funktion 2
Funktion 3
Funktion 4 - benötigt Adminrechte

Auswahl der Funktion:


Das Menu funktioniert wie folgt:

if "%auswahl%" == "1" goto %auswahl%
if "%auswahl%" == "2" goto %auswahl%
if "%auswahl%" == "3" goto %auswahl%
if "%auswahl%" == "4" goto %auswahl%
goto start

:1
Funktion 1
goto start

:2
Funktion 2
goto start

:3
Funktion 3
goto start

:4
if not "%username%" == "mann" runas /u:muster\mann call "leichtes-leben.bat" :4
Funktion 4 als User mann (dieser hat dann adminrechte)


Jetzt habe ich nur 2 Probleme.

1. Das Runas und Call will miteinander nicht so wie ich das will, ich schaffe es nicht die Batch und Funktion 4 zu callen

und

2. Den User mann wieder abmelden damit die Batch als User dau weitergenutzt wird.


Hmm....ich hoffe ich konnte es verständlich erklären.


Servus,
Exoroth
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 153147

Url: https://administrator.de/forum/runas-in-verbindung-mit-call-153147.html

Ausgedruckt am: 26.04.2025 um 03:04 Uhr

60730
60730 15.10.2010 um 15:17:44 Uhr
Goto Top
Moin,

if "%auswahl%" ==1,2,3,4
ist flüssiger als flüssig face-wink

set /a auswahl=%auswahl%
if %auswahl% geq 1 if %auswahl% leq 4 goto %auswahl%
echo Fehleingabe 1-4 nicht %auswahl%

goto start

:1
Funktion 1
goto start

:2
Funktion 2
goto start

:3
Funktion 3
goto start

:4
if not "%username%" == {{comment_strings:33763351383}} runas /u:muster\mann cmd /c {{comment_strings:2617483563}}  

Gruß
exoroth
exoroth 18.10.2010 um 13:52:19 Uhr
Goto Top
Hi,

danke erstmal!

> if "%auswahl%" ==1,2,3,4
ist flüssiger als flüssig face-wink

Ist ganz praktisch, danke!


if not "%username%" == "mann" runas /u:muster\mann cmd /c "leichtes-leben.bat"

diese zeile funktioniert nicht! Wenn ich die so eingebe bringt mir runas nur sein Hilfefenster (siehe "runas /?") !!!
Aber genau das ist ja mein Problem, dass das nicht funktioniert....
Und wenn ich dann die "leichtes-leben.bat" aufrufe, muss er dann sofort zu ":4" springen, soweit ich weiß geht das doch nur via "Call"?!
Alternative für diese Funktion 4 wäre, dass ich die Batch gleich als mann ausführe, dann gibt es aber Probleme mit den anderen Funktionen, da diese
Benutzernameabhängig sind!

Gruß,
Exoroth
60730
60730 18.10.2010 um 14:40:10 Uhr
Goto Top
Moin,

if not "%username%" == "mann" runas /u:muster\mann cmd /c "leichtes-leben.bat"
mea culpa.... Da hab ich zwei (und einen halben) Böcke drin..

Und wenn ich dann die "leichtes-leben.bat" aufrufe, muss er dann sofort zu ":4"
Naja - dann mußt du dem das aber auch sagen:

Ich nehme mal an, deine Auswahl ist %1?

if /i not "%username%" == "mann" runas /noprofile /user:domain\username "cmd /c Laufwerk:\pfad\leichtes-leben.bat 4"  

Ist das da oben die Leichtes-leben.bat?
Dann fehlt ein muß die erste Zeile
set /a auswahl=%1
sein.
oder besser:
if not "%1"=="" set /a auswahl=%1  

Gruß
exoroth
exoroth 20.10.2010 um 14:22:10 Uhr
Goto Top
Guten Tag,

if /i not "%username%" == "mann" runas /noprofile /user:domain\username "cmd /c
Laufwerk:\pfad\leichtes-leben.bat 4"

Hab es so eingegeben wie es da oben steht, er öffnet mir aber die "leichtes-leben.bat" nicht über runas.
Hier können wir erstmal das "IF" ausblenden, denn das geht ja, mein Problem ist nur das Runas:

Runas /noprofile /user:domain\username "cmd /c Laufwerk:\pfad\leichtes-leben.bat 4"

Hast du das bei dir getestet? Funktioniert das bei dir? Denn dann wäre ich ja nur zu ungeschickt das richtig einzugeben face-big-smile


Ist das da oben die Leichtes-leben.bat?

Ja, die "leichtes-leben.bat" soll die "leichtes-leben.bat" (also sich selbst) aufrufen und dann zu :4 springen.

Dann fehlt ein muß die erste Zeile
set /a auswahl=%1
sein.
oder besser:

if not "%1"=="" set /a auswahl=%1

ich habe da stehen

if not "%1"=="" goto %1

sollte ja so auch gehen face-smile


Gruß
60730
60730 20.10.2010 um 14:46:55 Uhr
Goto Top
Moin,
Zitat von @exoroth:
Guten Tag,

Runas /noprofile /user:domain\username "cmd /c Laufwerk:\pfad\leichtes-leben.bat 4"
Hast du das bei dir getestet?
  • Ja
Funktioniert das bei dir?
  • das da nein - aber wenn ich mein Haus,mein Auto, mein Schwimmbad"meine" domain, meinen Usernamen meine bat da eintrage will er en passwörtchen und wenn das richtig ist kommt das schwarze Fensterchen face-wink
Ist das da oben die Leichtes-leben.bat?

ich habe da stehen

if not "%1"=="" goto %1

sollte ja so auch gehen face-smile
sollte so auch gehen, aber gibt irgendein schlauberger Leichtes-leben.bat 666 ein face-wink

Gruß
retour
exoroth
exoroth 20.10.2010 um 15:30:40 Uhr
Goto Top
Servus,

* das da nein - aber wenn ich mein Haus,mein Auto, mein Schwimmbad"meine" domain, meinen Usernamen meine bat da
eintrage will er en passwörtchen und wenn das richtig ist kommt das schwarze Fensterchen face-wink

Hehe, siehste, und genau hier liegt der Hund begraben. Bei mir kommt auch die Kennwortabfrage, aber er öffnet die Batch nicht! Also stimmt was bei "cmd /c Laufwerk:\pfad\leichtes-leben.bat 4" nicht. Es öffnet sich das kleine Schwarze und verschwindet sofort wieder face-sad

Wenn ich unter Start -> Ausführen folgendes eingebe:

cmd /c "Laufwerk:\Pfad\leichtes-leben.bat" 4

dann funktioniert es!
Gebe ich das selbe jedoch hinter Runas ein, dann kommt wieder Runas /? face-big-smile


sollte so auch gehen, aber gibt irgendein schlauberger Leichtes-leben.bat 666 ein face-wink

Das wird doch schon bei der Eingabe im Menu gecheckt. Erst wenn er die 4 eingibt kommt er zu der Funktion 4. Und dort kommt erst die Abfrage ob er "mann" ist, und wenn er es nicht ist sollte die runas kommen. face-wink
Außerdem ist doch "Leichtes-leben.bat 4" fest definiert, da die 4 keine Variable ist.


> Gruß
retour

reretour
60730
60730 20.10.2010 um 16:26:04 Uhr
Goto Top
Zitat von @exoroth:
Hehe, siehste, und genau hier liegt der Hund begraben. Bei mir kommt auch die Kennwortabfrage, aber er öffnet die Batch
nicht! Also stimmt was bei "cmd /c Laufwerk:\pfad\leichtes-leben.bat 4" nicht. Es öffnet sich das kleine Schwarze
und verschwindet sofort wieder face-sad
Das kenne ich - was ist der Unterschied zwischen einer Frau im kleinen schwarzen und einem Monsun?
Wenn Sie kommen ist es heiss und feucht und wenn Sie gehen ist das Haus weg...

Wenn ich unter Start -> Ausführen folgendes eingebe:
cmd /c "Laufwerk:\Pfad\leichtes-leben.bat" 4
dann funktioniert es!
Gebe ich das selbe jedoch hinter Runas ein, dann kommt wieder Runas /? face-big-smile

ähhh ich schrub dir doch .....

"cmd /c Laufwerk:\pfad\leichtes-leben.bat 4"  
So und nicht anders bitte face-wink - Die "Gassi" "Anführungszeichen" sind das Salz in der Suppe....

Außerdem ist doch "Leichtes-leben.bat 4" fest definiert, da die 4 keine Variable ist.
Nunja Jacke wie Hose, aber 4 ist im Script keine Variable, aber händisch könnte man....
exoroth
exoroth 22.10.2010 um 12:22:26 Uhr
Goto Top
Hey,

"cmd /c Laufwerk:\pfad\leichtes-leben.bat 4"
So und nicht anders bitte face-wink - Die "Gassi" "Anführungszeichen" sind das Salz in der Suppe....

Ich habe das so probiert wie du mir das geschrieben hast!
Was rauskommt ist:

Kennwortabfrage
Neues CMD-Fenster öffnet sich
Das NEUE CMD-Fenster schließt sich wieder.

Pusteblume....

Also irgendwo ist da ein Fehler drin, ich weiß nur nicht wo.


> Außerdem ist doch "Leichtes-leben.bat 4" fest definiert, da die 4 keine Variable ist.
Nunja Jacke wie Hose, aber 4 ist im Script keine Variable, aber händisch könnte man....

Sag ich doch dass sie keine Variable ist, händisch könnte man ja wohl alles ändern face-big-smile


Gruß
Exoroth
60730
60730 22.10.2010 um 12:57:29 Uhr
Goto Top
Bongschur,

last exit brooklyn

if /i not "%username%" == "mann" runas /noprofile /user:domain\username "cmd /k Laufwerk:\pfad\leichtes-leben.bat 4"  

Dann aber ein exit als letzte Zeile im Sprungziel 4 deiner "leichten-leben" die Ihren Namen hoffentlich irgendwann mal verdient reinmalen.

Gruß