トップ回答者
Windows7のログオンについて・・・・

質問
-
Windows7で特定ユーザでのログオンを自動化することはできますか?
たとえば、下記(n)に何かを追加すればできるとか・・・
Option Explicit
Dim objShut
Dim objOS
Dim objSystem
Set objShut = GetObject("winmgmts:{impersonationLevel = impersonate, (Shutdown)}")
Set objOS = objShut.InstancesOf("Win32_OperatingSystem")
For Each objSystem In objOS
objSystem.Win32Shutdown (n)
Next
皆さんよろしくお願いいたします。
2011年12月27日 2:19
回答
-
えっと、つまり、最初のスクリプトは、まったく関係がない、ということですね?
それでは、「二つのユーザをログイン状態にしたい」とは、その結果どうなっていることを望みますか?ユーザーの一覧が出たときに、ユーザー1,2とも「ログオン中」になること?そうしたいのはなぜですか?それであっても、ユーザーを切り替えるときにはパスワードを入力しなければなりませんよね?
「net useコマンドでネットワークドライブを接続したいユーザ用/net useコマンドは特定の時間に自動起動[設定済み]」ということですが、これは、タスクに登録などで出来ますよね。そうしている、ということだと思うのですが、このユーザーの用途は何ですか?「ユーザー2でログオンするが、ネットワーク共有フォルダーを別のユーザーで使いたい」ということなら、「特定の時間に自動起動」を「ユーザー1のログオン時」にすればいいように思います。
Windows のログオンは、winlogon.exe が担当しますが、こいつに引数などでユーザーをログオンさせる様なことは、検索しましたが見つかりませんでした(検索キーワード「winlogon.exe (引数 OR argument)」)。先にも書きましたが、この質問をするに至った理由は何ですか。それによって、「2つのアカウントをログオンしている状態にする」以外の方法で、最終的に達成したいことを達成できるかもしれません。
質問されるにあたり、ここで質問をされている内容以外に、達成したいことがあると思います。その達成したいことを成すために、「2つのアカウントをログオンしている状態にする」という事を思いつき、その方法を質問されているのではないでしょうか。その、達成したいことを書き添えて下さい。それによっては、今質問されている内容の方向が間違っているかもしれません。Windows 7 は、個人使用を目的とした OS です。複数の人が同時に接続して使用することを意図していません。その為に、「2つのアカウントをログオンしている状態に」したいということがナンセンスに思えます。
それとも、Windows 7 で公開している Web アプリケーションで共有フォルダーを使いたいが、Web アプリケーションから共有フォルダーにアクセス出来ない。調べてみると、ASP.NET を実行しているワーク プロセスのユーザー権限に問題があるらしい。このワーク プロセスがアクセス出来るようにしたい。ということでしょうか。
Jitta@わんくま同盟- 回答としてマーク asasrg 2015年1月15日 0:44
2012年1月17日 13:57
すべての返信
-
http://blog.goo.ne.jp/hiros-pc/e/193fd8fbcae2fbd60573fb5b93d98b19
http://support.microsoft.com/kb/324737/ja
などに書いてあるとおり、レジストリを設定すれば特定ユーザとしてログオンさせることはできますので、スクリプトからあらかじめ上記レジストリを設定した上で、再起動させればよいのではないでしょうか。
2011年12月27日 13:41 -
Chukiさんのご指摘もそうなのですが、このスクリプトは、何がしたいのでしょう?
「複数のユーザーがログオンしている環境でシャットダウンをしようとすると、「他のユーザーがログオン中です」というメッセージが出る。このメッセージを抑制したい。では、各ユーザーでログオフして回ろう」
という意図でしょうか。ああ、「特定のユーザー」だから、そういう意図ではないのか。では、必要なのはこちらの情報、シャットダウンのさせ方(wmifun.net)でしょうか?(「Win32_OperatingSystem」で検索、1頁目)
もしそうなら、この質問をするに至った理由、つまり「シャットダウンさせたいが、管理者権限のあるユーザーで実行しないとダメなようなので、こうすることで特定ユーザーでログオンし、実行できるのではないかと考えた」と書かれていれば、もっと短時間で解決できたと思います。
Jitta@わんくま同盟2012年1月4日 12:16 -
えっと、つまり、最初のスクリプトは、まったく関係がない、ということですね?
それでは、「二つのユーザをログイン状態にしたい」とは、その結果どうなっていることを望みますか?ユーザーの一覧が出たときに、ユーザー1,2とも「ログオン中」になること?そうしたいのはなぜですか?それであっても、ユーザーを切り替えるときにはパスワードを入力しなければなりませんよね?
「net useコマンドでネットワークドライブを接続したいユーザ用/net useコマンドは特定の時間に自動起動[設定済み]」ということですが、これは、タスクに登録などで出来ますよね。そうしている、ということだと思うのですが、このユーザーの用途は何ですか?「ユーザー2でログオンするが、ネットワーク共有フォルダーを別のユーザーで使いたい」ということなら、「特定の時間に自動起動」を「ユーザー1のログオン時」にすればいいように思います。
Windows のログオンは、winlogon.exe が担当しますが、こいつに引数などでユーザーをログオンさせる様なことは、検索しましたが見つかりませんでした(検索キーワード「winlogon.exe (引数 OR argument)」)。先にも書きましたが、この質問をするに至った理由は何ですか。それによって、「2つのアカウントをログオンしている状態にする」以外の方法で、最終的に達成したいことを達成できるかもしれません。
質問されるにあたり、ここで質問をされている内容以外に、達成したいことがあると思います。その達成したいことを成すために、「2つのアカウントをログオンしている状態にする」という事を思いつき、その方法を質問されているのではないでしょうか。その、達成したいことを書き添えて下さい。それによっては、今質問されている内容の方向が間違っているかもしれません。Windows 7 は、個人使用を目的とした OS です。複数の人が同時に接続して使用することを意図していません。その為に、「2つのアカウントをログオンしている状態に」したいということがナンセンスに思えます。
それとも、Windows 7 で公開している Web アプリケーションで共有フォルダーを使いたいが、Web アプリケーションから共有フォルダーにアクセス出来ない。調べてみると、ASP.NET を実行しているワーク プロセスのユーザー権限に問題があるらしい。このワーク プロセスがアクセス出来るようにしたい。ということでしょうか。
Jitta@わんくま同盟- 回答としてマーク asasrg 2015年1月15日 0:44
2012年1月17日 13:57