2012-09-10 5 views
0

В моей работе у нас есть приложение, которое мы используем (Mikogo), которое устанавливается в каталог пользователя в папке «Данные приложения», а не в папку «Файлы программ».VBS Проверка папки данных приложения для нескольких пользователей

Mikogo выпустил обновление, поэтому я хочу узнать, на каких компьютерах он установлен, поэтому я могу обновить программное обеспечение. Для этого я хочу проанализировать список компьютеров и проверить, существует ли папка «Mikogo 4» в папке «Данные приложения» для каждого пользователя на компьютере.

Я знаю, как анализировать список компьютеров, я знаю, как проверить, существует ли папка, я даже знаю, как получить расположение папки данных приложения ... моя проблема в том, что я не знать, как получить местоположение папки данных приложения для каждого отдельного пользователя на компьютере, который я сейчас проверяю.

Есть ли способ проверить каждую отдельную папку данных приложения?

ответ

0

Нечто подобное может сделать:

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 в вашей среде, вам также придется это обработать.

+0

Спасибо за ответ. Я нахожусь на пути домой на ночь, но завтра я проверю это и дам вам знать, работает ли это. – Randy