locked
Windows7のログオンについて・・・・ RRS feed

  • 質問

  • 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

すべての返信

  • スクリプトでログオンする目的がよく理解できませんでした。

    ログオンしてどういう状態になるのがゴールでしょうか?

     

    2011年12月27日 8:18
  • 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
  • 皆さん、色々すいません

    まず、windows7の起動時に二つのユーザをログイン状態にしたい

    1.(net useコマンドでネットワークドライブを接続したいユーザ用)

    net useコマンドは特定の時間に自動起動[設定済み]

    2.(通常のワークユーザ用)

    で、この2ユーザを常にログオン状態にしておきたい。

     

    よろしくお願いします。

     

     

    2012年1月11日 5:27
  • えっと、つまり、最初のスクリプトは、まったく関係がない、ということですね?

    それでは、「二つのユーザをログイン状態にしたい」とは、その結果どうなっていることを望みますか?ユーザーの一覧が出たときに、ユーザー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