Geben Sie den Ordner aus der Batchdatei frei, ohne nach Administratorrechten und der Benutzerkontensteuerung zu fragen

366
Ádám Bozzay

Ich möchte eine Batchdatei auf einem Remote-Computer ausführen, der einen bestimmten Ordner für alle freigibt. Es muss das tun

  • ohne in irgendeiner Weise nach Administratorrechten zu fragen
  • ohne UAC-Dialog aufzurufen
  • ohne neu zu starten

Bisher habe ich dieses Skript, aber es gibt mir immer den UAC-Dialog.

SET __COMPAT_LAYER=WINXPSP3 if _%1_==_payload_ goto :payload  :getadmin echo %~nx0: elevating self set vbs=%temp%\getadmin.vbs echo Dim WshShell, WshEnv >> "%vbs%" echo Set WshShell = CreateObject^("WScript.Shell"^) >> "%vbs%" echo Set WshEnv = WshShell.Environment^("PROCESS"^) >> "%vbs%" echo WshEnv.Item^("__COMPAT_LAYER"^) = "WINXPSP3" >> "%vbs%" echo Set UAC = CreateObject^("Shell.Application"^) >> "%vbs%" echo UAC.ShellExecute "%~s0", "payload %~sdp0 %*", "", "runas", 1 >> "%vbs%" "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" goto :eof  :payload echo %~nx0: running payload with parameters: echo %* echo --------------------------------------------------- cd /d %2 shift shift rem put your code here rem e.g.: perl myscript.pl %1 %2 %3 %4 %5 %6 %7 %8 %9 SET __COMPAT_LAYER=WINXPSP3 net share MyShare=c:\MyShare /grant:everyone,full goto :eof 
2
Adam - Ziehen Sie in Betracht, die Logik aus dem VBS-Abschnitt ": getadmin" in ein tatsächliches VBS-Skript mit statischen Werten zu setzen und das Problem zunächst zu beheben. Es ist wahrscheinlich ein Problem mit dem VB-Skript und nicht wirklich Batch. Wenn Sie also ein VB-Skript erstellen und die Werte statisch machen könnten, um zu bestätigen, dass es dasselbe Verhalten aufweist, können Sie möglicherweise eine bessere Hilfe erhalten, indem Sie die Logik in VB in diesem Beitrag einfügen und markiere es als "vbscript". Die Batch-Teile können für das tatsächliche Problem irrelevant sein, so dass dies zu ablenkenden Personen führen kann und nicht zur Problembehandlung erforderlich ist. Nur ein freundlicher Tipp, dass ** vielleicht ** helfen könnte !! Pimp Juice IT vor 5 Jahren 0

0 Antworten auf die Frage