簡體   English   中英

如何在Windows 7下找出應用程序需要的權限

[英]How to find out what permission an application needs under Windows 7

有沒有辦法找出我的應用程序需要什么特權才能在Windows 7環境中運行?

我有一個Delphi應用程序,它使用BDE和ODBC進行數據庫連接。 此應用程序適用於在普通用戶帳戶上運行Windows 7的大多數計算機。 但是,在某些計算機上,它僅適用於具有管理權限的帳戶,並且在普通用戶帳戶上無法正常工作。 我懷疑這是一個許可問題。 計算機也在Active Directory中運行。

我試圖從SysInternals使用Process Monitor找到一些信息,但是我的輸出太高級了。 我的應用程序的兩次運行的進程監視器日志(1.成功管理權限,2。正常權限不成功)有超過22k行,我在進程監視器日志(haystack)中找不到答案(針)。

我該怎么做才能確定我的應用程序在Windows 7中需要的權限?

使用Microsoft應用程序兼容性工具包中標准用戶分析器

標准用戶分析器(SUA)工具和標准用戶分析器向導(SUA向導)使您能夠測試應用程序和監視API調用,以檢測由於Windows中的用戶帳戶控制(UAC)功能導致的潛在兼容性問題®7操作系統。

UAC(以前稱為受限用戶帳戶(LUA))要求所有用戶(包括Administrator組成員)以標准用戶身份運行,直到通過使用安全提示對話框故意提升應用程序。 但是,由於應用程序需要對標准用戶不可用的位置進行訪問和權限,因此並非所有應用程序都可以使用標准用戶角色正常運行。

Aaron Margosis有一個名為LUA Buglight的工具,旨在幫助追蹤與特權相關的問題。

您可以從以下博客文章下載最新版本: LUA Buglight 2.1.1,支持Win7 / 2008R2 SP1

它在概念上類似於MS Application Verifier。 但是,在實踐中我發現LUA Buglight更容易使用和理解。 與ProcessMonitor相同。 它將以類似的方式監視您的進程,但僅報告作為普通用戶失敗但作為管理員用戶成功的操作。

沒有文檔,但使用起來很簡單。 從主GUI窗口中選擇你的Exe並讓BugLight程序啟動它。 您需要在啟用了UAC的管理員帳戶中運行。 通過您不是管理員時失敗的步驟運行您的程序。 完成后,單擊“停止記錄”按鈕以查看報告,該報告列出了沒有管理員權限的呼叫失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM