我必須在有限權限的用戶帳戶上運行腳本。在腳本中,有一行可以查找指定文件的完整路徑,它必須與環境變量配合使用,例如%HOMEDRIVE%。具有有限權限的WSHShell.ExpandEnvironmentStrings
然而,如果用戶不是管理員在命令行
objShell.ExpandEnvironmentStrings("%HOMEDRIVE%")
拋出一個接取否認例外。
如何從具有有限權限的帳戶讀取此環境變量?
謝謝!
我必須在有限權限的用戶帳戶上運行腳本。在腳本中,有一行可以查找指定文件的完整路徑,它必須與環境變量配合使用,例如%HOMEDRIVE%。具有有限權限的WSHShell.ExpandEnvironmentStrings
然而,如果用戶不是管理員在命令行
objShell.ExpandEnvironmentStrings("%HOMEDRIVE%")
拋出一個接取否認例外。
如何從具有有限權限的帳戶讀取此環境變量?
謝謝!
嘗試把下面的腳本的開始:
Set oShell = CreateObject("WScript.Shell")
strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
Const ssfPROFILE = &H28
Set oShell = CreateObject("Shell.Application")
strHomeFolder = oShell.NameSpace(ssfPROFILE).Self.Path
然後,當你需要引用您可以使用下面的,而不是用戶名「C:\用戶\」只是把在:
= strHomeFolder & "\...\The Rest Of The Filepath eg.appdata\...\"
這應該讓你訪問用戶特定的路徑,然後繼續找到一個特定的文件。它訪問哪個用戶登錄的主文件夾。如果其他用戶打開它,它將訪問他/她的homefolder。
我希望這有助於!
此代碼還會在非管理員帳戶上使用「訪問被拒絕錯誤」擴展.ExpandEnvironmentStrings。它看起來像一個標準的用戶不能訪問環境變量。 – Machinegon
請提供更多的上下文和確切的錯誤細節(錯誤號,消息,行號)。您發佈的那一行不應引發「訪問被拒絕」錯誤。 –