VBS Проверьте папку данных приложения для нескольких пользователей
На моей работе у нас есть приложение, которое мы используем (Mikogo), которое устанавливается в каталог пользователя в папке App Data, а не в папку Program Files.
Компания Mikogo выпустила обновление, поэтому я хочу выяснить, на каких компьютерах оно установлено, чтобы я мог обновить программное обеспечение. Для этого я хочу проанализировать список компьютеров и проверить, существует ли папка "Mikogo 4" в папке "Данные приложения" для каждого пользователя на компьютере.
Я знаю, как анализировать список компьютеров, я знаю, как проверить, существует ли папка, я даже знаю, как определить местоположение папки App Data... моя проблема в том, что я не знаю, как получить расположение папки "Данные приложения" для каждого отдельного пользователя на компьютере, который я сейчас проверяю.
Можно ли проверить каждую отдельную папку данных приложения?
1 ответ
Нечто подобное может сделать:
Const regProfilesDir = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfilesDirectory"
Const appDataDir = "AppData\Roaming"
Set sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
profilesDir = sh.ExpandEnvironmentStrings(sh.RegRead(regProfilesDir))
For Each user In fso.GetFolder(profilesDir).SubFolders
If fso.FolderExists(fso.BuildPath(user.Path, appDataDir & "\Mikogo 4")) Then
WScript.Echo "Application folder exists for user " & user & "."
End If
Next
Однако версии Windows до Vista использовали другое имя для папки AppData, и имя также было локализовано. Если в вашей среде есть более старые версии Windows, вам также придется с этим справиться.