2013-03-04 3 views
7

Windows Adminアカウントを使用して複数のローカルユーザーをスクリプトに自動的にログインさせようとしています。アイデアは、各ユーザーセッションで一連のアプリケーション(テスト)を実行することです。
現在、個々のユーザーアカウントごとにリモートログイン(RDC)することができます。これらのアカウントがほんのわずかであればこれで問題はありませんが、今では平均30個のマシンがあり、それぞれ平均6個のユーザーアカウントを持っていますので、それぞれにRDPするのは非常に時間がかかります。
代わりに、管理者としてログインして、グループ内のローカルユーザーやユーザーの一覧に自動的にログインするスクリプトを用意したいので、pstoolsを使用してアプリケーションを起動できますアプリケーションはデスクトップの対話を必要とするため、セッションが必要です)。
Windowsユーザーアカウントを使用して1人のユーザーに自動的にログインできることがわかりました。Windows自動複数ユーザーログインコマンドライン

誰かがコマンドラインで複数のアカウントにログインする方法を知っていますか、何とか自動的にですか?

+0

何か不明な点があります。「アプリケーションがデスクトップの操作を必要とする」と言えば、アプリケーションごとに手動で対話しなければならないということですか? – Poorkenny

+0

アプリケーション自体がユーザーセッションとやりとりします(スクリーンショットの取得、ユーザー固有のファイルの保存など)。デスクトップインタラクションの意味は、(runasコンテキストの代わりに)アプリケーションを実行するユーザーセッションが必要なことです。 – Farlan

+0

どのWindowsのフレーバーについて話していますか? XP? 7? 8?いずれにしても、私がこの作業を実行するために知っている唯一の手段は、Windowsの自動ログオンを使用することです。いくつかのユーザーをプログラムでログオン/ログオフする方法はわかりません。他の誰かがやっていれば、私も興味があります:) – Poorkenny

答えて

0

これは実際には不可能です。コマンドラインで複数のアカウントにログインすることはできません。 RDCは唯一実現可能な方法です。 auto it、WSH scripting、またはいくつかのマクロレコーダーのような他のオートメーションソフトウェアを使用して、複数のユーザーのRDCを自動化することができます。あなたの仕事で何らかの努力を解決するのに役立つかもしれません。

+0

どのようにしてこれらの自動化スクリプトを起動するかについてのアイデアはありますか?私は1人の自動ログオンユーザーを経由することができます。そのユーザーのプロファイル内の起動スクリプトによってはそれができますか?あなたがリストアップした技術に関するチュートリアルへのリンクはありますか?もう少し詳しく知っておいてください。 – inquisitive

0

runasを使用して新しいcmdを開きます。テストを開始したら、新しい資格情報を使用します。

+1

'runas' * * ed *プロセスは、別の資格情報で起動しますが、そのユーザーのデスクトップを取得することはありません。そのユーザーの起動スクリプトは起動しませんし、起動プロセスも実行されません。必要なのは、そのユーザをタスクマネージャの「ユーザ」タブにリストすることです。そのユーザーがリモートデスクトップコネクションからログインしているかのようにログアウトせずにRDウィンドウを閉じます。 – inquisitive

+0

彼の質問には、これらの要件は言及されていません、runasを使用してユーザーのプロファイルを読み込んで、スクリプトを実行できます。なぜ起動スクリプトが必要なのですか? –

+1

* ...アプリケーションには、実行するユーザーセッションが必要です。*セッションを設定するには、起動スクリプトを含むenvirornmentを設定する必要があります。テストの中にはスナップショットが必要なものもあります。その場合は専用のコンソールが必要です。 RUNASは共有コンソールを提供します。サービスはコンソールを提供しません。 :( – inquisitive

0

それはこのようにして、そのコマンドラインツールを使用してサードパーティ製のツールhttp://www.logonexpert.comによって行うことができます。

le.exe /ログオンuser1のPASS1ドメイン1

le.exe /ログオンuser2のパス2ドメイン1

1

Invoke-Commandを使用して、Powershellを備えたリモートコンピュータに対してコマンドを実行し、WinRMを有効にします。 Invoke-Commandは、Powershell以外のコマンドを実行することもできます。

# 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* 
} 

別々のジョブとしてそれらを実行する、または簡単にするために順番に実行するように-asJobパラメータを使用します。複数のコマンドを実行する必要がある場合は、リモートPSSessionを使用することも考えられます。繰り返し使用するために、暗号化された資格情報をファイルに保存することを研究します。

関連する問題