• 締切済み

WSHからのコマンドプロンプト実行

お世話になります。 OS:Windows7 Professional SP1 UAC:既定(上から2番目) 上記の条件で、WSHからコマンドプロンプトを管理者権限で立ち上げ、 ファイルをコピーするスクリプトを作成したいのですが・・・ 当方あまり知識が無く困り果ててる次第でございます。 *************************************************************************** Do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7 Set wmi = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set os = wmi.ExecQuery("SELECT *FROM Win32_OperatingSystem") For Each value in os if left(value.Version, 3) < 6.0 then exit do Next Set sha = CreateObject("Shell.Application") sha.ShellExecute "cmd.exe", """" & WScript.ScriptFullName & """ uac", "", "runas" WScript.Quit loop *************************************************************************** 以上のコマンドでUsersからでも管理者権限でプロンプトが立ち上がる所までは確認しています。 このあと、プロンプト上で    "Copy D:\A.txt C:\Windows\System32 /y" を自動的に実行してくれるようなスクリプトにしたいのですが、どう記述すればよいのでしょうか? なるべくユーザーに負担をかけない形で、スクリプト一発で処理できたらと考えていますが・・・ ご指導よろしくお願い致します。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

Set oFS=Wscript.CreateObject("Scripting.FileSystemObject") oFS.CopyFile "d:\a.txt","C:\Windows\System32\" みたいな感じだとうごきませんか?

Omuletsu
質問者

お礼

ご回答ありがとうございます。 管理者として立ち上げたプロンプトに入力されるわけではないので、UACに弾かれてしまうようですね・・・ 勉強になりました。

  • a-yoshi
  • ベストアンサー率34% (222/645)
回答No.1

的外れなコメントになるかもしれませんが、以下のもので、IPCONFIG /ALL を実行させることができています。 Set objWS = CreateObject("WScript.Shell") Set objExec = objWS.Exec("cmd.exe /c ipconfig/all") (抜粋) これをこんな感じで実行してみてください。 Dim objWS Dim objExec Set objWS = CreateObject("WScript.Shell") Set objExec = objWS.Exec("cmd.exe /c Copy D:\A.txt C:\Windows\System32 /y") だめだったらごめんなさい。 では

Omuletsu
質問者

お礼

ご回答ありがとうございます。 私のスクリプトで立ち上がった管理者権限付きのプロンプトとは、別にプロンプトが立ち上がってしまうようです。 (コピーコマンドはUACで弾かれました) なかなか難しいものですね…

関連するQ&A