1

Windows 2003を使用して、現在のログオフを続行し、すぐに別のユーザーにログインする「ログオフスクリプト」を作成する方法を探しています。したがって、「UserA」はログオフします。「UserB」にログインするためにスクリプトが起動します。

これは、「シェル」を記述したコンピューターのアプリケーションアップグレードの一部です。キオスクアプリケーションに似ています。アップグレードの場合、「Adminstrator」としてログオンする必要があります。アップグレードが完了したら、「Administrator」からログオフし、「sample_user」としてログオンします。再起動せずにこれを実現したいと思います。

ログオフ(つまり「シャットダウン」)を開始するスクリプトは必要ないことに注意してください。ユーザーがログオフしたときに実行されるスクリプトを探しています(グループポリシーで設定)。上記のように、スクリプトは別のユーザーをログオンさせる必要があります。

ありがとう。

4

8 に答える 8

6

述べられた方法でそれが可能であるとは思わないでください(ログオフ時のスクリプト)。

指定されたアカウントとして自動的にログオンするようにマシンを設定してからログオフする必要があります(自動的にログオンするようにします)。その後、一時的なログオンスクリプトを配置して、その機能を再度無効にする必要があります...一般的に厄介に聞こえます。

実際の設定は、Microsofts Shared Computer Toolkitなどのツールを使用して行うことができます(手動ログアウト時に「通常の」レジストリ自動ログインがどのように動作するかはわかりませんが、XPキオスクを使用すると、次の場合でも即座に自動的にログオンできます。手動でログアウトしました-ログインを手動で再度指定できるようにするには、shift + logoffなどのキーを使用してオーバーライドする必要がありました。これにより、何らかの方法でログインを行うことができます)。

「最も簡単な」方法は、msgina.dllを自分で作成したものに置き換えることかもしれません...

しかし、なぜあなたはこれをしているのですか?runasを使用して、コンソールユーザーからログオフせずに、他のユーザーとして必要なことをすべて開始します。結局のところ、マルチユーザーシステムですか?デスクトップはただの綿毛です^^

これには、スクリプトでユーザークレデンシャルが使用可能である必要があります。これにより、アカウントのセキュリティが侵害されるため、スクリプトが冗長になります。つまり、アカウントが存在する目的に関係なく、そもそも2番目のアカウントを持つという目的に反しますか?

于 2009-02-03T19:24:44.707 に答える
4

必要なユーザーで自動ログオンするようにレジストリを設定してから、単に管理者ユーザーをログオフしてみます。これにより、キオスクユーザーがすぐにログオンできるようになります。

于 2009-02-07T03:21:34.863 に答える
1

現在のユーザーがログオフした後に別のユーザーにログインする方法がわからない (Windows で許可されるかどうかわからない...)

ただし、 shutdown を使用してログオフできます。

shutdown /?
于 2009-01-20T19:28:11.757 に答える
1

おそらく「安いハック」のカテゴリに分類されるいくつかのアイデアを次に示します。

最初に UserB でログインしてから、 を使用runas /user:userA <cmd>してインストール プロセスの最初の部分を実行するのはどうですか?

それが受け入れられない場合は、Windows ワークステーション (ドメインの一部ではないもの) を再起動後に特定のユーザー アカウントに自動的にログインさせる方法があることを知っています。おそらく、どのレジストリの変更が発生したかを調べて複製した場合、再起動するとそのユーザーが自動的にログインします。(もちろん、最終段階として、userB がログインした後、これらの変更を元に戻す必要があります :-)

また、開いている「ログイン画面」を強制的に特定のユーザーとしてログインさせる方法がサービスにあるのではないかと思います。リモートデスクトップがリモートで行う方法のような方法を使用する可能性があります...可能であれば、userAのログオフ前にインストールするサービスを作成して、userBのログインをトリガーすることができます。

于 2009-02-04T18:04:42.527 に答える
1

VNC を使用してスクリプトを作成できます (多くの無料バージョンがあります。好きなものを選んでください)。ローカルホストでリッスンするようにマシンに VNC サーバー プロセスをセットアップします。ユーザーがログオフすると、ログオフ スクリプトが VNC を使用してマシンに接続し、次のユーザーのログオンに必要なキーストロークを送信します。VNC は RFB (リモート フレームバッファ) プロトコルを使用します。ほとんどの一般的な言語用のライブラリがあるため、何かをすぐに機能させることができるはずです。または、役立つ関連ツールあります。

于 2009-02-05T18:53:20.413 に答える
0

リモートコントロールユーティリティ(VNCなど)を構築するという観点からこれに取り組むことができます。ここで重要なのは、ログオン画面(つまり、CTRL + ALT + DEL /ユーザー名/パスワード)の部分にアクセスしたい場合、唯一のキッカーは、Windowsサービスがこれにアクセスできる唯一のコンポーネントであるということです。作成する必要があります。

このテクニック全体で私が目にする唯一の問題は、それを機能させるために多大な労力を費やしたとしても(そしてそれはかなり大きな努力になるでしょう)、管理者として再度ログオンしたときに問題が発生する可能性があるため、ログオフスクリプト(つまり、シャットダウン中)は低くなります。

管理者として実行する必要があるものについては、Windowsでそれを実現するためのより簡単な方法があることを覚えておいてください(実行、更新が必要なアイテムのユーザー権限の変更など)。

于 2009-02-09T22:20:59.883 に答える
0

Windows 2003 サーバーや、私の直感をテストするための「グループ ポリシー」が設定されたシステムはありませんが、Windows の SU (「ユーザーの切り替え」) を見ることができます。元々はリソース ツールキットの一部でしたが、これは新しいSUperior SUに拡張されました。これが機能する場合は、結果/スクリプトを投稿してください。

于 2009-02-08T14:52:46.933 に答える
0

このようなものを特定の言語で通常のスクリプトとして実行した場合、アカウントからログアウトすると、実行中のスクリプトとともにすべてのプロセスが強制終了されるため、おそらく機能しません。

このユーザー切り替えを自動的に行うサービス アカウント (つまり、常にアクティブ) で実行されるある種の「サービス」を作成できる場合があります。

私は Windows Powershell に賭けていますが、実際にサービスを作成する限り、Windows Powershell がどのような機能を持っているかは完全にはわかりません。

クイック検索すると次のように表示されます (2 番目のリンクはフォーラムへのリンクですが、Powershell をサービスとして実行し、そのサービスにユーザー切り替えスクリプトへのパスとなるパラメーターを送信することが記載されています)

Powershell を使用して Windows サービスを作成する方法

Windows サービスとしての Powershell スクリプト

于 2009-02-03T21:00:02.207 に答える