5 Replies Latest reply on Mar 16, 2009 3:00 AM by Ratzratz

    Kennwort bei Zuweisung übergeben

    Ratzratz Expert
      Hallo Zusammen,

      ich will bei der Paketzuweisung das Kennwort für den RunAs-Befehl als Installationsparameter vom Typ Kennwort übergeben.
      Leider löst der RunAs-Befehl keine Installationsparameter als Kennwort auf und die Ausführung als enteo Runtime Service nützt mir nichts.

      Wie übergebe ich dem RunAs-Befehl einen Installationparameter als Kennwort?

      Gruß
      M. Metzger
        • 1. Re: Kennwort bei Zuweisung übergeben
          Ratzratz Expert
          Hallo Zusammen,

          weiß echt keiner, wie man Installationsparameter vom String-Typ "Kennwort" mit RunAs oder einem anderen Befehl verwendet, mit dem man ein Programm unter einem ganz bestimmten Benutzerkonto starten kann.
          Ich kann mir eigentlich kaum eine andere Anwendungsmöglichkeit für Installationsparameter für Kennwörter vorstellen.


          Hintergrund ist folgender:
          Wir verwenden für unsere Benutzer ein stark eingeschränktes Benutzerprofil, das bei jeder neu aufgesetzten Maschine nach "C:\Dokumente und Einstellungen\Default User" reinkopiert wird.
          Dadurch zieht sich ein neuer Benutzer, der noch kein Profil hat, immer das eingeschränkte Profil, das von uns vorgegeben wird.

          Das Problem ist jedoch, daß der lokale Administrator bei der Erstanmeldung an so einer Maschine natürlich auch so ein beschränktes Profil zieht, das für administrative Aufgaben unbrauchbar ist.

          Bei unserem alten NetInstall 5.7 war das noch kein Problem, da der lokale Administrator per Autologon angemeldet wurde, um abschließende Installationsaufgaben durchzuführen. Dies erfolgte vor der Einrichtung des eingeschränkten Benutzerprofils, womit der lokale Administrator bei NI 5.7 noch das normale Profil ohne Beschränkungen gezogen hat.

          Bei enteo v6 wird jedoch alles per Service installiert, einschließlich des beschränkten Profils unter "C:\Dokumente und Einstellungen\Default User". Ein Autologon des lokalen Administrators erfolgt nicht mehr.

          Das hat zur Folge, daß man für Wartungsarbeiten, die man mit einem lokalen Admin durchführen muß (z.B. wenn kein Netzwerk verfügbar ist), bei der Erstanmeldung das beschränkte Profil bekommt, das für administrative Wartungsarbeiten unbrauchbar ist.

          Meine Lösung wäre gewesen, per "RunAs" mit der Einstellung "Anmeldung mit Profil" (siehe Anhang), dem lokalen Administrator gleich nach der Betriebssysteminstallation und noch bevor das beschränkte Profil ausgerollt wird in einem eScript-Paket das nicht beschränkte Standardprofil von XP zukommen zu lassen. Es wird dabei nur ein Alibi-Programm (hier "sleep 30") ausgeführt, damit der RunAs-Befehl zufrieden ist.

          Das funktioniert auch ganz gut nur hätte ich gerne für den Fall, daß die lokalen Administrator-Kennwörter mal geändert werden sollten, von der Möglichkeit Gebrauch gemacht, noch bei der Zuweisung einen Installationsparameter vom String-Typ "Kennwort" zu übergeben, sodaß das Paket, was Kennwortänderungen angeht, flexibel ist.
          Leider nimmt der RunAs-Befehl keine Installationsparameter. Man kann in das Kennwort-Feld offensichtlich das Kennwort nur manuell eingeben.

          Es gibt zwar andere Lösungen, wie z.B. RunAsP oder RunAsSPC. Die sind aber alle kostenpflichtig und wenn ich in enteo schon Installationsparameter extra für Kennwörter zur Verfügung habe, würde ich die auch gerne verwenden.

          Gruß
          M. Metzger
          • 2. Re: Kennwort bei Zuweisung übergeben
            ChristophSteckelberg Expert
            > Meine Lösung wäre gewesen, per "RunAs" mit der Einstellung "Anmeldung mit Profil"

            Das "Anmeldung mit Profil" funktioniert, wenn das Skript per Service ausgeführt wird (Sprich: Wenn kein User angemeldet ist) ? Ich glaube nicht.

            Warum erstellst Du keine spezielle NTUSER.DAT für den lokalen Administrator ohne die Restriktionen der gewöhnlichen Benutzer und verteilst diese nach c:\Dokumente und Einstellungen\Administrator - damit würde beim ersten Login des Administrators eben nicht die NTUSER.DAT aus dem Defaultuserprofil kopiert.
            • 3. Re: Kennwort bei Zuweisung übergeben
              Ratzratz Expert
              Hallo Christoph,

              das RunAs mit Laden des Profils computerbezogen per Service auszuführen funktioniert und das Profil wird auch sauber angelegt. Soweit ist alles i.O.

              Das mit der NTUSER.DAT habe ich mir auch schon überlegt. Das Problem ist jedoch, daß ich dann ja ein Projekt anlegen müsste, das erst anläuft, wenn so ein unbrauchbares Administrator-Profil bereits existiert. Ich kann ein Profil ja erst im Nachhinein verändern, nachdem es bereits angelegt wurde. Sei es durch manuelle Anmeldung, RunAs oder sonstwie.
              Ich müsste also ein Paket stricken, das per klientseitige Computervoraussetzung prüft (da weiß ich auch nicht, wie das gehen soll), ob ein beschränktes und somit unbrauchbares Administrator-Profil vorliegt, um dann hinterher eine neue NTUSER.DAT reinzukopieren oder das gleich per "CopyProfile.exe" (siehe http://support.microsoft.com/?kbid=305709) ein vorgefertigtes nicht beschränktes Profil nach "C:\Dokumente und Einstellungen\Administrator" kopiert.

              Diese Lösung wäre aber erstens unsauber und hätte zweitens das Problem, daß bei fast allen Rechnern, d.h. bei denjenigen Rechnern, an denen sich noch kein Admin lokal anmelden musste, in der eMMC das Paket ewig auf gelb stehen würde, da das unbrauchbare Administrator-Profil ja erst kommt, wenn sich ein Admin für Wartungsarbeiten lokal anmeldet, was bei den meisten Rechnern zum Glück nie notwendig ist.

              Ich habe jetzt ein kleines Freeware-Tool gefunden (cpau.exe, siehe „http://www.joeware.net/freetools“), mit dem ich im Gegensatz zum XP-eigenen runas das Kennwort übergeben kann. Der Befehl zum Anlegen des Profils heißt dann "cpau.exe -u Administrator -p %InstallationParameters.AdminKennwort_lokal% -ex ".\sleep 30" -profile -wait –hide", wobei "%InstallationParameters.AdminKennwort_lokal%" der bei der Zuweisung übergebene Installationsparameter mit dem Kennwort des lokalen Administrators ist.
              Leider gibt es hier zwei Wermutstropfen:
              1.) cpau.exe läuft nicht unter Vista und wird wohl dann auch nicht unter Windows 7 laufen, womit das Paket nicht sehr zukunftssicher ist.
              2.) Zumindest in der Logdatei "NISRV32_XX.LOG" taucht das verschlüsselt übergebene Kennwort in der cpau-Zeile im Klartext auf, was mir nicht so gefällt.
              Ich könnte zwar vor der Ausführung von cpau.exe per "LocalUserSetPassword" kurzfristig ein unkritisches Interimskennwort setzen, um das richtige Kennwort hinterher wieder zurückzusetzen, aber leider hat auch der LocalUserSetPassword-Befehl das gleiche Problem wie der RunAs-Befehl, nämlich daß kein Installationsparameter für das Kennwort übergeben werden kann. Ich wüsste jedenfalls nicht wie.

              Gruß
              M. Metzger
              • 4. Re: Kennwort bei Zuweisung übergeben
                Frank.Scholer Master
                Hallo Ratzratz,

                das Tool RUNASSPC (http://www.robotronic.de/runasspc/) läuft auch unter Vista. Kostet zwar ein paar Euro (aber wirklich nur ein paar) und wird wohl auch aktiv weiterentwickelt. Vielleicht isses ja ne Alternative für dich...

                HTH, Gruß Frank
                • 5. Re: Kennwort bei Zuweisung übergeben
                  Ratzratz Expert
                  Hallo Frank,

                  ich werde jetzt Runasspc verwenden.
                  Leider bekomme ich damit keine Fehlerstatus zurück (per ExecuteEx-Befehl).
                  Das bekomme ich aber auch noch gebacken.

                  Gruß
                  M. Metzger