初めまして。シスアド担当のスカイ(甘党)です。
さっそくですが「あるあるPC管理者の悩み」を中心に書いていこうと思います。
そんなわけで今回あるあるPC管理者ネタはVBScriptで
「管理者権限がないユーザーにも管理者権限が必要なソフトをインストールさせたい!①」です。
今回のネタはソフト配信ツール等が配備されている企業なら全然悩むことないと思うんだけど、
「そんなに頻度もないし導入するほうが手間だ」とか
「でもお高いんでしょ?」とかとか
「マンパワーでなんとかならないの?」とかあるあるじゃないでしょうか。
こんな時は(楽するためにも)PC管理者大好きVBScriptの出番ですね。
管理者権限で実行するには色々な方法がありますが、
「コマンドプロンプトを管理者として実行する」方法が簡単なのでご紹介します。
今回はShellのRunasコマンドとSendkeysメソッドを利用してみます。
豆知識としてRunasコマンドはVISTAから利用できまして、
現在のログオンユーザとは別のユーザーでのアクセス許可する事ができます。豆知識終了。
動作確認環境はWindows7Pro_32bit、64bit(どちらもドメイン参加済)
他の前提条件としては
・ドメインまたはローカル管理者の権限がPCにある事。
・VBSを実行できる事。(グループポリシー等により制限がある場合はできません;;)
Set WshShell = CreateObject("Wscript.Shell") 'ローカルユーザの場合はドメイン名のとこ記載不要です。 Return = WshShell.Run("runas /user:『ドメイン名\ユーザー名』 cmd.exe") WScript.Sleep 1000 WshShell.AppActivate "runas.exe" WScript.Sleep 1000 'パスワードは上記に記載したユーザーのパスワードを入れて下さい。 WshShell.SendKeys "『パスワード』" WScript.Sleep 1000 WshShell.SendKeys "{enter}" WScript.Sleep 1000 WshShell.AppActivate "cmd" WScript.Sleep 1000 'インストールするファイルのパス(例)c:\test\test.exe WshShell.SendKeys "『インストールしたいexeのパス』" WScript.Sleep 1000 WshShell.SendKeys "{enter}"
やったーこれで色々できちゃうぞーーーと喜ばれた方に悲報です。
「あれ?コマンドプロンプト画面実行中にメモ帳とか開くとPASSがゲットできるぞ!?」
そうなのです。最初に申し上げてなかったのですが私の作成したVBSは実行したら終了まで何も操作しないで!って仕様なのです…
exe以外でも利用できるので有用といえば有用なのですけどね!
なので今回の「管理者権限がないユーザーにも管理者権限が必要なソフトをインストールさせたい!①」はお蔵入りに、あるある!!
次回「管理者権限がないユーザーにも管理者権限が必要なソフトをインストールさせたい!②」に続きます。あるある!!