Windows 7 - Installations Batch - Rechteproblem
Hallo,
ich habe meine Installationsscripte für Windows XP auf Windows 7 angepasst. Da habe ich aber nun kleinere Probleme.
Ersteinmal zum Aufbau:
Es gibt eine Main.bat. Diese ruft verschiedene andere Batch Scripte auf -> Pre.bat, Install.bat und Config.bat
Alle diese Batch Dateien rufen dann wiederum per UNC Pfad Setup´s im Netzwerk auf.
Mein Problem ist nun -> wenn ich die Main.bat mit Adminrechten starte, so laufen dann die "Unterscripte" nicht mehr mit Adminrechten.
Also habe ich gegoogelt und die Möglichkeit gefunden die "Unterscripte" mittels folgendem Befehlt aufzurufen:
runas /env /user:admin@XXXX.local ConfigSEVEN.bat
Anschließend bekomme ich folgenden Fehler
Es wird versucht, ConfigSEVEN.bat als Benutzer "admin@XXXX" zu starten...
RUNAS-FEHLER: ConfigSEVEN.bat kann nicht ausgeführt werden
267: Der Verzeichnisname ist ungültig.
Die Datei liegt neben der Main.bat. Hätte es auch schon mit dem vollem UNC Pfad probiert. Immer das selbe.
Jetzt bin ich etwas ratlos. Was kann denn da noch am Pfad falsch sein? Der Dateiname ist richtig.
Gruß
Update
Ich habe als Anhang ein Bild von meinem Explorer hinzugefügt.
Das MainScript sieht wie folgt aus (is nur ein Ausschnitt)
echo Starte "Pre-Script"
echo.
rem call Pre.bat
rem Nachsehen, welcher Laufwerksbuchstabe noch frei ist
FOR %%a IN (O V W N) DO (
IF NOT EXIST %%a: SET MAPPING=%%a
)
echo Mappe Temporaeres Laufwerk %MAPPING%
NET USE %MAPPING%: \\fs01\bez$\Software\UnattendedWorkstationInstallation\Scripts
echo.
rem Unterscheidung der OS-Versionen
call :FncWinVer -e ":5.1:::" && goto CONFIG_XP
call :FncWinVer -e ":6.1:::" && goto CONFIG_SEVEN
:CONFIG_SEVEN
echo Starte "Windows 7 Config-Script"
echo runas /env /user:admin@laumer %MAPPING%:\ConfigSEVEN.bat
echo.
runas /env /user:admin@XXXX %MAPPING%:\ConfigSEVEN.bat
goto INSTALL
:CONFIG_XP
echo Starte "Windows XP Config-Script"
echo.
rem call ConfigXP.bat
goto INSTALL
:INSTALL
echo Starte "Install-Script"
echo.
rem call Install.bat
echo Entferne Temporaeres Laufwerk %MAPPING%
NET USE %MAPPING%: /delete
echo.
echo Script Abgeschlossen
pause
Als Ausgabe bekomme ich folgendes:
Mit Return starten Sie das Script
Drücken Sie eine beliebige Taste . . .
Starte "Pre-Script"
Mappe Temporaeres Laufwerk N
Der Befehl wurde erfolgreich ausgeführt.
Starte "Windows 7 Config-Script"
runas /env /user:admin@laumer N:\ConfigSEVEN.bat
Geben Sie das Kennwort für "admin@XXXX" ein:
Es wird versucht, N:\ConfigSEVEN.bat als Benutzer "admin@laumer" zu starten...
RUNAS-FEHLER: N:\ConfigSEVEN.bat kann nicht ausgeführt werden
267: Der Verzeichnisname ist ungültig.
Starte "Install-Script"
Entferne Temporaeres Laufwerk N
N: wurde erfolgreich gelöscht.
Script Abgeschlossen
Drücken Sie eine beliebige Taste . . .
ich habe meine Installationsscripte für Windows XP auf Windows 7 angepasst. Da habe ich aber nun kleinere Probleme.
Ersteinmal zum Aufbau:
Es gibt eine Main.bat. Diese ruft verschiedene andere Batch Scripte auf -> Pre.bat, Install.bat und Config.bat
Alle diese Batch Dateien rufen dann wiederum per UNC Pfad Setup´s im Netzwerk auf.
Mein Problem ist nun -> wenn ich die Main.bat mit Adminrechten starte, so laufen dann die "Unterscripte" nicht mehr mit Adminrechten.
Also habe ich gegoogelt und die Möglichkeit gefunden die "Unterscripte" mittels folgendem Befehlt aufzurufen:
runas /env /user:admin@XXXX.local ConfigSEVEN.bat
Anschließend bekomme ich folgenden Fehler
Es wird versucht, ConfigSEVEN.bat als Benutzer "admin@XXXX" zu starten...
RUNAS-FEHLER: ConfigSEVEN.bat kann nicht ausgeführt werden
267: Der Verzeichnisname ist ungültig.
Die Datei liegt neben der Main.bat. Hätte es auch schon mit dem vollem UNC Pfad probiert. Immer das selbe.
Jetzt bin ich etwas ratlos. Was kann denn da noch am Pfad falsch sein? Der Dateiname ist richtig.
Gruß
Update
Ich habe als Anhang ein Bild von meinem Explorer hinzugefügt.
Das MainScript sieht wie folgt aus (is nur ein Ausschnitt)
echo Starte "Pre-Script"
echo.
rem call Pre.bat
rem Nachsehen, welcher Laufwerksbuchstabe noch frei ist
FOR %%a IN (O V W N) DO (
IF NOT EXIST %%a: SET MAPPING=%%a
)
echo Mappe Temporaeres Laufwerk %MAPPING%
NET USE %MAPPING%: \\fs01\bez$\Software\UnattendedWorkstationInstallation\Scripts
echo.
rem Unterscheidung der OS-Versionen
call :FncWinVer -e ":5.1:::" && goto CONFIG_XP
call :FncWinVer -e ":6.1:::" && goto CONFIG_SEVEN
:CONFIG_SEVEN
echo Starte "Windows 7 Config-Script"
echo runas /env /user:admin@laumer %MAPPING%:\ConfigSEVEN.bat
echo.
runas /env /user:admin@XXXX %MAPPING%:\ConfigSEVEN.bat
goto INSTALL
:CONFIG_XP
echo Starte "Windows XP Config-Script"
echo.
rem call ConfigXP.bat
goto INSTALL
:INSTALL
echo Starte "Install-Script"
echo.
rem call Install.bat
echo Entferne Temporaeres Laufwerk %MAPPING%
NET USE %MAPPING%: /delete
echo.
echo Script Abgeschlossen
pause
Als Ausgabe bekomme ich folgendes:
Mit Return starten Sie das Script
Drücken Sie eine beliebige Taste . . .
Starte "Pre-Script"
Mappe Temporaeres Laufwerk N
Der Befehl wurde erfolgreich ausgeführt.
Starte "Windows 7 Config-Script"
runas /env /user:admin@laumer N:\ConfigSEVEN.bat
Geben Sie das Kennwort für "admin@XXXX" ein:
Es wird versucht, N:\ConfigSEVEN.bat als Benutzer "admin@laumer" zu starten...
RUNAS-FEHLER: N:\ConfigSEVEN.bat kann nicht ausgeführt werden
267: Der Verzeichnisname ist ungültig.
Starte "Install-Script"
Entferne Temporaeres Laufwerk N
N: wurde erfolgreich gelöscht.
Script Abgeschlossen
Drücken Sie eine beliebige Taste . . .
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 164884
Url: https://administrator.de/contentid/164884
Ausgedruckt am: 26.11.2024 um 00:11 Uhr
4 Kommentare
Neuester Kommentar
Hi,
wenn du deine BAT als Administrator ausführst, ist C:\windows\system32 dein lokales Arbeitsverzeichnis, da findet er deine ConfigSEVEN.bat dann nicht.
Variante1: Du führst deine erste BAT ganz normal ohne Adminrechte aus, da du dir ja eh für die ConfigSEVEN.bat Adminrechte verschaffst.
Variante2: Du musst den kompletten Pfad zur ConfigSEVEN angebe.
Wenn es mit den UNC Pfaden nicht klappt, map dir vorher per net use das Verzichnis in dem die ConfigSeven liegt und startes es darüber.
Gruß
wenn du deine BAT als Administrator ausführst, ist C:\windows\system32 dein lokales Arbeitsverzeichnis, da findet er deine ConfigSEVEN.bat dann nicht.
Variante1: Du führst deine erste BAT ganz normal ohne Adminrechte aus, da du dir ja eh für die ConfigSEVEN.bat Adminrechte verschaffst.
Variante2: Du musst den kompletten Pfad zur ConfigSEVEN angebe.
Wenn es mit den UNC Pfaden nicht klappt, map dir vorher per net use das Verzichnis in dem die ConfigSeven liegt und startes es darüber.
Gruß
Moin,
rufe die Konsole mit "Als Administrator ausführen" auf und starte deine Batch darin.
Gruß
rufe die Konsole mit "Als Administrator ausführen" auf und starte deine Batch darin.
Gruß
Guten morgen,
schreib mal einfach in dein Skript : dir n:
Nur um zu sehen ob LW N: auch verfügbar ist. Es könnte sein dass LW N: nur in deinem Benutzer gemappt ist und als Admin nicht existiert.
Hat du schonmal probiert die ganzen bat einfach lokal nach C:\Temp oder Ähnliches zu kopieren und dort aufzurufen?
Gruß
schreib mal einfach in dein Skript : dir n:
Nur um zu sehen ob LW N: auch verfügbar ist. Es könnte sein dass LW N: nur in deinem Benutzer gemappt ist und als Admin nicht existiert.
Hat du schonmal probiert die ganzen bat einfach lokal nach C:\Temp oder Ähnliches zu kopieren und dort aufzurufen?
Gruß