2013-03-04 7 views
7

Ich versuche, ein Windows-Admin-Konto automatisch anmelden mehrere lokale Benutzer auf einem Skript. Die Idee besteht darin, in jeder Benutzersitzung eine Reihe von Anwendungen (Tests) auszuführen.
Momentan kann ich dies tun, indem ich mich remote (RDC) an jedem einzelnen Benutzerkonto anmelde. Dies wäre in Ordnung, wenn es nur ein paar dieser Konten gäbe, aber jetzt habe ich mehr als 30 Maschinen mit durchschnittlich 6 Benutzerkonten, so dass RDP zu jedem sehr zeitaufwendig ist.
Stattdessen möchte ich in der Lage sein, mich als Administrator anzumelden, und habe eine Art Skript, um sich automatisch bei den lokalen Benutzern einer Gruppe oder nur einer Liste von Benutzern anzumelden, damit ich die Anwendungen mit pstools starten kann Anwendungen erfordern Desktop-Interaktion, so dass eine Sitzung erforderlich ist).
Ich habe festgestellt, dass Sie nur einen Benutzer automatisch über Windows-Benutzerkonten anmelden können.Windows Automatic Mehrere Benutzer Login-Befehlszeile

Kennt jemand eine Möglichkeit, mehrere Konten über die Befehlszeile oder automatisch irgendwie anmelden?

+0

Etwas ist etwas unklar: Wenn Sie sagen, dass die Anwendungen Desktop-Interaktion erfordern, meinen Sie, dass Sie mit jeder Anwendung manuell interagieren müssen? – Poorkenny

+0

Die Anwendung selbst interagiert mit der Benutzersitzung (Erstellen von Screenshots, Speichern benutzerspezifischer Dateien usw.). Was ich mit Desktop-Interaktionen meinte, ist, dass die Anwendung eine Benutzersitzung benötigt, um (statt des/runas-Kontextes) zu laufen. – Farlan

+0

Über welchen Geschmack von Windows reden wir? XP? 7? 8? In jedem Fall wäre das einzige Mittel, das ich kenne, um diese Aufgabe auszuführen, die Verwendung von Windows Autologon. Ich kenne keine Möglichkeit programmgesteuert mehrere Benutzer in einer Zeile anzumelden/abzumelden. Wenn jemand anderes es tut, bin ich auch interessiert :) – Poorkenny

Antwort

0

Dies ist eigentlich nicht möglich, Sie können sich nicht in mehreren Konten in der Befehlszeile anmelden. RDC ist der einzig gangbare Weg. Möglicherweise können Sie die RDC für mehrere Benutzer automatisieren mit anderen Automatisierungs-Software wie Auto-it, WSH-Skripting oder einige Makro-Recorder. Dies könnte helfen, einige Anstrengungen in Ihrer Arbeit zu lösen.

+0

danke. Irgendwelche Ideen, wie oder wo diese Automatisierungsskripte zu starten sind? Ich kann einen Benutzer mit automatischer Anmeldung durchgehen. Kann ein Startskript im Profil dieses Benutzers das tun? einen Link zu Tutorials zu den von Ihnen aufgeführten Technologien? ein wenig mehr Einblick bitte ... – inquisitive

0

Verwenden Sie runas, um neue cmd zu öffnen. Nachdem Sie Ihren Test gestartet haben, werden sie Ihre neuen Anmeldeinformationen verwenden.

+1

der 'runas' * ed * Prozess wird mit einer anderen Anmeldeinformationen starten, wird aber nicht den Desktop dieses Benutzers. Weder die Startskripte dieses Benutzers werden ausgelöst, noch werden die Startprozesse ausgeführt. Es ist erforderlich, diesen Benutzer im Task-Manager auf der Registerkarte "Benutzer" aufzuführen. als ob dieser Benutzer sich von einer Remotedesktopverbindung aus angemeldet und das RD-Fenster geschlossen hat, ohne sich abzumelden. – inquisitive

+0

Seine Frage erwähnt diese Anforderungen nicht, Sie können das Profil des Benutzers mit runas laden und Ihre Skripte ausführen. Warum brauchen Sie Startskripte? –

+1

* ... Anwendung benötigt eine Benutzersitzung zum Ausführen ... * Und das Einrichten einer Sitzung umfasst das Einrichten der Umgebung, die wiederum Startskripten enthält. Einige der Tests benötigen möglicherweise Snapshots. In diesem Fall ist wiederum eine dedizierte Konsole erforderlich. RUNAS bietet eine gemeinsame Konsole. Dienste bieten keine Konsole. :( – inquisitive

0

Es kann von 3rd-Party-Tool http://www.logonexpert.com über seine Kommandozeilen-Tool, in einer solchen Art und Weise erfolgen:

le.exe/logon benutzer1 pass1 domain1

le.exe/logon benutzer2 pass2 domain1

1

Verwenden Sie Invoke-Command, um Befehle für einen Remotecomputer auszuführen, der ebenfalls über Powershell verfügt und WinRM aktiviert ist. Invoke-Command kann auch Nicht-Powershell-Befehle ausführen.

# users stored in csv with "username, password" format 
foreach ($user in $userlist) { 
    Invoke-Command "runas /profile /credentials $creds /user:$user.username /password:$user.password *executable* 
} 

Verwenden Sie den -asJob Parameter als separate Aufträge auszuführen, oder sie in Folge der Einfachheit halber laufen. Remote-PSSessions sind eine weitere Möglichkeit, zu überlegen, ob Sie mehrere Befehle ausführen müssen. Recherchieren Sie die Anmeldeinformationen verschlüsselt in einer Datei für die wiederholte Verwendung.