Einer Batchfile Rechte geben
Guten Tag,
eigentlich ist mein Problem simple, dennoch finde ich keine Lösung. Ich habe in Outlook 2007 eine Regel erstellt. Diese bewirkt, dass bei einem bestimmten Ereignis ein batch-script ausgeführt werden soll.
In dieser Batchfile soll unter anderem eine *.txt datei verändert werden. Dies funktioniert aber nur, wenn ich die Batch-Datei manuell auslöse. Wenn Sie über die Outlook-Regel ausgelöst wird, verändert er die txt-Datei nicht.
Für mich eine ganze klare Sache. Die Batch-Datei verfügt nicht über ausreichend Rechte um die txt-Datei zu bearbeiten.
Ich suche nach einer Befehlzeile, die die Batch-Datei die nötigen Rechte gibt um diese Datei zu bearbeiten. Wenn es geht ohne das Passwort in Klartext in das Script zu schreiben.
Kann mir jemand weiterhelfen?
Schöne Grüße
Samuel
eigentlich ist mein Problem simple, dennoch finde ich keine Lösung. Ich habe in Outlook 2007 eine Regel erstellt. Diese bewirkt, dass bei einem bestimmten Ereignis ein batch-script ausgeführt werden soll.
In dieser Batchfile soll unter anderem eine *.txt datei verändert werden. Dies funktioniert aber nur, wenn ich die Batch-Datei manuell auslöse. Wenn Sie über die Outlook-Regel ausgelöst wird, verändert er die txt-Datei nicht.
Für mich eine ganze klare Sache. Die Batch-Datei verfügt nicht über ausreichend Rechte um die txt-Datei zu bearbeiten.
Ich suche nach einer Befehlzeile, die die Batch-Datei die nötigen Rechte gibt um diese Datei zu bearbeiten. Wenn es geht ohne das Passwort in Klartext in das Script zu schreiben.
Kann mir jemand weiterhelfen?
Schöne Grüße
Samuel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 128100
Url: https://administrator.de/contentid/128100
Ausgedruckt am: 25.11.2024 um 11:11 Uhr
40 Kommentare
Neuester Kommentar
Ich kann besagtes script momentan leider nicht finden. Allerdings könntest du das Passwort ja Base64-codiert in einem textfile speichern und dieses dann von einem vb-script decoden lassen. Das decodierte PW wird dann an die batch für den runas-befehl gesendet...
ömm moment mal:
RunAs hat doch sowieso eine verdeckte Passworteingabe, solange es dir nicht zuviel Mühe ist, das Passwort jedesmal selbst einzutippen reicht das doch
ömm moment mal:
RunAs hat doch sowieso eine verdeckte Passworteingabe, solange es dir nicht zuviel Mühe ist, das Passwort jedesmal selbst einzutippen reicht das doch
Servus,
mal ganz laaangsam..
Per Outlook ein batch starten, damit dass in einer textdatei was ändert?
Ok soweit - so "krumm"
Aber nun noch eine andere Batch starten, die die Batch startet?
Vermutung ist doch eher - ohne die Batch zu kennen - die läuft gar nicht.
mal ein
Aber wie geschrieben mit vba ein cmd starten - wo doch vba einiges kann?
Gruß
mal ganz laaangsam..
Per Outlook ein batch starten, damit dass in einer textdatei was ändert?
Ok soweit - so "krumm"
Aber nun noch eine andere Batch starten, die die Batch startet?
- krümmer geht ümmer ?
Vermutung ist doch eher - ohne die Batch zu kennen - die läuft gar nicht.
mal ein
echo %date%time >%temp%\logfile.ini
am anfang der batch schreiben und dann outlook zwingen die Batch auszuführen - sollte einem zeigen ob die überhaupt läuft.Aber wie geschrieben mit vba ein cmd starten - wo doch vba einiges kann?
Gruß
Hi,
Du kannst doch einen Befehl ausführen lassen, oder? Sonst könntest Du die Batch nicht starten.
Nimm als Befehl
So sollte es gehen. Falls tatsächlich nur eine Datei durch die Regel aufgerufen werden kann, dann müsste man wirklich eine "Hilfs-Batch" schreiben, die o.g. Befehl enthält. Ist aber wahrscheinlich schon so wie Timo unten schreibt, etwas "krümmer"...
Gruß
Larz
P.S.: Runas-Scripts - da muss man doch auch das Passwort im Klartext hinterlegen oder auf die Eingabe warten...
Du kannst doch einen Befehl ausführen lassen, oder? Sonst könntest Du die Batch nicht starten.
Nimm als Befehl
schtasks /run /tn "Name des Tasks in Anführungszeichen"
So sollte es gehen. Falls tatsächlich nur eine Datei durch die Regel aufgerufen werden kann, dann müsste man wirklich eine "Hilfs-Batch" schreiben, die o.g. Befehl enthält. Ist aber wahrscheinlich schon so wie Timo unten schreibt, etwas "krümmer"...
Gruß
Larz
P.S.: Runas-Scripts - da muss man doch auch das Passwort im Klartext hinterlegen oder auf die Eingabe warten...
ich weiß - ich bin heute im Montagsmodus...
...Aber - wenn denn die batch läuft - warum sollte die dann weitere rechte bekommen?
entweder mal cmd dir status.txt /s laufen lassen oder aus
Gruß
...Aber - wenn denn die batch läuft - warum sollte die dann weitere rechte bekommen?
for /F %%i in (status.txt) do set x=%%i
set /a y=(%x%-1)
echo %y% > status.txt
if %y%==1 GOTO off
if not %y%==1 GOTO end
:off
echo %y%
"C:\Power Manager\pm2.exe" -off -Device2 -Socket1
:end
entweder mal cmd dir status.txt /s laufen lassen oder aus
echo %y% > status.txt
echo %y% > laufwerk\pfad\status.txt
machen - wobei mir der Montagsmodus sagt - für jede Zeile in Status Text via > Status ändern?echo %y% > laufwerk\pfad\status.txt
Gruß
sagst du jetzt, wo ich fertig bin? -.-'
http://pastebin.com/f2a199d30 <-- das VBScript
http://pastebin.com/f3ebb7c70 <-- das .BAT-File
http://pastebin.com/f2a199d30 <-- das VBScript
http://pastebin.com/f3ebb7c70 <-- das .BAT-File
jaja - die ollen Säcke hams doch noch drauf...
Gruß
Ich habe eine "PAUSE" reingebaut...
fürs testen immer gut..(genauso - wie :echo off)"Die Datei 'status.txt' kann nicht gefunden werden"
ahaobwohl er genau auf den Ordner verweist...
nee kann nicht - sonst würde ja:Die Datei "c:\pfad\status.txt" kann nicht gefunden werden.
als Fehlermeldung kommen...01. for /F %%i in (laufwerk:\pfadd\status.txt) do set x=%%i
Gruß
Moin pixelschubser,
du hättest dir und vor allem snowman25 einige Dutzend Minuten unwiderbringlich und für immer verlorener Lebenszeit ersparen können, wenn du
Dieser hier funktioniert, sagst du:
--> dann wird entsprechend dieser hier auch funktionieren:
Dass die Zeichen in der Klammer [ -> also ("c:\Power Manager\status.txt") ] in Anführungszeichen gehören hat snowman25 aber auch vor geraumer Zeit gepostet.
Ich denke, du solltest ihm mal einen Cappuccino ausgeben.
Grüße
Biber
du hättest dir und vor allem snowman25 einige Dutzend Minuten unwiderbringlich und für immer verlorener Lebenszeit ersparen können, wenn du
- den tätsächlich aufgerufenen Batch gepostet hättest
- wenigstens zum Testen der Batchschnipsel vom CMD-Prompt gearbeitet hättest
Dieser hier funktioniert, sagst du:
For /F %%i in (status.txt) do set x=%%i
set /a y=(%x%-1)
echo %y% > status.txt
if %y%==1 GOTO off
if not %y%==1 GOTO end
:off
echo %y%
"C:\Power Manager\pm2.exe" -off -Device2 -Socket1
:end
for /F %%i in ("c:\Power Manager\status.txt") do set x=%%i
set /a y=(%x%-1)
echo %y% > status.txt
if %y%==1 GOTO off
if not %y%==1 GOTO end
:off
echo %y%
"C:\Power Manager\pm2.exe" -off -Device2 -Socket1
:end
Dass die Zeichen in der Klammer [ -> also ("c:\Power Manager\status.txt") ] in Anführungszeichen gehören hat snowman25 aber auch vor geraumer Zeit gepostet.
Ich denke, du solltest ihm mal einen Cappuccino ausgeben.
Grüße
Biber
ich will nicht wissen wo sie liegt, sonder in welchem verzeichnis sie ausgeführt wird.
Wenn der von dir gepostete screenshot die Ausführung aus Office heraus ist, dann wird die batch im Verzeichnis
wechsle vor allen anderen befehlen in das Verzeichnis
Wenn der von dir gepostete screenshot die Ausführung aus Office heraus ist, dann wird die batch im Verzeichnis
C:\Dokumente und Einstellung\sysdoc
ausgeführt.wechsle vor allen anderen befehlen in das Verzeichnis
C.\Power Manager
durch:cd\
cd "Power Manager"
nochmal zum mitlesen, und ganz langsam geschrieben:
ich will nicht wissen wo sie liegt, sonder in welchem verzeichnis sie ausgeführt wird.
Wenn der von dir gepostete screenshot die Ausführung aus Office heraus ist, dann wird die batch im Verzeichnis C:\Dokumente und Einstellung\sysdoc ausgeführt.
wechsle vor allen anderen befehlen in das Verzeichnis C:\Power Manager durch:
ich will nicht wissen wo sie liegt, sonder in welchem verzeichnis sie ausgeführt wird.
Wenn der von dir gepostete screenshot die Ausführung aus Office heraus ist, dann wird die batch im Verzeichnis C:\Dokumente und Einstellung\sysdoc ausgeführt.
wechsle vor allen anderen befehlen in das Verzeichnis C:\Power Manager durch:
cd\
cd "Power Manager"
[OT]
kaum macht man mal was produktives für die "eigene" Firma...und hat den Haken nicht abgeklemmt..
Rächt es sich, das er sich mit einem Fred Batch rechte rumgeschlagen hat
Einer spammt mein Postfach zu...
[/OT]
Bin dann mal drausen (Haken raus genommen)
Gruß
edit einen haken muß ich wohl vergessen haben..
Ähh man kann hier auch bilder ablegen..
und die, die keine Ahnung haben..
kaum macht man mal was produktives für die "eigene" Firma...und hat den Haken nicht abgeklemmt..
Rächt es sich, das er sich mit einem Fred Batch rechte rumgeschlagen hat
Einer spammt mein Postfach zu...
[/OT]
Bin dann mal drausen (Haken raus genommen)
Gruß
edit einen haken muß ich wohl vergessen haben..
Ähh man kann hier auch bilder ablegen..
@echo off
machen die, die Alpha, Beta und Gamma Tests durch habenund die, die keine Ahnung haben..
ECHO Off bei unfertigen Batchen raus !
c:
cd \"Power Manager"
for /F %%i in (status.txt) do set x=%%i
set /a y=(%x%-1)
echo %y% > status.txt
if %y%==1 GOTO off
if not %y%==1 GOTO end
:off
echo %y%
"C:\Power Manager\pm2.exe" -off -Device2 -Socket1
:end
@ Biber
offensichtlich mag die Schleife keine " lee r zeic hen"
N:\>for /f %i in ("n:\l og\myini.log") do echo %i
N:\>echo n:\l
n:\l
was einem dann aber auch klar wird - wenn man sich
FOR /F ["Optionen"] %Variable IN ("Zeichenkette") DO Befehl [Parameter]
genauer ansieht.dem bastla wär das nicht passiert
Gruß & flitz
@Pixelschubser:Thema erledigt?
Moin Pixelschrubber,
Welches der vielen angesprochenen Teilprobleme?
Ich fange mal mit dem lösbaren an:
a) Eine Text-Datei mit "Leerzeichen im Namen oder Pfad" mit einer FOR /F-Anweisung auslesen und erstes Token der Zeile in Variable setzen
[Für den Test am CMD-Prompt]
b) Sonderfall: Inhalt einer Text-Datei mit "Leerzeichen im Namen oder Pfad" und EINER einzigen Zeile in Variable setzen
Der Fall b) läge auch bei dir vor.... kannst Du nehmen.
ABER: grundsätzliche Probleme bleiben:
Mit dem Ergebnis: mal funktionierts, mal halt nicht und wahrscheinlich lag es dann am letzten Patch-Day.
Ein weiterer Grund, warum dieser Thread so viel Administratoren-Zeit verbrannt hat ist die Herangehensweise des Fragens.
Entweder jemand fragt bei Skript-Problemen :
Oder jemand sagt:
Da du eher die Oder-Variante gewählt hast, sind die Antworten natürlich auch erstmal auf das "schmale Brett" fixiert gewesen...
.. du hast ja unsere Augen darauf gelenkt.
Hat insgesamt auf beiden Seiten unnötige Irrwege verursacht.
Grüße
Biber
Kann man es denn geschickter lösen?
Welches der vielen angesprochenen Teilprobleme?
Ich fange mal mit dem lösbaren an:
a) Eine Text-Datei mit "Leerzeichen im Namen oder Pfad" mit einer FOR /F-Anweisung auslesen und erstes Token der Zeile in Variable setzen
[Für den Test am CMD-Prompt]
for /F "usebackq" %i in ("c:\Power Manager\status.txt") do ECHO set "x=%i "
-- oder-
for /F %i in (' type "c:\Power Manager\status.txt"' ) do ECHO set "x=%i "
b) Sonderfall: Inhalt einer Text-Datei mit "Leerzeichen im Namen oder Pfad" und EINER einzigen Zeile in Variable setzen
SET /P x=<"c:\Power Manager\status.txt"
- oder-
SET /P "x=<"c:\Power Manager\status.txt""
Der Fall b) läge auch bei dir vor.... kannst Du nehmen.
ABER: grundsätzliche Probleme bleiben:
- du prüfst in deiner Batch-Logik weder, ob die status.txt existiert noch ob die Variable %x% nach der FOR-Anweisung gesetzt ist
- und initialisiert wird %x% auch nicht
- und bei Egal-welchen-Fehlern rennt das Krams einfach weiter
Mit dem Ergebnis: mal funktionierts, mal halt nicht und wahrscheinlich lag es dann am letzten Patch-Day.
Ein weiterer Grund, warum dieser Thread so viel Administratoren-Zeit verbrannt hat ist die Herangehensweise des Fragens.
Entweder jemand fragt bei Skript-Problemen :
"Ich stehe im Moment hier bei A, möchte nach Ziel B und wollte auf folgenden schmalen Brettern dorthin gehen.
Kennt jemand einen anderen Weg? Vielleicht einen ausgetretenen Pfad oder etwas mit Beleuchtung?"
Kennt jemand einen anderen Weg? Vielleicht einen ausgetretenen Pfad oder etwas mit Beleuchtung?"
Oder jemand sagt:
"ich habe da etwas programmiert, das eigentlich funktioniert. Plötzlich tritt folgendes Problem auf: ..."
Da du eher die Oder-Variante gewählt hast, sind die Antworten natürlich auch erstmal auf das "schmale Brett" fixiert gewesen...
.. du hast ja unsere Augen darauf gelenkt.
Hat insgesamt auf beiden Seiten unnötige Irrwege verursacht.
Grüße
Biber
Biber sowas von recht geben tuten tun..
c) Sonderfall
da brauchts nicht mal neKanibale Varibale Variable...
@Biber - jetzt hätten wir mal einen Ansatz, ob wir bei dem "Problem" das Ende des ABc für die diversen Lösungen erleben?
Gruß
und bitte Fred auch mal als abhackt abhaken tun...
c) Sonderfall
in der status.txt steht nur eine ziffer drin. Um normalfall die 1
find "1" "C:\Power Manager\status.txt" && "C:\Power Manager\pm2.exe" -off -Device2 -Socket1
exit
da brauchts nicht mal ne
@Biber - jetzt hätten wir mal einen Ansatz, ob wir bei dem "Problem" das Ende des ABc für die diversen Lösungen erleben?
Gruß
und bitte Fred auch mal als abhackt abhaken tun...