Мне только что поручили очень неприятный проект. Я придумал, что это, несомненно, ужасный способ сделать это, поэтому я подумал, что выложу проект и посмотрю, есть ли у кого-нибудь понимание.
Требования таковы: пользователю A должен быть показан список того, кто запускает исполняемый файл A на двух терминальных серверах Windows 2k3. Пользователь-A не является администратором и не должен иметь прав администратора, а также у этого пользователя не должно быть пароля к учетной записи администратора.
Ой.
Вот что я придумал. Visual Fox Pro 9 - мой основной инструмент разработки. Я автоматизировал комбинацию PSEXEC, CMD.exe и Tasklist.exe, чтобы получить правильный список, выгруженный в место, где я мог бы забрать данные и отобразить их пользователю. Мне не нужно давать пользователю какие-либо пароли для выполнения работы, так что это плюс, но у него просто так много недостатков, что это просто смешно.
Так что ты думаешь? Д.
Почему бы не сделать это простым и не создать запланированную задачу для запуска каждые 5 минут для tasklist.exe (в качестве учетной записи администратора svc) и использовать конвейер «>» для вывода ее в текстовый файл в общем каталоге? Таким образом, любой системный администратор или разработчик может дополнить его, если это потребуется позже, благодаря простоте.
Установлен ли PowerShell в вашей среде?
Вот пример доступных данных:
Get-Process <PROCESS_NAME> | ConvertTo-HTML | Out-File C:\www\Test.html
Вот так!
Вы хотите сделать это на удаленной машине? (Только Powershell v2, это возможно в v1, но беспорядочно)
Get-Process <PROCESS_NAME> -computername <COMPUTER_NAME> | ConvertTo-HTML | Out-File C:\www\Test.html
(Кстати, в том, как вы это делаете, нет ничего плохого ...)