VBでWindows2000の再起動方法について

このQ&Aのポイント
  • Windows2000をVBから再起動する方法についての質問です。ExitWindowsEx() APIを呼び出しても反応がなく、ログアウトはできるがリブートはできない状況です。
  • ログインユーザーにはAdministratorの権限が与えられています。MSDNには「SE_SHUTDOWN_NAME 特権をもつプロセス」という記述がありますが、具体的な意味がわかりません。
  • Windows2000をVBで再起動する方法について、反応がなくリブートができない状況です。ログインユーザーはAdministratorの権限を持っており、MSDNの「SE_SHUTDOWN_NAME 特権をもつプロセス」という記述の意味がわかりません。
回答を見る
  • ベストアンサー

VBでWindows2000の再起動について

VBからWindows2000 を再起動したいのですが、 ExitWindowsEx() APIを呼び出しても、反応がありません。 Call ExitWindowsEx(1,0) 'ログアウト なら、ログアウトできるのですが、 Call ExitWindowsEx(2,0) 'リブート としても、反応がありません。 OSにログインしているユーザは、Administratorの権限は 与えています。 MSDNでは、NTの場合は SE_SHUTDOWN_NAME 特権をもつ プロセスうんぬん…とあるのですが、この意味がよく分りません。 ご存知のかたいらっしゃいましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

アクセストークンの設定が必要です。 http://www.vbvbvb.com/jp/gtips/index0501.html の508から512にサンプルがあります。

awakiro
質問者

お礼

ありがとうございます。 早速URL見させていただきました。 これで解決できそうです。 (Win2000だと、思ったより面倒なんですね…)

関連するQ&A

  • NTをAPI関数でシャットダウンすると再起動してしまう

    NTをVBにてAPI関数の ExitWindowsEx(EWX_POWEROFF, 0) でシャットダウンし、電源まで落としたいのですが 再起動してしまいます。 2台のマシンで試しているのですが、 1台は思い通りシャットダウンしますが、 もう1台は上記の症状になってしまいます。 OS又は、BIOSの設定等が必要なのでしょうか

  • 権限=プロセスを実行したユーザー?

    権限=プロセスを実行したユーザー? ウィンドウズNTのセキュリティについて調べています。 権限という言葉がよくでてきますが、それはつまりそのプロセスを起動したユーザーということですか? そして特権についてですが、特権はシステム関連の操作を行う権利で、特権によってはデフォルトでオフになっているものもある、という考えであっているでしょうか。 そして、「そもそも権限が足りないから特権をONにできない」という様な記述をみたのですが、ということは、権限によって持っている特権が決まるということですよね? またこの権限は昇格させられますか? という事で、質問したい点は ・権限とは? ・特権のON、OFFについて ・特権と権限の関係 ・権限は昇格させられるか? の4つです。 どれか1つでもので回答よろしくお願いします。

  • ActiveBasic ExitWindowsExを使いたい

    ActiveBasic 4.23.00を使ってプログラムを書いています。 電源を自動的に落としてくれるタイマーを作っているのですが、 ExitWindowsEx関数と言うものを見つけ、早速使ってみました。 しかし、ログオフ以外の機能が使えません。 なぜかと思い、検索したところ、shutdownの権限みたいなのを取得しないといけないようなのですが、VBスクリプトで書いてあって、よく分かりません。 参考にさせていただいたサイトは、 http://mt-soft.sakura.ne.jp/web_dl/vb-parts/poweroff/ です。 どのようにして、アクセス権を取得すればいいのでしょうか。 すみませんがご教授ください。 サンプルコードなどもいただけたら嬉しいです。 よろしくお願いします。

  • システムの復元

    OS:XP Pro PC:LaVie LL500/1 アクセサリの中にあるシステムツールからシステムの復元をしようとすると システムを復元するのに十分なセキュリティ特権がありません。管理者に連絡するか、ログアウトしてから管理者としてログオンして再実行してください。 というエラーが出てシステムの復元ができません。Administrator権限を与えたユーザーでもAdministratorとしてログオンしても同じエラーが出てしまいます。何か分かる方がいたら教えてください。 よろしくお願いします。

  • VB.NET DLL【API関数(コールバック関数)】の呼び出し方法について

    目的は下記(3)のAPI関数をVB.NETで呼び出したいのですが、そこにいきつくまでにいろいろと壁にぶちあたっております。 (1)API関数をVB.NETから利用するにあたって どのような手順および調査・学習すればVB.NETからWin32 APIを独力で呼び出せるようになるのでしょうか?ネット上に情報が乏しく、いきずまっております。 (2)API関数の調査方法、またコールバック関数について 下記(a),(b)のようにWin32 API関数を宣言して、あとは呼び出し側の関数で(a),(b)で宣言したAPI関数を記述するだけで基本的には使用できるようになるという大まかなイメージはつかめております。 このあとでAPI関数をMSDNで調べると引数がHWNDやPCTSTRなど見慣れないものが出てきて、次のURL(http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html)を見ると、APIの型とVB.NETの型は違うので型変換をしなければならないとあります。またさらに私が呼び出したい関数はコールバック関数なるものでこれまた?な状態です。 そこでAPIとVB.NETの型変換の調査方法およびコールバック関数の利用方法などを教えていただけないでしょうか? (a)DllImport属性を利用する方法 <System.Runtime.InteropServices.DllImport("DLL名")> _ Function API関数名(仮引数) End Function (b)Declareステートメントを利用する方法 Declare Function API関数名 Lib "DLL名" (仮引数) (3)InstallHinfSection関数(http://msdn2.microsoft.com/en-us/library/aa376957.aspx)について 下記のコードを実行したのですが、実行時エラーにはならないのですが、APIの関数が動作してくれません。どこが悪いのかがまったく見当がつかないのですがどなたかアドバイスいただけると助かります。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click InstallHinfSection(Nothing, Nothing, "DefaultInstall 132 C:\INF_TEST\Original.inf", 0) End Sub   Declare Function InstallHinfSection Lib "setupapi" Alias "InstallHinfSection" (ByVal hwnd As String, ByVal ModuleHandle As String, ByVal CmdLineBuffer As String, ByVal nCmdShow As Integer) As Long APIが難しすぎていろいろとおかしなことを書いているかもしれませんが、どうぞよろしくお願いいたします。

  • Windowsのタスクにあるアプリケーション切断方法

    いつもお世話になります。 現在、クライアント側で独自のツールを使用して処理命令を発行し、サーバ側でその処理を実行します。 今問題になっているのが、そのツールのアプリケーションが処理を終了してもサーバのWindowsのタスク上にゴミ(?)として残りっぱなしというものです。 そこで、PGにてWindowsのタスクにある固定のアプリケーションを切断したいのですが、それは可能なのでしょうか? また、クライアント側はAdministrator権限ではない(サーバ側がAdministrator権限です)のですが、この場合でも可能なのでしょうか? 尚、環境は、OSはWindows NT、VB5.0です。 どなたかご教授をお願い致します。

  • インストーラ作成について

    開発環境:VB6sp2 OS   :W2000sp2 VSI   :VSI1.1 はじめて投稿させていただきます。 VBで開発したプログラムのインストーラを作成しています。 Visual Studio Installer1.1にて インストーラー(msi)を作成したのですが、 Windows2000の管理者権限でのインストールはできるのですが 、 制限ユーザーでは、Administratorのアカウントをきかれます 。 Administratorのパスワードをしらないユーザーは、 インストールができません。 制限ユーザーでこの手続きなしにインストールできる ようにする方法はあるのでしょうか? MSのサイトのVSIについてのドキュメントには、 以下の記述がありました。 http://www.microsoft.com/japan/msdn/vstudio/ downloads/vsi/default.asp (「ロック ダウン」マシンでのインストール プログラム の実行機能) この記述をみて、VSIでできるのではないかと方法を 探っています。 もしご存知でしたらお知恵をいただけないでしょうか? よろしくおねがいいたします。

  • ipodが認識されずitunesと同期できません

    先週の土曜からipodがおかしいです。 ずっとipodが認識されずitunesに表示はされるのですが 「必要なディスクが見つかりません」といわれipod側も同期しなくなってしまいました。 他のipodやUSBケーブル、ポートなど試せることは 全て試したのですがどうにも上手くいかず今日まできました。 そしてインターネットでかなり模索して試行錯誤した結果、 administratorでログインした後にipodをフォーマットしマウント名を:Fから:Aへ変更しました。 すると今までいくら繋げても無反応だったipodが「接続中」という 画面に切り替わり好転したと思えたのですが、ずっと「接続中」なのです。 おまけにituneseを再インストールしようとすると 「システムサービスを開始する特権を持っていることを確認してください」と言われ、 管理者権限のあるアカウントでもadministratorでも同じ事を言われてかなり困っています。 ipodをリセットしたり、タスクマネージャからipodserviceを終了させて云々等 片っ端からやってみましたが全くもって意味がありません。 他のPCでipodを繋いでみたところ正常に作動しましたので ipodの故障ではないと思います(違うipodでも同じ現象だったし・・・) どなたかお力添えをお願いします。かなり切実です。

  • シャットダウンbatをつくりたい

    お世話になります。 ローカルユーザーでログイン時に、バッチファイルを使用してシャットダウンが出来るようににしたいです。(シャットダウンの中止も含め) OSはwindows XP proを使用しています。 ローカルユーザーでバッチファイル実行すると、 ”この操作を正しく終了しました。 クライアントは要求された特権を保有していません。 キャンセルするにはEnterキーを押してください。” とcmd内に表示されてしまい、シャットダウンが出来ません。 administratorでログインしてバッチファイルを実行すると、問題なくシャットダウンが出来ました。 バッチファイルの権限でローカルユーザーをフルコントロールにチェックはされています。 良い方法ないでしょうか? どなたか教えてください。 よろしくお願いいたします。 作成したバッチファイル内容は以下。 ------------------------------------------ @echo off C:\WINDOWS\system32\shutdown.exe -s -f echo キャンセルするにはEnterキーを押してください pause >nul 2>&1 C:\WINDOWS\system32\shutdown.exe -a ------------------------------------------

  • PowerChuteの実行権限?でしょうか. Window

    APCのPowerChute Ver 8.01のWindows版を使っています。 ユーザーはAdministratorでログインしています。 PowerChuteもそのユーザーでインストールしました。 シャットダウンシーケンスでコマンドを実行させるのですが、 サンプルバッチファイルには、@START "タイトル" "コマンド" があり、 @START "メモ帳" "notepad.exe" でコマンドテストすると、メモ帳が開きますが、 @START "他のPCをシャットダウン" "shutdown /m 192.168.0.2 /s /f /t 0" として、テストすると、無反応です。 ちなみに、コマンドプロンプトで、 shutdown /m 192.168.0.2 /s /f /t 0とすると、 192.168.0.2のPCはシャットダウンします。 192.168.0.2のPCはWindows Server 2008です。 PowerChuteの実行権限は、別?で無視されるということでしょうか? あとどうして、 @STARTを使う必要があるのでしょうか?

専門家に質問してみよう