Я попробовал решение Тима С на компьютере под управлением Windows 7 в сети моей компании, где у меня действительно есть права администратора. Но он показывает, что мой пользователь не имеет прав администратора.
Вместо этого я использовал хакерский метод, так как для вызова defrag в командной строке cmd требуется доступ администратора. Хотя это работает, будьте осторожны, что XP и 7 (и, возможно, будущие версии Windows) отличаются в коде возврата. Может быть более последовательный выбор, чем дефрагментация, но пока он работает.
Function isAdmin
Dim shell
set shell = CreateObject("WScript.Shell")
isAdmin = false
errlvl = shell.Run("%comspec% /c defrag /?>nul 2>nul", 0, True)
if errlvl = 0 OR errlvl = 2 Then '0 on Win 7, 2 on XP
isAdmin = true
End If
End Function