exoroth
Goto Top

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

Content-Key: 153147

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

Printed on: April 25, 2024 at 20:04 o'clock

Mitglied: 60730
60730 Oct 15, 2010 at 13:17:44 (UTC)
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%" == "mann" runas /u:muster\mann cmd /c "leichtes-leben.bat"  

Gruß
Member: exoroth
exoroth Oct 18, 2010 at 11:52:19 (UTC)
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
Mitglied: 60730
60730 Oct 18, 2010 at 12:40:10 (UTC)
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ß
Member: exoroth
exoroth Oct 20, 2010 at 12:22:10 (UTC)
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ß
Mitglied: 60730
60730 Oct 20, 2010 at 12:46:55 (UTC)
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
Member: exoroth
exoroth Oct 20, 2010 at 13:30:40 (UTC)
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
Mitglied: 60730
60730 Oct 20, 2010 at 14:26:04 (UTC)
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....
Member: exoroth
exoroth Oct 22, 2010 at 10:22:26 (UTC)
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
Mitglied: 60730
60730 Oct 22, 2010 at 10:57:29 (UTC)
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ß