Post a Comment
Date2011/10/30 11:38 [Edit]
NameZeqoo 
GJです!
Date2011/10/31 10:21 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○Zeqooサン
> GJです!
解りづらい説明文で失礼しましたヽ(;´д`)ノ
お役に立てたなら光栄です!(^^
Date2011/12/23 22:25 [Edit]
Nameるる 
Naotenさん、こんにちは。
「Win7 UACを回避する方法」で検索してましたら、Naotenさんのブログに辿り着きました。
私は少し前までVistaPCを愛用してまして、そのときは煩わしいUAC制御を
シマンテック社の「Norton UAC Tool」という超便利なフリーソフトで個別オンorオフ
設定していたのですが、Win7ではレベルこそユーザーが調整できますが、相変わらず
OSレベルでは個別設定できませんし、対応する「Norton UAC Tool」もありません><
Win7を自分流に設定していて、最後の最後に残念だったのがUAC個別オンorオフ設定
だったのですが、Naotenさんのご指南で見事解決してしまいました!
最初はユーザーフォルダ内にタスク登録のスクリプトとソフト実行スクリプトをそのまま
置いてしまいエラーが出てしまいましたが、「UAC回避スクリプト」と命名したフォルダに
ソフト実行スクリプトを置くことで無事UAC回避を実行できました♪
で、フォルダ内でショートカットを作成して対象ソフトのアイコンを適応してスタートメニュー
等に登録しています。
すっごくすっごく便利です^^ ありがとうございます!
Date2011/12/24 00:48 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○るるサン
> Naotenさん、こんにちは。
> 「Win7 UACを回避する方法」で検索してましたら、Naotenさんのブログに辿り着きました。
意外と需要が有るようで、
スクリプトを作成、記事を書いた甲斐がありました。
> 私は少し前までVistaPCを愛用してまして、そのときは煩わしいUAC制御を
> シマンテック社の「Norton UAC Tool」という超便利なフリーソフトで個別オンorオフ
> 設定していたのですが、Win7ではレベルこそユーザーが調整できますが、相変わらず
> OSレベルでは個別設定できませんし、対応する「Norton UAC Tool」もありません><
ほー!そんなソフトがあったのですなー!
確かにそう言ったフリーソフトがあれば、みんな苦労せずに済みましたねヽ(;´д`)ノ
なんでWin7でSymantecは同じの出さないのだろう??
(UACに関してOS側での何かしらの仕様変更でもあったんでしょうかね。)
> Win7を自分流に設定していて、最後の最後に残念だったのがUAC個別オンorオフ設定
> だったのですが、Naotenさんのご指南で見事解決してしまいました!
>
> 最初はユーザーフォルダ内にタスク登録のスクリプトとソフト実行スクリプトをそのまま
> 置いてしまいエラーが出てしまいましたが、「UAC回避スクリプト」と命名したフォルダに
> ソフト実行スクリプトを置くことで無事UAC回避を実行できました♪
> で、フォルダ内でショートカットを作成して対象ソフトのアイコンを適応してスタートメニュー
> 等に登録しています。
ちょっと試しに、タスク登録スクリプトと、ソフト実行スクリプトを、
同一フォルダ下において実行したのですが、特にエラーは起きませんでした。
とすると、るるさんのおっしゃる「ユーザーフォルダ」に、
何がしかのセキュリティ上の対策があった、と言う事なんでしょうかね。
エラーの原因は特定出来ませんでしたが、
今後の為にそう言う事例もあると、記憶にとどめておきます(^^
> すっごくすっごく便利です^^ ありがとうございます!
こちらこそ、お役に立てて光栄です!
お互い、よりよいPCライフを送りましょう!(^^
Date2011/12/24 14:19 [Edit]
Nameるる 
試しにもう一度ソフト実行スクリプトをユーザーフォルダ内(タスク登録スクリプト有)に
コピーペーストして実行してみたら、今度はエラーは出ませんでした。
たぶんあの後構文を1行ずつペーストし直したので、どこか抜けていたのだと思います。
Date2011/12/25 12:50 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○るるサン
> 試しにもう一度ソフト実行スクリプトをユーザーフォルダ内(タスク登録スクリプト有)に
> コピーペーストして実行してみたら、今度はエラーは出ませんでした。
> たぶんあの後構文を1行ずつペーストし直したので、どこか抜けていたのだと思います。
おぉ~そうでしたか!
とりあえず問題が解明されてすっきりしました(^^
また何かあったら教えて下さい。
それではでは!
Date2012/03/04 21:39 [Edit]
Nameツー 
この方法を試してみましたが、UAC回避できませんでした。他の方法はありませんか?
Date2012/03/05 09:57 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
お初にお目にかかります、ツーさん!
> この方法を試してみましたが、UAC回避できませんでした。他の方法はありませんか?
すいません、この方法以外に、UACを回避する手段を私は知りません。
ところで、UACを回避できない、と言うお話ですが、
具体的には以下のどれに当てはまるのでしょうか。
記事中の手順3.で作成したvbsファイルを起動した後、
ア.何もおこらない。
イ.UAC確認画面が出てしまう。
アの場合、手順に抜けか、漏れががある可能性がございます、
イの場合に特に注意いただきたいのは、
タスク作成の際の「最上位の特権で実行する」にチェックを入れる事です。
ここで抜けがありますと、UACは回避できません。
今一度ご確認頂ければ幸いです。m(_ _)m
Date2012/03/05 21:17 [Edit]
Nameツー 
「ア」の方です。vbsファイルを開くことができないんです。一度チェックしてみます。
Date2012/03/05 21:31 [Edit]
Nameツー 
ここから先の方法はWindows7上での説明になります。
他のOS上やログインユーザーが管理者で無い場合は
正常に動作しない可能性がありますので注意してください。
とありますが、標準ユーザーがこの作業をやってもダメってことですか?
管理者としてログオンして最初からやればできますか?
Date2012/03/05 21:46 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
こんばんわ!Naotenです。
> ここから先の方法はWindows7上での説明になります。
> 他のOS上やログインユーザーが管理者で無い場合は
> 正常に動作しない可能性がありますので注意してください。
> とありますが、標準ユーザーがこの作業をやってもダメってことですか?
> 管理者としてログオンして最初からやればできますか?
標準ユーザーでの動作検証はしていない為、
「可能性」と書いております。
タスクスケジューラの設定で
「最上位の特権で実行する」にチェックが出来る状態であれば、
問題ないかも知れません。(曖昧ですいません。)
それと、ちょっと気になったので、
この記事で書いているファイルを2つ作成し、
アップロードしました。
URLは以下となります。
http://cyfis.system.cx/blog/NaotenExec.lzh
これをダウンロードして頂き、
NaotenExec.vbsをタスクに登録、
Memo.vbsを直接起動いただき、
メモ帳が起動されるか確認してみてください。
もし、メモ帳が起動しましたらそのままMemo.vbsをメモ帳で開いて頂き、
'' ===ここにプログラムのフルパスを設定===
と書かれている下の行のファイルパスを
ツーさんが起動したい実行ファイルのパスに書き換えてみて下さい。
(c:\test.exe 等)
タスクに正常に登録されていましたらこれで動作するはずです。
一度それで状況を教えてもらってもよいですか?
お知らせいただきたい事。
1.Memo.vbsを実行した時、メモ帳が起動するか否か。
2.メモ帳が起動した後、パスを書き換えた結果、ツーさんの動作させたいプログラムが起動したか否か。
Date2012/03/08 08:31 [Edit]
Nameツー 
メモ帳は起動しましたが、パスを書き換えても、プログラムは起動しませんでした。
Date2012/03/08 10:20 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
> メモ帳は起動しましたが、パスを書き換えても、プログラムは起動しませんでした。
何度も試して頂きすいません。
メモ帳はUACが出ないプログラムとなっており、
問題なく動作したものと予想します。
ここまで来ましたら、あと疑うべきはパスの正当性と、
管理者ユーザーではない為の権限不足による起動キャンセルくらいでしょうか。
前者に関してはフルパスで指定していただいていると思いますが、
ツーさんが書かれた以下のようなパスが
C:\Program Files\Test\AAAシステム.exe
実際に正しく指定されているか確認する為に
インターネットエクスプローラを起動して頂き、
URLを書く欄に、ツーさんの指定したパスを
コピペしてエンターを押してみてください。
この様な画面が表示されましたら、
パスは正常に指定されている、と言う事になります。
もし以下の様な画面が表示されましたら、
パスが正常に設定されていない可能性がありますので、
もう一度見なおしてみて下さい。
もし、パスが正常なのにもかかわらず起動しない場合、
ツーさんがおっしゃられていた様に、
「管理者権限ユーザー」でのログインが必要なのかも知れません。
大変恐縮ですが管理者権限ユーザーでログインしなおして頂き、
今一度、ご確認下さい。
Date2012/03/08 19:09 [Edit]
Nameツー 
後者の画面が出ます。ファイルのプロパティの詳細ページに書いてあるパスではダメなのですか?
ほんとに初心者でわかりません。
Date2012/03/09 01:37 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
> 後者の画面が出ます。ファイルのプロパティの詳細ページに書いてあるパスではダメなのですか?
> ほんとに初心者でわかりません。
ふむふむ。
では、以下の手順を確認しつつ、
パスを調べてみましょう。
まず、起動させたいプログラムのアイコンに、
こんなマークはついていますか?
この矢印マークが
ついている場合とついていない場合でパスの導き出し方が変わります。
矢印マークがついている場合
このファイルはショートカットファイルと言って、
他のファイルの場所を指し示しています。
実際にダブルクリックなどで実行した場合、
このファイルそのものが起動する訳ではなく、
その指し示している先のファイルが起動する訳です。
で、このファイルのプロパティから、
以下の「ショートカット」と書かれているページを開きます。
(このページの事をタブ、と呼びます。つまりショートカットタブ。)
ここの「リンク先」となっている場所が、
vbsファイルに設定すべきパスです。
画面の例の場合では(ちょっと切れてますが)
"C:\Program Files\radiko_player_air\radiko_player_air.exe"
と言うのがそれにあたります。
ですのでこの場合、
vbsファイルに以下のように記載して下さい。
'' ===ここにプログラムのフルパスを設定===
strAppPath = "C:\Program Files\radiko_player_air\radiko_player_air.exe"
矢印マークがついていない場合
逆に、矢印マークがついていない場合は
少々、工夫が必要です。
以下のプロパティ画面の全般タブを開いて頂き、
場所と書かれている所からパスを、
C:\Program Files\radiko_player_air
一番上のテキストボックスからファイル名を取得します。
radiko_player_air.exe
で、この2つを円マークで連結したものがフルパスとなり、
設定して頂きたいパスとなります。
場所 + \(円マーク) + ファイル名
'' ===ここにプログラムのフルパスを設定===
strAppPath = "C:\Program Files\radiko_player_air\radiko_player_air.exe"
HTMLの表示上の都合で円マークが/(スラッシュ)と
表示されているかも知れませんが、
その場合、円マークと置き換えて考えて下さい。
是非、経過をお知らせ下さいませ(^^
それではまたー!
Date2012/03/09 17:15 [Edit]
Nameツー 
ショートカットタブに書かれているパスでやってもできませんでした。また、そのパスを検索しても×
××は見つかりませんと出て、どちらのウィンドウも開きません。
Date2012/03/09 19:32 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
> ショートカットタブに書かれているパスでやってもできませんでした。また、そのパスを検索しても×
> ××は見つかりませんと出て、どちらのウィンドウも開きません。
ちょっと事態は混迷を極めて参りましたね(^^;
いくつか確認させて下さい。
・ショートカットタブに書かれているパスは "(ダブルコーテーション)で囲まれていますが、
IEで試される場合、これは削除して確認なされておりますでしょうか?
例)
"C:\test.exe"
↓
C:\test.exe
・ショートカットタブ上には「ファイルの場所を開く(F)」と言うボタンがありますが、
それを押していただくと、実際のリンク先のフォルダが開くはずです。
まずフォルダが開かれますでしょうか。
そして、開かれたフォルダ内に、該当のファイルは存在するでしょうか。
・VBSファイルに記載しますパスは一回だけダブルコーテーションで囲まれている必要があります。
strAppPath = c:\test.exe
もダメですし、
strAppPath = ""c:\test.exe""
もダメです。
strAppPath = "c:\test.exe"
となっているかご確認下さい。
どうでしょう??
Date2012/03/09 20:59 [Edit]
Nameジョン・ドゥ 
フルパス記載時にプロパティからコピー&ペーストしたとすると、
” ” 部分までもコピー&ペーストしちゃってるとかが怪しくないですかねえ。
って、上記に書いてありましたか・・・
まあ、後はUACを根本から無効化するとかの方が迷わないのかもしれません(これは本末転倒というか、この記事の最初で否定されている状況ですが・・・)
Date2012/03/10 07:18 [Edit]
Nameツー 
Naotenさん・ジョン・ドゥさん
確認してみても、ちゃんと一回だけダブルコーテーションに囲まれた状態でした。
なぜできないのでしょう
Date2012/03/10 12:03 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ジョン・ドゥさん
そうですね、UACの根本的な無効化も、
特に問題なければ選択肢かも知れませんね。
○ツーさん
> Naotenさん・ジョン・ドゥさん
>
> 確認してみても、ちゃんと一回だけダブルコーテーションに囲まれた状態でした。
> なぜできないのでしょう
ちなみに
こちらに関してはどうだったでしょうか?
・ショートカットタブに書かれているパスは "(ダブルコーテーション)で囲まれていますが、
IEで試される場合、これは削除して確認なされておりますでしょうか?
例)
"C:\test.exe"
↓
C:\test.exe
・ショートカットタブ上には「ファイルの場所を開く(F)」と言うボタンがありますが、
それを押していただくと、実際のリンク先のフォルダが開くはずです。
まずフォルダが開かれますでしょうか。
そして、開かれたフォルダ内に、該当のファイルは存在するでしょうか。
Date2012/03/11 21:19 [Edit]
Nameツー 
はい、どちらも大丈夫です。
Date2012/03/12 06:05 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
> はい、どちらも大丈夫です。
・ファイルは存在する。
・この記事で紹介したスクリプト自体は問題なく設定されている。
・IEからは起動しない。
・管理者権限ユーザーでログインはしていない。
今までの結果を上記の様にまとめますと
可能性はだいぶ絞られたと思います。
可能性1
記事中にあるとおり、
管理者権限があるユーザーでログインしていない為、
起動しない可能性。
可能性2
ツーさんが起動したいプログラムが、
他のプロセスからの起動を許可しないプログラムである可能性。
1を解決するため、
管理者権限があるユーザーでログインしなおして頂き、
同様の設定を行なって頂き、動作するかご確認下さい。
それでも動作しない場合は2が原因の可能性があり、
この場合、この記事の方法ではUACは回避できないと思います。
(私自身、実際、こう言ったプログラムを所持しています。)
最後の手段として、この記事自体の趣旨には反しますが、
ジョン・ドゥさんがおっしゃられていたような、
「Win7そのもののUAC設定をOFF」にする方法もあります。
ただしこちらはセキュリティレベルが低下する恐れがありますので、
設定を実際にOFFにするかは十分にご検討下さい。
こちらの方法も管理者権限ユーザーでのログインが必須です。
詳細は以下、他サイト様をご参照下さい。
Windowsのユーザー・アカウント制御(UAC)を一時的に無効にする
http://www.atmarkit.co.jp/fwin2k/win2ktips/859disuac/disuac.html
なお、上記他サイト様の記事の内容に関しましては、
一切、コメント出来ませんので予め御了承くださいませ!
Date2012/03/12 18:54 [Edit]
Nameツー 
管理者権限でログオンしたらできました!今まで何回も本当にありがとうございました。
Date2012/03/13 09:58 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ツーさん
> 管理者権限でログオンしたらできました!今まで何回も本当にありがとうございました。
こちらこそ、回りくどい確認をさせてしまい、申し訳ありませんでした。
ただ、状況を確認する事が出来て良かったと思います。
記事中の
ここから先の方法はWindows7上での説明になります。
他のOS上やログインユーザーが管理者で無い場合は
正常に動作しない可能性がありますので注意してください。
と言う表記中の
正常に動作しない可能性がありますので注意してください。
と言う表現に関しまして、
私自身は試していなかったので「可能性」と書きましたが、
ツーさんに試して頂き、確実になりましたので、
正常に動作しないので注意してください。
に訂正いたしました。
情報、ありがとうございました!
Date2012/03/18 13:12 [Edit]
Namesoota 
はじめまして。
ここの記事通りに試させて頂きました。
確かにUACは回避できますが、
回避して呼び出したプログラムのプロセスの「優先度の設定」が「通常以下」になってしまいます。
↓こちらで紹介されているのと同様の状態ですね
http://www.gigafree.net/security/process/uactrustshortcut.html
優先度が下がってしまうのはちょっと困るアプリがあるので、
私はおとなしくUAC権限ダイアログと付き合うことにします><
Date2012/03/18 15:19 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
はじめまして!sootaさん!
> 確かにUACは回避できますが、
> 回避して呼び出したプログラムのプロセスの「優先度の設定」が「通常以下」になってしまいます。
なるほど、そんな問題があったんですね、
気づきませんでした。(ーー;
このスクリプトでは最終的にコマンドラインでプログラムを起動していまして、
その起動する部分、記事中ですとNaotenExec.vbsの8行目の以下の処理を
objWshShell.Exec(WScript.Arguments(0))
以下に書き換え、
objWshShell.Exec("cmd.exe /c start /high " & WScript.Arguments(0))
実際に起動したいプログラムのvbs内のパスを以下(あくまで例です)から
strAppPath = "C:\Program Files\Fraps\fraps.exe"
以下に書き換えますと
strAppPath = "C:\Progra~1\Fraps\fraps.exe"
(パスに空白を含めたくないのでこうしました。いわゆる8.3形式)
一応、コマンドライン上はプロセス優先度を高で起動した設定にする事はできます。
しかし、この方法を用いてもプロセスが高になるプログラム(メモ帳で確認)と、
ならないプログラム(例で挙げているFraps)がありました。
この方法でsootaさんの起動したいプログラムの優先度が変われば御の字ですが、
どうでしょうか?
(実際、私も優先度が変わらないプログラムがあったので、
なんとなく望み薄い気がしています(ーー;;)
UACの回避と
コマンドラインからのプログラム起動でプロセスの優先度が変えられないのは
また別の話の様ですが、引き続き少し調べてみます。
参考URL
http://www.atmarkit.co.jp/fwin2k/win2ktips/112changepriority/112changepriority_02.html
Date2012/03/18 18:31 [Edit]
Namesoota 
早速の返信、ありがとうございます。
私の環境・・・の件ですが、優先度以外に、
管理者権限で実行する必要が出てきてしまったため、
「プロパティ→互換性→管理者としてこのプログラムを実行する」に
チェックを入れる必要が出てしまいました。
このため、いずれにせよUACに引っかかると判断し、
おとなしく関連するプログラム群のプロパティを変更しました><
お手数をおかけしてすみません。
Date2012/03/18 20:44 [Edit]
Namesoota 
優先度以外に管理者権限でって・・・自分で言っておいてなんですが、
根本的に「管理者権限に昇格するときのダイアログ抑制」がメインでしたね
大変失礼しました
レスでご教示いただいた方法で試してみようと思います
ありがとうございました
Date2012/03/19 00:36 [Edit]
Namesoota 
おせわになります。
当方の環境におきまして、11個のプログラムをvbaで起動するようにしてみたところ、
優先度の設定が「高」になるプログラム、「高」に設定できないためか「通常」になっており、
「通常以下」はみあたりませんでした。
ただ、1つのプログラムにおいて、カレントフォルダのファイルを参照していたため、
タスクスケジューラより呼び出されるvbsを以下のように修正し、
正常動作を確認しましたので、ご報告いたします。
--------
Option Explicit
Dim objWshShell ' WshShell オブジェクト
Dim objFS
Set objFS = CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.Count <> 0 Then
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.CurrentDirectory = objFS.GetParentFolderName(WScript.Arguments(0))
objWshShell.Exec("cmd.exe /c start /high " & WScript.Arguments(0))
End if
Date2012/03/19 02:11 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
> 当方の環境におきまして、11個のプログラムをvbaで起動するようにしてみたところ、
> 優先度の設定が「高」になるプログラム、「高」に設定できないためか「通常」になっており、
> 「通常以下」はみあたりませんでした。
ふむふむ、通常以下にならなければとりあえず良い、
と言う解釈で良かったのですかね?
> ただ、1つのプログラムにおいて、カレントフォルダのファイルを参照していたため、
> タスクスケジューラより呼び出されるvbsを以下のように修正し、
> 正常動作を確認しましたので、ご報告いたします。
>
> --------
> Option Explicit
>
> Dim objWshShell ' WshShell オブジェクト
> Dim objFS
>
> Set objFS = CreateObject("Scripting.FileSystemObject")
>
> If WScript.Arguments.Count <> 0 Then
> Set objWshShell = WScript.CreateObject("WScript.Shell")
> objWshShell.CurrentDirectory = objFS.GetParentFolderName(WScript.Arguments(0))
> objWshShell.Exec("cmd.exe /c start /high " & WScript.Arguments(0))
> End if
むむ、これは以前、こちらのコメント欄で
るるさんがおっしゃってた現象かも知れません。
テコ入れ感謝です!
明日(正確に言うと今日)は終日出かけているので、
明後日以降、
動作確認して問題なければ
ブログ記事中のソースを更新しておこうと思います!
色々試して頂いて感謝です(^^
Date2012/03/19 02:52 [Edit]
Namesoota 
おせわになります。
おっしゃるとおり、普通に起動した時と同じ「通常以上」ならOKと考えてます。
で、更に修正いたしました。
呼び出す側のファイルパスに、8.3形式じゃなく、ロングネーム形式に対応しました。
(タスクマネージャにはスペースありで渡されても$arg0で取れるため、
タスクスケジューラより呼び出されるvbsで8.3形式を算出し実行するようにしました)
オンラインゲームのギルドメンバーに情報を公開したいので、
転載させていただいてもよろしいでしょうか?
vbsファイルそのままupしてDLしてもらうようにしてしまったほうが説明が楽なもので^^;
--------
Option Explicit
Dim objWshShell ' WshShell オブジェクト
Dim objFS
Dim objFilePath
Set objFS = CreateObject("Scripting.FileSystemObject")
set objFilePath = objFS.GetFile(WScript.Arguments(0))
If WScript.Arguments.Count <> 0 Then
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.CurrentDirectory = objFS.GetParentFolderName(objFilePath.ShortPath)
objWshShell.Exec("cmd.exe /c start /high " & objFilePath.ShortPath)
End if
Date2012/03/19 16:01 [Edit]
Namesoota 
おせわになります。連投すみません><
更に修正いたしました。
objWshShell.Exec("cmd.exe /c start /high " & objFilePath.ShortPath)
↓
objWshShell.Exec("cmd.exe /c start /NORMAL " & WScript.Arguments(0))
『「優先度の設定」が下がらなければ良い<>「優先度の設定」が高いほうがいい』
という意味合いで、不必要に「優先度の設定」が高くなることで弊害が発生するかもしれないので、
「優先度の設定」を「通常」にするように変更しました。
Date2012/03/20 18:05 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
こんばんは、Naotenです。
御返事遅くなり申し訳ありません!
> 呼び出す側のファイルパスに、8.3形式じゃなく、ロングネーム形式に対応しました。
> (タスクマネージャにはスペースありで渡されても$arg0で取れるため、
> タスクスケジューラより呼び出されるvbsで8.3形式を算出し実行するようにしました)
これはこの記事の内容の一部不具合部分の修正も併せておりますので、
記事中に反映させて頂きました。
ありがとうございました(^^
> オンラインゲームのギルドメンバーに情報を公開したいので、
> 転載させていただいてもよろしいでしょうか?
> vbsファイルそのままupしてDLしてもらうようにしてしまったほうが説明が楽なもので^^;
公開なされる記事の隅っこにでも転載元としてこちらの記事のURLを貼ってもらえれば
それで自由に文章の転載、スクリプトの改造、
ファイルをダウンロード出来る様にしてもらって構いません。
同じオンラインゲーマーとして良いネットライフを送りましょう!
それではまた(^^
Date2012/03/20 19:24 [Edit]
Namesoota 
おせわになります。
ソース修正確認しました。
できれば私の名前をちょろっと書いておいてもらえると幸いです。
元開発者なので自己主張すみません^^;
あと、「On Error Resume Next」この行は無くしておくと、
正常に動かない場合にメッセージが表示されるため、
「うごきません」と相談してくる人にどのようなメッセージがでるか
聞けるようになりますのでお勧めです。
話はもどりまして
情報の参考にさせていただいたURLとして明記させていただくつもりです。
該当ページ:
http://www44.atwiki.jp/a2z_izm/pages/38.html
実際の記事の記入は体調が戻り次第ということで、
取り急ぎ「参考url」としてリンクを貼らせて頂きました。
よろしければご確認ください。
Date2012/03/20 20:09 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
> おせわになります。
>
> ソース修正確認しました。
> できれば私の名前をちょろっと書いておいてもらえると幸いです。
> 元開発者なので自己主張すみません^^;
失礼しました、ソース中ではなくて申し訳ありませんが、
記事中にお名前を書かせて頂きました。
(ソース中には私の名前すら書いてないのでご了承ください。)
> あと、「On Error Resume Next」この行は無くしておくと、
> 正常に動かない場合にメッセージが表示されるため、
> 「うごきません」と相談してくる人にどのようなメッセージがでるか
> 聞けるようになりますのでお勧めです。
On Error Resume Nextに関してはむしろ、
ご相談を受けないためにあえて書いたフシもあるのですが、
その実、結構、ご相談を受けてるのでどうしようかな、と言う感じです。
> 話はもどりまして
> 情報の参考にさせていただいたURLとして明記させていただくつもりです。
> 該当ページ:
http://www44.atwiki.jp/a2z_izm/pages/38.html
>
> 実際の記事の記入は体調が戻り次第ということで、
> 取り急ぎ「参考url」としてリンクを貼らせて頂きました。
> よろしければご確認ください。
うお!?(UOとかけてる)
実は私も1998年頃から2年間、UO(hokutoサーバー)で遊んでいました。
懐かしいです。
ページは了解いたしました。
ご連絡ありがとうございました(^^
Date2012/03/20 20:30 [Edit]
Namesoota 
おせわになります。
名前の件、ありがとうございます^^
ホコツ・・・もとい北斗の住人だったんですか!
1998-2000といえば、まだフェルッカしかなかった時代ですね~
UOは今、人をふやそうと、トライアルアカウント(15日間無料)ができましたよ~
もちろんソフトもダウンロード可能です。
→
http://ultimaonline.jp/trial/account/
もしよろしければ、今の北斗を散歩されてみてはいかがでしょうか?^^
北斗はバシネットマニアが多いことでで有名ですよ~
ちなみに私もMHFでごりごり遊んでた時期がありましたよ~w
2010-12-09のnProtect GameGuard更新で、
アンチウィルスソフトのAVG、
日本語入力支援のImeBig2(入力中文字を大きく表示してくれます)、
そしてgoogle chromeとの相性がわるく、
サポートと延々問い合わせた結果、
上の3つのプログラムを削除してくださいとかいわれたので、
やってられるかーヽ(`Д´)ノウワァァァン!!
って引退した覚えがありますw
まだダレットに課金残ってるんですけどね^^;
と、話がそれてしまいました。
いろいろと有難うございました。
Date2012/03/21 09:39 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
おはようございます、Naotenです!
> 名前の件、ありがとうございます^^
こちらからも、重ねて、お礼を申し上げます、
色々とありがとうございました!
ホコツ・・・もとい北斗の住人だったんですか!
> 1998-2000といえば、まだフェルッカしかなかった時代ですね~
> UOは今、人をふやそうと、トライアルアカウント(15日間無料)ができましたよ~
> もちろんソフトもダウンロード可能です。
> →
http://ultimaonline.jp/trial/account/
> もしよろしければ、今の北斗を散歩されてみてはいかがでしょうか?^^
> 北斗はバシネットマニアが多いことでで有名ですよ~
そうです、トランメルがちょうど出来る頃にブリタニアを去りました。
ゲームを始めた初期はローマ字しか打てなくて、日本人プレイヤーと
「konnitiha!iitenkidesune!」
とかしゃべっていた事を思い出します。(^^
フィールドに時たま流れるいくつかの音楽が、
今でも思い出せるくらい良い音楽だったと記憶しています。
また、少し仕事が暇になったら、
そんな音楽を聞きに少し散歩してみようと思います(^^
(もう10年以上前なので音楽とか変わってるかも知れませんが…。)
> ちなみに私もMHFでごりごり遊んでた時期がありましたよ~w
>
> 2010-12-09のnProtect GameGuard更新で、
> アンチウィルスソフトのAVG、
> 日本語入力支援のImeBig2(入力中文字を大きく表示してくれます)、
> そしてgoogle chromeとの相性がわるく、
> サポートと延々問い合わせた結果、
> 上の3つのプログラムを削除してくださいとかいわれたので、
> やってられるかーヽ(`Д´)ノウワァァァン!!
> って引退した覚えがありますw
> まだダレットに課金残ってるんですけどね^^;
>
> と、話がそれてしまいました。
なんと、生粋のオンゲーマーさんでしたか!
nProtect GameGuardは色々とガンです、
この記事の方法でUAC回避を行なっても、
正常にMHF.exeを起動できませんでした。
起動時の詳細は忘れてしまいましたが
nProtect GameGuardがエラーを吐いていたので、
他プロセスからの起動を禁止しているのかも知れません。
(実はプロセスの優先度の問題で、今回の対応で起動できちゃうかも知れませんが。)
> いろいろと有難うございました。
こちらこそ、ありがとうございました!
Date2012/08/14 09:27 [Edit]
Namemaoyama 
Naotenさん。
はじめまして。
色々探してここにたどり着き、便利に利用させていただいております。
御世話になりついでといっては変ですが教えていただきたいのですが、この方法で登録したアプリを起動した時に一瞬のみ開くDOS窓を抑制する方法はありませんか?
よろしくご教示下さい。
Date2012/08/14 14:04 [Edit]
NameNaoten(ナオテン) 
○maoyamaさん
> Naotenさん。
> はじめまして。
こちらこそ初めまして!
> この方法で登録したアプリを起動した時に
> 一瞬のみ開くDOS窓を抑制する方法はありませんか?
そうですね、確かに一瞬、ちらつくDOS窓は気持ち悪いですよね(^^;
以下の方法を試してみて下さい。
1.記事中で「NaotenExec.vbs」と便宜上呼んでいるファイルをテキストエディタ等で開く。
2.ファイルの14行目、以下の行を
objWshShell.Exec(objFilePath.ShortPath)
以下と書き換える。
objWshShell.Run(objFilePath.ShortPath, 0, False)
優先度が高いの場合こちらをお試しください。
以下の行を
objWshShell.Exec("cmd.exe /c start /HIGH " & objFilePath.ShortPath)
以下と書き換える。
objWshShell.Run("cmd.exe /c start /HIGH " & objFilePath.ShortPath, 0, False)
3.動作を確かめる。
*注意点 スペースは必ず半角で入力して下さい。
私の環境ではこれでDOS窓は表示されなくなりました。
maoyamaさんや他の方の環境で同じように動作するかはちょっと判らないので、
是非、試してもらって、結果を教えて貰えたら嬉しいです(^^
Date2012/08/14 17:46 [Edit]
Namemaoyama 
御世話になります。
早速のお返事ありがとうございました。
14行目を書換えて実行してみましたが、
行:14
文字:84
エラー:Subプロシージャを呼び出すときに、かっこを使うことはできません。
コード:800A0414
と表示されてうまくいきません。
この書き足した ,0 ,False の部分は要するにvbHideを指定していると思うのですが、どうもうまく働いてくれません。
よろしくお願いいたします。
Date2012/08/14 17:57 [Edit]
Namemaoyama 
追加情報です。
14行目
objWshShell.Run("cmd.exe /c start /HIGH " & objFilePath.ShortPath, 0, False)
を
objWshShell.Run "cmd.exe /c start /HIGH " & objFilePath.ShortPath, 0, False
にしたら動きました。
Runの後ろにかっこは使えないようです。
ありがとうございました。
Date2012/08/14 19:39 [Edit]
Namemaoyama 
解決ついでにもう一つ質問させて下さい。
このスクリプトで起動したプログラムに対してデスクトップからのDrug&Dropを有効にしたい場合の対策はありますでしょうか。
よろしくご教示下さい。
Date2012/08/15 00:31 [Edit]
NameNaoten(ナオテン) 
○maoyamaさん
すいません、自分は()は除去せず、文頭にCallをつけてました。
つまりこういう感じに。
Call objWshShell.Run(objFilePath.ShortPath, 0, False)
Call付けずコメントに返信してしまいました申し訳ありません(;´д⊂)
()を除去でも、Call付与でもどちらの方法でも構いませんので、
お好きな方でお試しください。
> 解決ついでにもう一つ質問させて下さい。
> このスクリプトで起動したプログラムに対してデスクトップからのDrug&Dropを有効にしたい場合の対策はありますでしょうか。
> よろしくご教示下さい。
もしかして当てがはずれた回答をしているかも知れませんが、
記事中の最後に新しいソースを記述しました。
maoさんがおっしゃりたいのはこう言う事ですよね??
Date2012/08/15 13:29 [Edit]
Namemaoyama 
ありがとうございました。
Call objWshShell.Run(objFilePath.ShortPath, 0, False)
動作確認しました。
ドラッグ&ドロップの件は確かに便利ですが、実は少し内容が異なりまして。
batファイルを管理者権限で実行してもデスクトップからのドラッグ&ドロップが不可能なのですが、explorer.exeを管理者権限で再起動すれば問題ないですよね。
このUACEscapeで起動したアプリの中にドラッグ&ドロップをうけつけないのがありまして。
explorer.exeを管理者権限で再起動すれば問題ないのですが、毎回行うのも本末転倒なので。
あらためて、質問内容はこのような状態の解除方法は無いでしょうか。
よろしくご教示下さい。
Date2012/08/16 05:15 [Edit]
NameNaoten(ナオテン) 
○maoyamaさん
> このUACEscapeで起動したアプリの中にドラッグ&ドロップをうけつけないのがありまして。
> explorer.exeを管理者権限で再起動すれば問題ないのですが、毎回行うのも本末転倒なので。
やっと意味を理解しました、文盲ですいません(;´д⊂)
結論から申し上げますと、対応策は見つかりませんでした。
このドラッグ&ドロップ(以下D&D)を受け付けない状況というのは、
UAC(User Account Control ユーザーアカウント制御)
そのものの問題と言うよりは
UIPI(User Interface Privilege Isolation ユーザインタフェース特権分離)
の問題に起因している様です。
(UACをOFFにするとUIPIもOFFになるので一見、UACそのものだと感じますが。)
UIPIと言うのは下位IL(Integrity Level)のプロセスから
上位ILのプロセスに対して通信(例えばD&D)を制限する機能で、
下位IL同士、上位IL同士、上位IL→下位ILへの通信は可能ですが、
下位IL→上位ILの通信は不可能となっている様です。
(これも一種のセキュリティ対策との事です。)
UACEscapeがアプリケーションを上位IL化してUACを回避する方法を取っている以上、
explorerのプロセスを上位IL化(管理者権限化)しなければ
D&Dが有効にならないのはその為なのだと思います。
ではワンクリック程度の簡単な操作(つまりスクリプト等)で
explorerのプロセス自体を特権で再起動出来ないか試行錯誤してみましたが、
スクリプトからの起動時に自動的に権限を引き下げられてしまう様で、
実現には至りませんでした。
っと、さんざん言い訳を並べていますが、
力及ばず本当に申し訳ありませんでした(;´д⊂)
関連URL
http://msdn.microsoft.com/ja-jp/windows/desktop/dd871146
Date2012/08/16 10:50 [Edit]
Namemaoyama 
ありがとうございました。
>UACEscapeがアプリケーションを上位IL化してUACを回避する方法を取っている以上、
>explorerのプロセスを上位IL化(管理者権限化)しなければ
>D&Dが有効にならないのはその為なのだと思います。
>
>ではワンクリック程度の簡単な操作(つまりスクリプト等)で
>explorerのプロセス自体を特権で再起動出来ないか試行錯誤してみましたが、
>スクリプトからの起動時に自動的に権限を引き下げられてしまう様で、
>実現には至りませんでした。
何となく理解できたような気がします。ドラッグ&ドロップの問題があるのは1種のアプリのみで、しかも特定業種用なので割り切ってUACとつきあいます。
ありがとうございました。
Date2012/08/17 14:52 [Edit]
Namemaoyama 
御世話になっております。
>ではワンクリック程度の簡単な操作(つまりスクリプト等)で
>explorerのプロセス自体を特権で再起動出来ないか試行錯誤してみましたが、
この一文に刺激され、何となくtaskkillとstartを使ったバッチファイルを作って、タスクスケジューラから呼ぶようにしてみました。
この時に最上位の特権にチェックを入れておけばタスクをscriptかbatで呼ぶだけでUIPIの問題を回避できました。もちろん課題のD&Dも問題ありませんでした。
とりあえず本文とは関係有りませんがご報告させていただきます。
Date2012/08/17 15:37 [Edit]
NameNaoten(ナオテン) 
○maoyamaさん
> この一文に刺激され、何となくtaskkillとstartを使ったバッチファイルを作って、
> タスクスケジューラから呼ぶようにしてみました。
> UIPIの問題を回避できました。もちろん課題のD&Dも問題ありませんでした。
おぉ!?おめでとうございます!
explorerを特権で再起動出来るスクリプトやバッチファイルが作成出来れば、
それをタスクスケジューラやスタートアップで処理するだけですから、
まさに私がやりたかった事はそれだったのです。
しかし何故か私が作ったスクリプトでは特権再起動が上手く動作しませんでした。
修行が足りなかった様です。
何にせよ解決に至った様で安心しております(^^
Date2012/08/31 19:32 [Edit]
NameItaRin 
お世話になっております。
引数付きで実行したい場合には、どちらのVBSのどこを修正すればよいのでしょうか?
宜しくお願いします。
Date2012/08/31 21:19 [Edit]
NameNaoten(ナオテン) 
○ItaRinさん
> お世話になっております。
こんばんは!
> 引数付きで実行したい場合には、どちらのVBSのどこを修正すればよいのでしょうか?
記事の最後に、引数を設定できるバージョンのNaotenExec.vbsと
呼び出し元の個別.vbsのサンプルを追加しました。
どうでしょうか。
動きますでしょうか??
Date2012/09/01 07:48 [Edit]
NameItaRin 
お世話になっております。
> 記事の最後に、引数を設定できるバージョンのNaotenExec.vbsと
> 呼び出し元の個別.vbsのサンプルを追加しました。
見事です。完璧に動きました。
ありがとうございました。
Date2012/09/03 10:53 [Edit]
NameNaoten(ナオテン) 
○ItaRinさん
> 見事です。完璧に動きました。
>
> ありがとうございました。
おぉ!それは良かったです(^^
元々初期のNaotenExec.vbsでは起動引数付きでファイルパスを指定出来て居たのですが、
ショート形式のファイルパスに対応して以降、
引数を渡すと動かなくなっていた様です。
また何かあったらお気軽にどうぞ(^^
っと、ここからはひとりごとですが。
沢山の方のご意見やご要望に答えた結果、
本文記事が追記追記で大変見づらい状況になっておりますね。
今度、解りやすく記事やソースを書き直します。
Date2012/09/04 12:43 [Edit]
Namesoota 
パラメータ渡したいな~と思ってふらっと寄ってみたら、流石です。
早速参考にさせて頂き、アレンジさせてもらいました。
DOSウィンドウが開かないのもGJです!
Date2012/09/04 13:11 [Edit]
Namesoota 
きゃ~
> 元々初期のNaotenExec.vbsでは起動引数付きでファイルパスを指定出来て居たのですが、
> ショート形式のファイルパスに対応して以降、
> 引数を渡すと動かなくなっていた様です。
私のデグレですね。すみませんでしたっ(汗
Date2012/09/05 09:26 [Edit]
NameNaoten(ナオテン) 
○sootaさん
> パラメータ渡したいな~と思ってふらっと寄ってみたら、流石です。
> 早速参考にさせて頂き、アレンジさせてもらいました。
> DOSウィンドウが開かないのもGJです!
使う人の立場にならないと解らない事がいっぱいありまして、
色々と勉強になりました(^^
> 私のデグレですね。すみませんでしたっ(汗
いやいやいや!お気になさらずに!
私の脳裏からも完全に抜け落ちていましたので(^^;;;
また何かあったらよろしくです!
Date2012/10/25 00:23 [Edit]
Name爺 
はじめまして。
先日からWindows 7を使い始め、UACを個別設定できず困っていたため、大変役立つ情報でした。
ありがとうございました。
ところで、「メモ帳に起動引数を渡すサンプル」ですが、これだと決まった引数しか渡すことができません。
当方はファイラを使っていることもあり、動的に引数を渡せないかと思いちょっと処理を変更してみました。
プログラム実行スクリプトに引数を渡し、その引数をそのまま実行するプログラムに渡します。
(前略)
'' ===ここにプログラムのフルパスを設定===
''strAppPath = "%windir%\notepad.exe,C:\test.txt"
strAppPath = "%windir%\notepad.exe" '' ここでは引数を指定しない
'' --- 引数を追加する処理 開始
Dim objParam
Dim strParam
Set objParam = WScript.Arguments
strParam = ""
Dim idx
For idx = 0 To objParam.Count - 1
strParam = strParam & " " & objParam(idx)
Next
If strParam <> "" Then
strParam = "," & strParam
End If
strAppPath = strAppPath & strParam
'' --- 引数を追加する処理 終了
'' タスクサービスオブジェクトの取得
Set objTaskService = CreateObject("Schedule.Service")
(後略)
いきなりの長文に加え、勝手な変更コードの書き込みで申し訳ありません。
プログラム実行スクリプトにはとても感謝しています。
それでは失礼いたします。
Date2012/10/25 15:40 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○爺さん
> はじめまして。
はじめまして!
> 先日からWindows 7を使い始め、UACを個別設定できず困っていたため、大変役立つ情報でした。
> ありがとうございました。
困っている人の潜在的な人口の割に、意外と情報が少ないんですよねコレ(;´д⊂)
> 当方はファイラを使っていることもあり、動的に引数を渡せないかと思いちょっと処理を変更してみました。
> プログラム実行スクリプトに引数を渡し、その引数をそのまま実行するプログラムに渡します。
なるほど。
色々な方法でWindows7を使っている方がいるのですね。
参考になります。
> いきなりの長文に加え、勝手な変更コードの書き込みで申し訳ありません。
いえいえ、前述のとおり色々な方が色々なケースでUACの壁に立ちふさがれ、
このブログを訪れると思いますので、
爺さんの書き込みは、また誰かの助けになると思います。歓迎です!
> プログラム実行スクリプトにはとても感謝しています。
> それでは失礼いたします。
また何か有りましたらごゆるりと(^^
それではまたです!
Date2012/12/09 22:22 [Edit]
Nametaka 
今まで、Windows7Home32bitを使っていました。
確かにVistaの頃にUACに悩まされたことがあったのですが、なぜか私のWin7Home32bitでは、UACがでませんでした。
昨日、Windows7Pro64bit(何と、世の中はWindows8ですが・・・(^_^;))に乗り換えたところまた、UACに悩まされるようになりました。
一番のネックが「スタートアップに登録できないアプリがある」ということです。
検索の結果、NaotenさんのHPにたどり着きました。
VB6の頃から遠ざかっていたVBです・・・(歳を感じます)。
このスクリプトはすごいです、どうもありがとうございました。
Date2012/12/10 23:52 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○takaさん
takaさん、はじめまして!!
> 今まで、Windows7Home32bitを使っていました。
> 確かにVistaの頃にUACに悩まされたことがあったのですが、
> なぜか私のWin7Home32bitでは、UACがでませんでした。
もしかしたら大元からUACそのものが出ない設定になっていたのかも知れませんね。
> 一番のネックが「スタートアップに登録できないアプリがある」ということです。
インストーラーを使わないソフトの多くは、
常駐するためにスタートアップにショートカットを配置、
なんてのが昔からの知恵でしたものね。
それが出来ないのは煩わしいです、ほんとに。
> 検索の結果、NaotenさんのHPにたどり着きました。
> VB6の頃から遠ざかっていたVBです・・・(歳を感じます)。
私もプログラムを始めた頃はVB5とか6でした(^^;
あの頃の手作り感がWSH(Windows Script Host)にはありますよね。
> このスクリプトはすごいです、どうもありがとうございました。
お褒めに預かり光栄です。
お役にたてそうで良かったです!
大勢の方のお力添えもあり、色々なバリエーションも生まれまして、
私自身、皆さんに感謝をしております。
お互いによきPCライフを送りましょう!!(^^
Date2013/02/10 12:07 [Edit]
Name初心者 
あのー
かなり遅い感じもしますが・・・・
最上位の権限で実行するにチェックを入れて、新規から引数を$(Arg0)にしてからOK押すのですよね?
そのOKをおすとユーザー名とパスワードを聞いてきます。
思い当たるパスワードを入れてみたのですが、ちがうと言ってきます。
ユーザー名のところは自分のやつと変な奴しかないです。(自分は権限ありません)
なのでOKを押すと聞いてくるパスワードは何ですか?教えてください!
画像の乗せ方がわからないのでブログに載せました
http://ameblo.jp/masafumi-h/entry-11467504511.html
題名は「カステラさんこちらです」です
よろしくおねがいします!
Date2013/02/11 15:13 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○初心者さん
こんにちは!ブログ記事、拝見させて頂きました。
> ユーザー名のところは自分のやつと変な奴しかないです。(自分は権限ありません)
> なのでOKを押すと聞いてくるパスワードは何ですか?教えてください!
「変な奴」と言うのは、ブログ記事にあった「APNS certificate」の事ですよね?
私もあまり詳しくないのですが、これはiOSとかiPhoneとかを操作する為のユーザーっぽいです。
ですのでこれは気にしなくて良いと思います。
それでそもそも、ユーザー名とパスワードを聞かれると言うのは恐らく、
初心者さんがログインしているアカウントに、
管理者権限が無いために起きている現象だと思います。
本記事の内容は前提として、
ログインユーザーに管理者権限が存在していないと実行できない為、
まずは初心者さんのログインアカウントに管理者権限を付与してみてお試し下さいませ。
(管理者権限の付与に成功すると、パスワードの入力画面は出てこなくなります。)
方法に関しては当記事では専門外なので詳しくは書きませんが、
以下のURLやGoogleの検索結果等を参考にしてみて下さい。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1068492150
↑でダメだった場合、↓のベストアンサーをお試し下さい。
http://oshiete.goo.ne.jp/qa/5620138.html
上手く行けば良いのですが…。
それではまた!
Date2013/02/11 22:23 [Edit]
Name- 
このコメントは管理人のみ閲覧できます
Date2013/02/14 23:02 [Edit]
Name初心者 
もしかして、管理者権限を付与して、そのタスクスケジュールを作って、管理者権限とれば動きますか?
そういえば権限って剥奪できるんでしょうか?
Date2013/02/15 17:43 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○初心者さん
> もしかして、管理者権限を付与して、そのタスクスケジュールを作って、管理者権限とれば動きますか?
このタスクスケジュールを登録する際にもスクリプトを実行する際にも
管理者権限は必要になると思います。
ですので、初心者さんが普段ログインしているアカウントに管理者権限を付与するか、
管理者アカウントそのものでログインすれば、
私の知らない特殊な事情がなければ記事通りにすれば動くはずです。
> そういえば権限って剥奪できるんでしょうか?
ちょっと剥奪と言う言い方が物騒ですが(^^;
剥奪、と言うのが額面通りの意味であるならば、
「出来るでしょうけどもこのサイトでお教え出来る事はありませぬ。」
と言うのが回答です。
そもそもこのUACというのは、
特定のアプリケーションがユーザーの意思に反して起動し、
システムに勝手に変更を入れてしまう事を防ぐ為に導入されている安全装置です。
このUACをON、OFFするのに管理者権限やユーザーの操作が不要なのであれば、
UACの存在意義が問われる話となります。
ですので、このスクリプトを動かすには管理者権限がある事は大前提です。
記事名には「対策」なんて書いちゃってますが、
ここのスクリプトはUACと戦うのではなく、
どちらかと言えばUACと共存する方向性となっておりますので、
その辺りをお察し頂ければ幸いでございますヽ(;´д`)ノ
Date2013/02/16 16:41 [Edit]
Name初心者 
UACはいいやつなんですね。
ずっとUACと戦ってきましたが(2週間www)
共存ですか。
たしかにそれがいいのかもしれません。
これからはUACと共にウィルスと戦っていきたいです。
ありがとうございました!
Date2013/02/19 18:46 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○初心者さん
> UACはいいやつなんですね。
管理者権限さえあれば完全にUACを表示しない設定にも出来るのですが、
この記事ではそれは行なっていません。
あくまで特定のアプリケーションの起動のみに的を絞って、
UACを表示させないようにしています。(そう言った意味で、共存なのです。)
管理者権限を自身のログインアカウントに付与出来ないと言う事は
恐らく初心者さんの所持するPCではないんですよね。
(職場や学校、親兄弟のPCなのでしょうかね。)
その辺りが解消しましたら、また当記事を参考にしてくださいませ!
Date2013/03/26 23:09 [Edit]
Name通りすがり 
会社の先輩から振られたメンドクセー相談(XPでサポート終了してるソフトを7で使いたい)が、こちらの記事で解決しました。
大変助かりました。これからも楽しみに読ませて貰います。
Date2013/03/27 11:24 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○通りすがりさん
> 会社の先輩から振られたメンドクセー相談(XPでサポート終了してるソフトを7で使いたい)が、こちらの記事で解決しました。
通りすがりさん、こんにちは!
簡単に解決できる、と踏んで先輩さんは言ったのでしょうけど、
得てしてこう言う些細な事の方が解決は面倒だったり、難しかったりするんですよね。
でも、問題が解決したようで良かったです!
> 大変助かりました。これからも楽しみに読ませて貰います。
技術関係の投稿は少ないですが、
またいらしてくださいませ!(^^
Date2013/04/07 11:43 [Edit]
Nameささら 
大変有用な記事をありがとうございます。
お陰様で7のストレスから少し開放されました。
ところで、実行時にウィンドウを最小化して起動したい場合は、どのようにすれば良いのでしょうか?
よろしくご教示の程お願いいたします。
Date2013/04/07 15:45 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ささらさん
初めましてささらさん!
お役に立てた様で何よりです!
> ところで、実行時にウィンドウを最小化して起動したい場合は、どのようにすれば良いのでしょうか?
> よろしくご教示の程お願いいたします。
方法はいくつかあると思いますが、ここでは簡単な方法を一つご紹介します。
まず起動させたいアプリケーションのショートカットファイルを作成して何処かに配置して下さい。
どこに配置していただいても構いませんが間違って消さない所に配置して下さい。
続いてショートカットファイルを右クリックして「プロパティ」を選択して下さい。
そこで以下の様な画面が開くと思うので、
赤枠で囲んだ部分を「最小化」に変更して適用、もしくはOKボタンを押して下さい。
後は、本文中で紹介している「プログラム個別のスクリプト」でアプリケーションのパスに
今回作成したショートカットファイルのパスを指定します。
これでささらさんのご希望する最小化での起動が成功するはずです。
注意点としては
例えばショートカットファイルを「fraps」と名付け、
Cドライブの直下に配置した場合、パスは
strAppPath = "C:\fraps"
ではなく
strAppPath = "C:\fraps.lnk"
と指定する事が必要です。
windowsでは表向き、ショートカットファイルの拡張子を表示しませんが、
実際は .lnk の拡張子を持つ為です。
この拙い文章で、上手くお伝え出来てれば良いのですが…。
朗報をお待ちしております(^^
Date2013/04/09 19:34 [Edit]
Nameささら 
早速の回答ありがとうございます。
教えていただいた方法でやってみたのですけれど、
「xxx.lnk は、有効なWin32アプリケーションではありません。」とダイアログボックスが出てきます。
ショートカット単体では、UACが文句を言うものの普通に最小化で起動しています。
コマンドプロンプトからの実行でもUACが文句を言うものの起動します。
ソースを添付します。
よろしくお願いいたします。
-------------------------------------------
Option Explicit
Dim objTaskService
Dim objFolder
Dim objTask
Dim strAppPath
'' ===ここにプログラムのフルパスを設定===
strAppPath = "c:\CoreTemp.lnk"
'' タスクサービスオブジェクトの取得
Set objTaskService = CreateObject("Schedule.Service")
'' タスクサービスとの接続
objTaskService.Connect
'' 場所を指定してフォルダオブジェクトの取得
Set objFolder = objTaskService.GetFolder("\")
'' タスク名を指定してタスクオブジェクトを取得
Set objTask = objFolder.GetTask("UACEscape")
'' タスクを実行
objTask.Run """" & strAppPath & """"
Date2013/04/09 19:36 [Edit]
Nameささら 
環境を追記します。
Windows7 Home Premium/SP1/64bit
Date2013/04/10 01:39 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○ささらさん
こんばんは!ささらさん!
> 環境を追記します。
>
> Windows7 Home Premium/SP1/64bit
同じエラーが出ないので、むしろ同じエラーが出る方法は無いかと
ありとあらゆる悪手を試してみましたが、
大体、普通に起動できてしまう為、現象を確認できませんでした。
唯一の違いといえば、こちらには64bit環境が無い事です。
もしかしたら32bit/64bitの違いによる問題かも知れません。
現象が確認できないと解決方法も見いだせないので、この方法は諦めます。
次の方法を取りたいと思います!
一度、ショートカット経由の起動は忘れて頂いて、
本記事中のプログラム直接指定の方法に戻して下さい。
ささらさんの書いてくださったアプリケーションに心当たりがあったので
インストールしてみました。
それでメニューのオプション→設定から設定ダイアログを開いて頂いて、
以下の赤字の項目を設定してみて下さい。
一瞬、通常起動しますがすぐに最小化されるはずです。
この実現方法で問題なければ良いのですが…。
いかがでしょうか?
Date2013/04/19 02:04 [Edit]
Name- 
このコメントは管理人のみ閲覧できます
Date2013/04/22 16:04 [Edit]
Namenii 
初めて投稿するものです
特定プログラムのみ管理者権限で立ち上げる方法を
探していたところこちらの内容を見つけうまく対応できました
ありがとうございます
起動引数の指定で教えていただきたいことがあります
特定プログラムの起動で必要な引数をすでに例を
あげていただいている方法で入力して通常は問題なく
起動するのですが引数にスペースがあった時の
指定方法がわかりません
VBSはスペースで区切りを判断するからうまく起動できないのです
引数指定の例では
strAppPath = "%windir%\notepad.exe,/A C:\test.txt"
がありましたが
たとえば C:\test.txt が C:\A B\test.txt の時(AスペースBにtest.txtがある)
どの様に指定すればよいのでしょうか
過去の経験でシングルコーテーションでかこんだり 'C:\A B\test.txt'
Chr(34) & "C:\A B\test.txt" & Chr(34) など試しましたが
スペースを区切りとして判断しているみたいでうまく起動できません
ご教授をお願いいたします
(OSはWindows7pro32ビット版です)
Date2013/04/22 17:23 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○名無しさん
管理者のみ閲覧の記事はブログの最新コメントに表示されない様で、
気づくのが遅くなりました、すいません(;´д⊂)
遅い時間まで頑張っていただいたみたいでお疲れ様でした!
でも無事、動いたとの事で良かったです!
また遊びに来て下さいませ(^^
○niiさん
> 初めて投稿するものです
初めましてniiさん!
なるほど、そう言った問題もあるのですね。
本文記事中の「起動引数を指定する場合のNaotenExec.vbs」を修正してみました。
具体的には21行目のstartの手前に"(ダブルコーテーション)を2個、
strParamの後に &(アンパーサンド)で連結し "(ダブルコーテーション)を4個追加しました。
私の環境もWindows7Pro 32bitなのですが、
試しに以下のコードを走らせても問題なく動いてしまいました。
strAppPath = "%windir%\notepad.exe,/A C:\A B\test.txt"
ですので、大変無責任な話ですが
今回の修正が確実に動作するかも確認できない状況となっております。
動作確認出来ましたら是非、ご一報下さいませ!
Date2013/04/22 17:31 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○niiさん
追記です。
もし、新しいNaotenExec.vbsでも動かない場合、
実際にstrAppPathに渡しているコードを提示していただいてもよろしいでしょうか?
(起動しているプログラム名を知られたくない場合はexe名やフォルダ名を○○等と置き換えて下さい。)
よろしくお願いいたしますm(_ _)m
Date2013/04/22 19:45 [Edit]
Namenii 
早速の回答ありがとうございます
テストしましたところ、当方の起動したいプログラム(IBMの市販プログラムです)では
この例ではエラーとなりメッセージは「C:\A がありません」でした
試しに notepad.exeでテキストファイルを開くとフォルダにスペースがあっても
正しく処理されました
さらに修正していただいく前のVBスクリプトでもnotepadの場合正しく処理されました
この結果から当方で起動しようとしているプログラム自体がスペースで区切りを
判断し引数を得ていると思われます
(プログラムの方は上位フォルダにスペースがあっても正しく認識しています)
お手間をかけていただき申し訳ございませんでした
実際の現在のショートカットは下記の通りです(前がプログラム、後ろが引数)
"C:\Program Files\IBM\Personal Communications\pcsws.exe" "C:\Program Files\IBM\Personal Communications\Private\DSP9931B.ws"
strAppPath = "C:\Program Files\IBM\Personal communications\pcsws.exe,Private\DSPB3306.ws"
とすると正しく起動しますが
strAppPath = "C:\Program Files\IBM\Personal communications\pcsws.exe,C:\Program Files\IBM\Personal Communications\Private\DSP9931B.ws"
としますとC:\Program がありませんのエラーとなります
, 以降のC:\Program でとまっていると想定しています
ショートカットのリンク先をスペースのあるフォルダに変更し
そのフォルダに引数で指定しているDSP3306.wsをコピーして
ショートカットから起動しますと正しく起動しますので
方法があるかもしれません
もう少し色々なパターンを試してみます
Date2013/04/22 20:11 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○niiさん
こんばんはniiさん!
ちなみに以下の引数部分を
> strAppPath = "C:\Program Files\IBM\Personal communications\pcsws.exe,C:\Program Files\IBM\Personal Communications\Private\DSP9931B.ws"
以下の様な「MS-DOS8.3形式」のパスに変更するとどうなりますでしょうか?
strAppPath = "C:\Program Files\IBM\Personal communications\pcsws.exe,C:\PROGRA~1\IBM\PERSON~1\Private\DSP9931B.ws"
Date2013/04/23 12:43 [Edit]
Namenii 
返信が遅くなり申し訳ございません
MS-DOS8.3形式で引数を設定して
起動しましたところ正しく起動いたしました
ありがとうございました
今後も自分で解決できない事象が出た時
お世話になるかもしれませんのでその際も
よろしくお願いいたします
本当にありがとうございました
Date2013/04/23 15:56 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○niiさん
> 返信が遅くなり申し訳ございません
お返事頂けるだけで嬉しいです。
お気にせず(^^
> MS-DOS8.3形式で引数を設定して
> 起動しましたところ正しく起動いたしました
> ありがとうございました
おぉ!!良かった!!
アプリケーションそのもののパスにはMS-DOS8.3形式に変換する処理を入れていたのですが、
(本記事コメント中にsootaさんという方が提案してくださいました。)
引数に関しては勝手に変換する事そのものの良し悪しが解らないので
そう言った処理は入れていなかったのです。
一つのケースとして、このコメントは重要だと思います。
書き込み、ありがとうございました。
本文中の"(ダブルコーテーション)部分は一度、前の状態に戻してしまいますね。
> 今後も自分で解決できない事象が出た時
> お世話になるかもしれませんのでその際も
> よろしくお願いいたします
> 本当にありがとうございました
分かる範囲であれば喜んで!
またお越しくださいませ!
Date2013/05/26 10:32 [Edit]
Nametaka 
昨年、2012年12月9日に「Naoten」さんのHPにたどり着きまして、
快適に運用動作していた「taka」と申します。
(2012年12月9日に書き込んだ通りです)
昨日、セキュリティソフトの Norton Internet Secuyrity がエラーを
起こしまして Norton の推奨するままに2個のソフトをダウンロードして
セットアップ、終了後 Norton が不要になった4つくらいのファイルを
消すメッセージ(推奨モード)を実行しました。
その後、再起動時から毎回、(スクリプト名は変えてありますが、内容は
Naotenさんが紹介して頂いた最初の、「NaotenExec.vbs」全く同じ)
で、「NaotenExec.vbs」実行時にエラーを返してくるようになりました。
内容は
スクリプト: C:\xxxxxx\xxxxxx.vbs
行: 10
文字: 2
エラー: ファイルが見つかりません。
コード: 800A0035
ソース: Microsoft VBScript 実行時エラー
となり、「NaotenExec.vbs」がエラーになってしまいます。
見たところ、無くなっているファイルはなさそうです。
対処法がおわかりになられましたら教えて頂けないでしょうか?
何卒宜しくおねがい致します。
画像のアップロード方法が解らないので、エラー文を文章記載にしました
ご迷惑をおかけして申し訳ございません。
Date2013/05/26 11:30 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○takaさん
> 昨年、2012年12月9日に「Naoten」さんのHPにたどり着きまして、
> 快適に運用動作していた「taka」と申します。
> (2012年12月9日に書き込んだ通りです)
お久しぶりですtakaさん!
> 昨日、セキュリティソフトの Norton Internet Secuyrity がエラーを
> 起こしまして
私はNortonは使っていないのでちょっと調べてみましたが、
どうも25日のNortonの更新では、
当初正常にアップデート出来ない問題が出ていた様ですね。
> で、「NaotenExec.vbs」実行時にエラーを返してくるようになりました。
エラーの内容はファイルが見つからない、と言うものです。
しかしtakaさんの確認では特に、ファイルが消えていると言う事はない。
とすれば考えられる可能性はNortonがブロックしている可能性です。
ただこれも憶測の域を出ないので、
試しに個別実行用のスクリプトファイルを複製してもらって、
複製したスクリプトファイルの
起動するアプリケーションのパスを以下に書き換えて、
実行を試して頂いて宜しいでしょうか?
strAppPath = "%windir%\notepad.exe"
上記はメモ帳を指定しています。
これが問題なく実行出来るのであれば
takaさんが起動したいアプリケーションがNortonに隔離されている等の可能性が少し高まります。
これが実行できないのであれば、
NaotenExce.vbsがNortonによって動作を制限されている等の可能性が少し高まります。
どちらだとしても現時点では断定出来ませんが、
まず、問題の切り分けのためにお試し頂き、
結果を教えて下さいませ!
Date2013/05/26 23:07 [Edit]
Nametaka 
「Naoten」さん、早速の返信有り難うございます。
「Naoten」さんの助言により、行ったこと。
1.strAppPath = "%windir%\notepad.exe" の追記で再起動
結果・・・NG
2.アプリケーションをインストール仕直し(※フォルダの見直し※)
加えて、Nortnのスキャン除外フォルダを設定し直しました。
結果・・・OK
ご存じの通り、win64bitには、Program filesとProgram files(x64)があり、
ここのフォルダのフルパス記述が、vbxの中身と違っていました。
自分の勘違いとは言え、「Naoten」さんの助言を頂くまでフルパスの指定を完全に
間違っていた(勘違い)のはお恥ずかしい事実です。
こんな時だけ、「Naoten」さんの助言を頂く自分の実力のなさにガッカリですが、
どうも有り難うございました。
本当にたすかりました、今後とも宜しくお願い致します。
Date2013/05/28 12:46 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○takaさん
結果的に起動しようと思っていた個別プログラムのパスに相違があった、
と言う事ですかね??
だとするとメモ帳が起動しなかったのが謎です(;´д⊂)
まぁ、細かいことはいいか。
問題が解消されたならそれが何よりですからね!
> 本当にたすかりました、今後とも宜しくお願い致します。
結局、takaさんはご自分で事態を打開なされております!
私は何も助けになっておりませんでした(;´д⊂)
こんな私で良ければ今後ともよろしくおねがいします!!
Date2013/10/03 20:15 [Edit]
Namenicotinism 
さ迷い歩いてたどり着きました。。。
プロセスの優先度が下がる件は、こちらの方のブログをご覧くださいませ。
http://jinblog.at.webry.info/201103/article_11.html
簡単に言うと
UACEscape をエクスポートし出来た xml ファイルの
<Priority>7<Priority>
の7を4に変更保存。
再度インポートして完了。
ありがたや \(^o^)/
ちなみに私めのUAC回避.vbs (タスクスケジューラの方)は
'UAC を回避するためのベース
Option Explicit
Dim oWSH ' WshShell オブジェクト
Dim Args
Set Args = WScript.Arguments
Set oWSH = WScript.CreateObject("WScript.Shell")
'Arguments(1)によって分岐
Select Case Args(1)
Case "NoQuote"
oWSH.Run Args(0)
Case "Quote"
oWSH.Run chr(34) & Args(0) & chr(34)
Case Else '準備中
oWSH.Run chr(34) & Args(0) & chr(34)
End Select
ここのアプリのは
'UACを回避するための個々のファイル設定
Option Explicit
Dim objTaskService
Dim objFolder
Dim objTask
Dim sAppPath
Dim Arg
'' ===ここにプログラムのフルパスを設定===
'sAppPath = "C:\Program Files (x86)\TAC\TAC32.EXE"
'sAppPath = "C:\Program Files (x86)\Paragon Software\Backup and Recovery 2013 Free\program\launcher.exe"
'sAppPath = "C:\Windows\explorer.exe /select ,d:\db_2010\ads.mdb"
'sAppPath = "%windir%\system32\notepad.exe E:\TMP\new 1.txt"
sAppPath = "C:\Windows\system32\cmd.exe /k d:"
sAppPath = chr(34) & sAppPath & chr(34)
'↑コマンド、Path中にスペースが含まれると
'Arguementsの区切りと認識されるので、ダブルクォーテーションで括る
Arg =chr(32) & "NoQuote" '初期値
'Arg =chr(32) & "Quote" '↑大体はどっちかで動きそうです
' タスクサービスオブジェクトの取得
Set objTaskService = CreateObject("Schedule.Service")
' タスクサービスとの接続
objTaskService.Connect
' 場所を指定してフォルダオブジェクトの取得
Set objFolder = objTaskService.GetFolder("\")
' タスク名を指定してタスクオブジェクトを取得
Set objTask = objFolder.GetTask("UACEscape")
' タスクを実行
objTask.Run sAppPath & arg
もう少しナントカしたい気もありますが。。たぶん。。。
蛇足ですが、CCleaner もUAC回避のために通常以下のプロセス優先度ですね。
皆様、ありがとうございました。
Date2013/10/04 15:02 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○nicotinismさん
> さ迷い歩いてたどり着きました。。。
お疲れ様です。さぞお疲れの事でしょう。
ゆっくりしていって下さいまし!
> プロセスの優先度が下がる件は、こちらの方のブログをご覧くださいませ。
>
http://jinblog.at.webry.info/201103/article_11.html
ふむふむ。
> 簡単に言うと
> UACEscape をエクスポートし出来た xml ファイルの
> <Priority>7<Priority>
> の7を4に変更保存。
> 再度インポートして完了。
> ありがたや \(^o^)/
プロセスの優先度が下がってしまうのはその設定で回避可能なんですか!
今度時間が有るときに試してみます!
情報ありがとうございます!!
> ちなみに私めのUAC回避.vbs (タスクスケジューラの方)は
ふむふむ。
実行前にダブルコーテーションで囲うか囲わないかを指定する方式で
プログラムのパスや引数によって柔軟に指定出来る作りなんですね。
非常に参考になります!
> もう少しナントカしたい気もありますが。。たぶん。。。
> 蛇足ですが、CCleaner もUAC回避のために通常以下のプロセス優先度ですね。
> 皆様、ありがとうございました。
nicotinismさんのアイデアもまた、ここの血となり肉となります!!
情報感謝でございます!!
Date2014/03/15 17:56 [Edit]
Namet.soota 
お久しぶりです。t.sootaです。
@wikiの流出、改竄に伴い、HPをwikiwiki様に移設しました。
ですので、wikiwiki様に設置したHPよりこちらへのリンクを貼り直させていただきました。
http://wikiwiki.jp/a2zizm/?Tips%2FEscapeOfUAC
それでは^^
Date2014/03/16 20:51 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○sootaさん
> お久しぶりです。t.sootaです。
お久しぶりです!
その節は色々とお世話になりました!
> @wikiの流出、改竄に伴い、HPをwikiwiki様に移設しました。
この問題はちょっとびっくりしましたよね。
去年の11月前後から実は流出してたのではないかとかなんとかどっかで読みました。
> ですので、wikiwiki様に設置したHPよりこちらへのリンクを貼り直させていただきました。
>
http://wikiwiki.jp/a2zizm/?Tips%2FEscapeOfUAC
わざわざご連絡いただきありがとうございます!
あ、なんか新Wiki、黒くてかっこ良くなってる!!
> それでは^^
それではまたです!!
Date2014/12/08 19:06 [Edit]
Namebenben 
はじめまして。
こちらのWindows7UAC対策方法にお世話になり、長らく利用させていただいている者です。
ある問題に直面してしまい、お力をお借りしたくコメントしました。
これまで手動で起動していたプログラム個別スクリプトを
今回スタートアップに追加しようと思ったのですが、
スタートアップのフォルダにスクリプトファイルを追加しても
ログオン時に当該プログラムが起動しません。
こちらを初めて拝見したときにスタートアップに登録したと思われるスクリプトファイルは
ログオン時に起動しているのですが、新たに追加した分が起動しない状況です。
なお、追加したスクリプトファイルを手動でダブルクリックすればプログラムは起動できます。
また、ログオン時にOSやセキュリティソフトからのエラーメッセージ等は出ていません。
もし何か術がありましたらよろしくお願いいたします。
Date2014/12/09 03:08 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○benbenさん
> はじめまして。
benbenさん初めまして!
> こちらのWindows7UAC対策方法にお世話になり、長らく利用させていただいている者です。
お役にたっているようで光栄です!
> ある問題に直面してしまい、お力をお借りしたくコメントしました。
> これまで手動で起動していたプログラム個別スクリプトを
> 今回スタートアップに追加しようと思ったのですが、
> スタートアップのフォルダにスクリプトファイルを追加しても
> ログオン時に当該プログラムが起動しません。
ふむふむ。
状況を理解しました。
こちらで同様の事を試行した所、
benbenさんのおっしゃる問題が再現いたしました。
> もし何か術がありましたらよろしくお願いいたします。
本記事最後にスタートアップ等での複数起動時の対応方法を記述しました。
こちらではこれにより問題の解決を確認しましたが
もし、可能であればお試し頂き、経過をお聞かせ願えれば幸いです。
Date2014/12/09 17:37 [Edit]
Namebenben 
早速のご返信ありがとうございます。
記載いただいた方法を試したところ、
追加したスクリプトもログオン時に無事起動しました。
また、起動できなかった原因も解説書きを読んで理解でき、
とてもスッキリしました。
迅速かつ丁寧なご対応、本当にありがとうございました。
Date2014/12/09 19:06 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○benbenさん
> 記載いただいた方法を試したところ、
> 追加したスクリプトもログオン時に無事起動しました。
おぉ!それは良かったです!
> また、起動できなかった原因も解説書きを読んで理解でき、
> とてもスッキリしました。
こちらももやもやが晴れました(^^
> 迅速かつ丁寧なご対応、本当にありがとうございました。
benbenさんのご指摘はきっと、
この記事を閲覧くださる方々の助けになると思います。
こちらこそ、ありがとうございました!
Date2015/07/15 17:21 [Edit]
Namesoota 
お久しぶりです。
ふと思い出して来てみました。
起動時にまとめて起動する場合ですが、私の場合は以下のようにしています。
というのも、私は「UACEscape」よりも先にスタートアップの~.vbsが
実行されてしまっている可能性を危惧しています。
この為、完全に別のタスクとして起動させています。
この方法だと、マシンのラグ発生時など、ウェイトを気にせずに使えます。
タスクスケジューラに以下のタスクを登録
全般→管理者権限でまとめて起動
トリガー→ユーザのログオン時
操作→プログラムの開始(管理者権限でまとめて起動.vbsを指定)
管理者権限でまとめて起動.vbsの中身
(サンプルで、3つのプログラムを起動しています。また、全角の¥は半角にしてください)
Option Explicit
Dim objWshShell ' WshShell オブジェクト
Dim objFileSystem
Dim objFilePath
Dim strAppPath
'' ===ここにプログラムのフルパスを設定===
strAppPath = "D:¥tools¥AutoHotkey¥AutoHotkey.exe"
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFilePath = objFileSystem.GetFile(strAppPath)
objWshShell.CurrentDirectory = objFileSystem.GetParentFolderName(objFilePath.ShortPath)
Call objWshShell.Run("cmd.exe /c start /NORMAL " & objFilePath.ShortPath ,0,False)
'' ===ここにプログラムのフルパスを設定===
strAppPath = "D:¥tools¥cg¥ws¥WinShot.exe"
Set objFilePath = objFileSystem.GetFile(strAppPath)
objWshShell.CurrentDirectory = objFileSystem.GetParentFolderName(objFilePath.ShortPath)
Call objWshShell.Run("cmd.exe /c start /NORMAL " & objFilePath.ShortPath ,0,False)
'' ===ここにプログラムのフルパスを設定===
strAppPath = "C:¥Program Files (x86)¥QShot¥QShot.exe"
Set objFilePath = objFileSystem.GetFile(strAppPath)
objWshShell.CurrentDirectory = objFileSystem.GetParentFolderName(objFilePath.ShortPath)
Call objWshShell.Run("cmd.exe /c start /NORMAL " & objFilePath.ShortPath ,0,False)
''起動するプログラム毎に、以下の設定を追記
'''' ===ここにプログラムのフルパスを設定===
''strAppPath = "C:Program FilesSpeccySpeccy64.exe"
''
''Set objFilePath = objFileSystem.GetFile(strAppPath)
''objWshShell.CurrentDirectory = objFileSystem.GetParentFolderName(objFilePath.ShortPath)
''Call objWshShell.Run("cmd.exe /c start /NORMAL " & objFilePath.ShortPath ,0,False)
Date2015/07/16 13:57 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
◯sootaさん
> お久しぶりです。
> ふと思い出して来てみました。
お久しぶりです!sootaさん!
> 起動時にまとめて起動する場合ですが、私の場合は以下のようにしています。
おぉ?
> というのも、私は「UACEscape」よりも先にスタートアップの~.vbsが
> 実行されてしまっている可能性を危惧しています。
今回の件では1つ目のスクリプトは普通に起動していたとの事で
> 「UACEscape」よりも先に~
と言う可能性は気づいても居ませんでした。
でも言われてみれば確かにその通りで、
「UACEscape」が一番始めに実行されていると言うのは思い込みで、
そこに根拠がある訳ではありませんでした。
> この為、完全に別のタスクとして起動させています。
> この方法だと、マシンのラグ発生時など、ウェイトを気にせずに使えます。
なるほど。コレ自体をタスクスケジューラから起動するのですね!
> タスクスケジューラに以下のタスクを登録
> 全般→管理者権限でまとめて起動
> トリガー→ユーザのログオン時
> 操作→プログラムの開始(管理者権限でまとめて起動.vbsを指定)
>
> 管理者権限でまとめて起動.vbsの中身
同一コードの中で連続して呼び出せば、
当然、1つ前のプログラムの起動処理を終えてから次に取り掛かるわけで、
同時起動によるバッティングもなくなりますね。
手間の都合上、簡単に説明できる方法で楽をしておりました(ーー;
sootaさんの書き込みは、このページを訪れる方の助けになると思います。
いつもありがとうございます!!
PS.
アニメなどは見られないかも知れませんが、
今期やっている「オーバーロード」と言うアニメで
sootaさんのUOのキャラを思い出しました!
(ギルマスだしスケルトン装備だし…。)
妙な偶然もあるものです(^^;
Date2016/11/21 06:30 [Edit]
Name通りすがり 
初めまして。普段、安全だと分っているPGに対してもUAC制御が出てしまうことに対して、
何とかならないかと思っており、このページにたどり着きました。
が…
> ログインユーザーが管理者で無い場合は
> 正常に動作しないので注意してください。
そうなんですか…普段は標準権限のユーザを使っています(セキュリティ上)。
こちらの方法は使えないということですね(とほほ)
別の言い方をすると、管理者権限のユーザであっても、
既定値の動作ではUAC制御が出てしまうということでしょうか。
Date2016/11/21 11:51 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○通りすがりさん
> 初めまして。普段、安全だと分っているPGに対してもUAC制御が出てしまうことに対して、
> 何とかならないかと思っており、このページにたどり着きました。
> が…
通りすがりさん、初めまして!
> > ログインユーザーが管理者で無い場合は
> > 正常に動作しないので注意してください。
>
> そうなんですか…普段は標準権限のユーザを使っています(セキュリティ上)。
> こちらの方法は使えないということですね(とほほ)
はい、そうなります(TーT
管理者権限を持っていて
プログラムにある程度の信頼性があるのに毎回UACが表示されて困る、
それを回避するのがこの記事の内容となります。
> 別の言い方をすると、管理者権限のユーザであっても、
> 既定値の動作ではUAC制御が出てしまうということでしょうか。
はい、管理者ユーザーでもUAC制御が出るのです。
管理者ユーザーでログインしているからと言って、
ログイン中にウィルス等の意図しないプログラムが管理者権限を持って動作し、
勝手にコアなファイルを書き換えたりしてしまうとマズイので
自分で実行した場合であれ、他のプログラムが実行した場合であれ
プログラムが特定の動作を行おうとするとUACが表示され確認を促されます。
権限を持っているが、それを絶えず行使している訳ではない、と言いましょうか。
以下の情報ページに、管理者権限とUACの関係が解りやすく記載されています。
興味がございましたらご一読下さいませヽ(;´д`)ノ
お力になれずに申し訳ありません(TーT
管理者権限での実行を制限するUAC
http://www.atmarkit.co.jp/fwin2k/vista_feature/07uac01/07uac01_02.html
Date2017/05/20 08:49 [Edit]
Nameてーぷ 
CLaunchから起動する場合、UACの出るものや、Windows98の互換モードで起動するものは、
「アイテムの起動に失敗」となるので、あきらめていましたが、この方法を使うと簡単に起動できて助かりました。
別のAdministratorとrunasコマンドを使う方法は大変なことになって、システムの復元を使うハメになりました。
結局、こっちのタスクスケジューラを使う方法のほうが安全でした。
Date2017/05/21 10:01 [Edit]
Name
Naoten(ナオテン)'s Mail Address" />
Naoten(ナオテン)'s URL" />
○てーぷさん
てーぷさんはじめまして!
> CLaunchから起動する場合、UACの出るものや、Windows98の互換モードで起動するものは、
> 「アイテムの起動に失敗」となるので、あきらめていましたが、この方法を使うと簡単に起動できて助かりました。
無事問題が解消した様で良かったです!
また、改善例を書き込んで頂き、
同様に悩む方々への重要な情報となります。
ご報告ありがとうございました!
> 別のAdministratorとrunasコマンドを使う方法は大変なことになって、システムの復元を使うハメになりました。
なるほど、そう言った実行方法もあるのですね。
しかしシステムの復元を行う必要があったと言う事は
デッドロック的な事、もしくはデータの破壊的な事が発生してしまったのですかね。
とりあえず復旧は出来た様ですので良かった。
> 結局、こっちのタスクスケジューラを使う方法のほうが安全でした。
昔はバッチファイルを作ったりして、
複数の処理や複雑な処理を半自動化したかと思いますが、
この方式はそれに近いものがありますかね。
何をやっているのか解りやすい分、問題も少ないのかと。
お役に立てたようで、何よりでした!