2013年7月10日水曜日

net useで共有フォルダをドライブにマッピングした場合、「管理者として実行」でCMDを起動するとドライブが認識されない

  • このエントリーをはてなブックマークに追加


net useを使って共有フォルダをローカルのドライブにマッピングします。普通にCMDを起動すると、ドライブを普通に利用できますが、「管理者として実行」で起動した場合は、”指定されたドライブが見つかりません”というメッセージが表示されます。

image

 

以下のシナリオを考えてみます。

・Xドライブに、管理者権限に昇格し実行する必要があるVBScript(Test.vbs)がある

・Test.vbsを呼び出すバッチ(callVBS.bat)がある

image

Test.vbsの内容は以下です。

' 管理者権限に昇格 
' WScript.Arguemnts.Count = 0:GUI 1:CUI 
do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7 
 
  ' Check WScript5.7~ and Vista~ 
  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  'Exit if not vista 
  Next 
  
  ' Run this script as admin. 
  Set sha = CreateObject("Shell.Application") 
  sha.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas" 
  
  WScript.Quit 
loop 
 
' todo: 
Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.RegWrite "HKLM\SOFTWARE\Test\Value", "Test", "REG_SZ" 

 

バッチを実行すると、UACのポップアップ画面が表示されて、「はい」を選択したら、”スクリプト ファイル <Script name>が見つかりません。”という旨のエラーが出ます。

image

 

なぜかわからないですが、どうやら、マッピングしたドライブに直接実行することができなくて、VBScriptをローカルにコピーして実行する必要があります。

この記事がお役にたちましたらシェアをお願いします:)

  • このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿