Я пытаюсь написать Perl-скрипт, который определяет, какие пользователи в настоящее время вошли в Windows с помощью query.exe (c: \ Windows \ system32 \ query.exe). Perl не может получить доступ к этому файлу, не может выполнить его, даже не может увидеть, что он существует, как я обнаружил с помощью следующего кода:
print `dir c:\\windows\\system32\\query*`;
Это дает следующий вывод:
07/13/2009 05:16 PM 1,363,456 Query.dll
1 File(s) 1,363,456 bytes
0 Dir(s) 183,987,658,752 bytes free
Я проверил пользователя, выполняющего сценарий с помощью функции getlogin
perl, и он возвращает имя члена локальной группы администраторов (в частности, меня). Я также попытался добавить разрешения на чтение / выполнение для «Все», но Windows продолжает выдавать мне ошибки об отказе в доступе, когда я пытаюсь изменить разрешения этого файла. Наконец, я попытался запустить perl.exe от имени администратора, но это тоже не решило проблему.
Это то, что я могу решить, изменив некоторые настройки в Windows? Нужно ли что-то добавить в мой Perl-скрипт? Или просто нет возможности предоставить Perl доступ к некоторым из этих процессов?