Hallo Gemeinde,
ich habe für den Helpdesk in unserer Firma ein kleines Tool gebaut um schnell beim User Funktionen mit Adminrechten zu starten. In der alten AutoIT-Version hat das mit dem alten RunAsSet() auch immer super geklappt. So hatte das damals ausgesehen:
Spoiler anzeigen
func RunAsStuff($RunAsSelect)
if askcode($input[4][0])<>"OK" then Return
RunAsSet("installer", @ComputerName, $installer)
Select
Case $RunAsSelect=1
Run("cmd.exe","C:\")
Case $RunAsSelect=2
Run("Explorer.exe","C:\")
Case $RunAsSelect=3
Run("control","C:\")
Case $RunAsSelect=4
Run("Regedit","C:\")
EndSelect
RunAsSet()
endfunc
So sieht das ganze dann heute aus:
Spoiler anzeigen
func RunAsStuff($RunAsSelect)
if askcode($input[4][0])<>"OK" then Return
Select
Case $RunAsSelect=1
RunAs("installer", @ComputerName, $installer,0,"cmd.exe","C:\")
Case $RunAsSelect=2
RunAs("installer", @ComputerName, $installer,0,"Explorer.exe","C:\")
Case $RunAsSelect=3
RunAs("installer", @ComputerName, $installer,0,"control","C:\")
Case $RunAsSelect=4
RunAs("installer", @ComputerName, $installer,0,"Regedit","C:\")
Case $RunAsSelect=5
RunAs("installer", @ComputerName, $installer,0,"mmc C:\windows\system32\compmgmt.msc","C:\")
Case $RunAsSelect=6
RunAs("installer", @ComputerName, $installer,0,"Taskmgr.exe","C:\")
EndSelect
endfunc
[/autoit]Und jetzt das seltsame daran: Nur die Aufrufe 'erplorer.exe' und 'Control' gehen nicht. Alles andere schon. Dazu kommt, wenn ich zB DOS ausfache per cmd.exe (das klappt ja) und dort explorer.exe starte, passiert auch nix. Wenn ich aber normal per Start->Ausführen cmd mache, und dort per RunAs /user:... usw den explorer aufrufe, dann gehts...
Kann mir das einer erklären? Such ich hier den Fehler im AutoIT-Skript oder in Windows? Wäre cool wenn jemand nen heissen Tip hätte...
Gruß Mike