RunAs - Administrator - Netzlaufwerk - Domäne

  • Hallo zusammen,

    in der Überschrift habe ich mal versucht, alles was mir Kopfschmerzen bereitet in einer Zeile zusammenzufassen ;) .
    Auf einem Netzlaufwerk möchte ich ein Programm bereitstellen, welches zur Installation Administratorrechte benötigt.
    Wenn ich dieses Programm installieren will, gehe ich gewöhnlich wie folgt vor:


    1. Rechtsklick auf das Programm - Als Administrator ausführen.

    2. Dialog Benutzerkontensteuerung (Geben Sie eine Administratorkennwort ein, und klicken Sie auf "Ja", um den Vorgang fortzusetzen.)
    Benutzername: computername\Admin
    Kennwort: lokalAdminPW
    (Domäne: computername)

    3. Dialog: Windows Sicherheit (Netztwerkkennwort eingeben)
    Benutzername: domainusername
    Kennwort: meinPW
    (Domäne: meineDomänexyz)

    Habe ich mich nicht vertippt, dann startet die Installation.


    Diesen Prozess möchte ich gerne automatisieren.
    Wenn ich das Programm lokal auf dem Rechner speicher, dann kann ich mit diesem Skript die Intallation starten:

    [autoit]

    Local $sUserName = "Admin"
    Local $sPassword = "xxx"
    Local $sProgramm = "C:\Aktuell\MeinProgramm.exe"

    [/autoit][autoit][/autoit][autoit]

    RunAs($sUserName, @ComputerName, $sPassword, 0, $sProgramm)

    [/autoit]

    Auf dem Netzlaufwerk funktioniert das nicht mehr, was mich aber nicht besonders überrascht .
    Ich vermute mal, dass ich irgendwie noch Domainuser + Kennwort eingeben muss.
    Da ich aber nur Maschinenbau Ing. bin (also Schraube M16) bin ich überfragt, was ich nun tun muss und bitte Euch um Hilfe :) .

    MfG
    radikalinski

  • Ganz einfache Geschichte und ein Fehler der immer wieder gemacht wird !

    Das Netzlaufwerk ist 'userbezogen' ! Wenn Du also etwas mit RunAs als jemand anders startest, hat dieser andere User das Netzlaufwerk nicht !

    Eine Lösung wäre: den UNC-Pfad [ggf. vor dem RunAs() mit DriveMapGet() ermitteln] verwenden.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (14. Mai 2013 um 23:27)

  • Danke für die Antwort, aber das ist es noch nicht. Vieleicht drücke ich mich auch nur falsch aus.

    Unser Firmennetz ist/hat ein ActiveDirectory (ich glaube, das heist so).
    Alle im AD angemeldeten Benutzer haben Zugang zu bestimmten Resourcen im Netzwerk.
    (btw, Großkonzern, weltweites Netz, warscheinlich ca. 200.000 Rechner)

    Das Proramm, welches ich starten will, liegt auf einem Netzwerklaufwerk auf die eine Gruppe von Benutzern (der auch ich angehöre) Zugriff hat.
    Wenn ich dieses Laufwerk verbinden will, verwende ich meinen Domain-Account + Domain-PW.
    Mein DomainAcc hat keine Administratorrechte, das Programm benötigt aber Administratorrechte zur Installation. Deshalb kommt bei Doppelklick auf das Programm auch der Dialog "Benutzerkontensteuerung" (siehe 2.)

    Wie gesagt, wenn ich das Programm lokal auf die Festplatte kopiere kann ich es mit einem lokalen AdministratorAcc installieren - nur aus dem Netz heraus funktioniert das nicht.

    UNC-Pfad habe ich probiert, das ist aber der falsche Ansatz.

    [autoit]


    Local $sUserName = "Administrator"
    Local $sPassword = "xxx"
    Local $sProgramm = "grossefirma.xyz\abc\a-b\fg\123456\groups\Abteilung\Application\Tools\test\Programm.exe"

    [/autoit][autoit][/autoit][autoit]

    RunAs($sUserName, @ComputerName, $sPassword, 0, $sProgramm)

    [/autoit]

    Aus das hier funktioniert nicht:

    [autoit]


    Local $sUserName = "meinDomainName"
    Local $sPassword = "DomainPW"
    Local $sProgramm = "grossefirma.xyz\abc\a-b\fg\123456\groups\Abteilung\Application\Tools\test\Programm.exe"

    [/autoit][autoit][/autoit][autoit]

    RunAs($sUserName, @ComputerName, $sPassword, 0, $sProgramm)

    [/autoit]

    Hat jemand hier Erfahrung mit grossen Firmennetzen und kann vieleicht weiterhelfen ?

    MfG
    radikalinski

  • verstehe ich nicht so ganz...was hat das denn mit der größe der firma zu tun?

    kommt denn der User, der das Script ausführ an die Datei? z.B. per unc pfad?

    wenn nein, brauch er dort berechtigungen...
    (netzlaufwerk mit anderm user verbinden ihhhhh)

  • Wenn Du aber das Programm mit RunAs() starten willst und auf den Ordner/die Freigabe diverse Domänen-User zugreifen dürfen, dann muss Du auch einen Domänen-User bei RunAs() nutzen.

    Zweiter Parameter nicht '@ComputerName' sondern 'Domain.suffix'.

    Dein Beispiel authentifiziert den lokalen 'Administrator' und der hat normalerweise in der Domäne keine besonderen Rechte.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • hmm also wenn der benutzer zugriff auf die freigabe hat, dann ist es der freigabe egal mit welchem user das programm ausgeführt wird!

    sonst würde ja uac auch nicht funktionieren, wenn ich ein Programm in einer freigabe mit "als administrator starten" ausführe...

  • sonst würde ja uac auch nicht funktionieren, wenn ich ein Programm in einer freigabe mit "als administrator starten" ausführe...

    Ich meine mit meiner Aussage nicht die UAC, sondern den AutoIt-RunAs-Befehl. Für den gilt das nicht !

    Der übergebene User, egal ob Domäne oder Lokal, muss die Berechtigung für die Freigabe haben und falls ein Netzlaufwerk verwendet wird, muss die Pfadangabe durch den UNC-Pfad ersetzt werden.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • hmm
    um dies zu klären müsste man mal ein programm mittels runas starten, wo der user keine zugriff auf die eigentliche Freigabe hat.

    danach das ganze andersrum:
    user hat zugriff auf freigabe, der runas-user nicht

  • Ich möchte allen für die Antworten danken, aber aus Zeitgründen muss ich hier wohl aufgeben.
    Ich verstehe von der Sache nicht genug, um mich hier verständlich auszudrücken.

    Vielen Dank nochmal für Eure Bemühungen,

    radikalinski