Windows Delphi上特定用户/密码的提升权限

Windows Delphi上特定用户/密码的提升权限,windows,delphi,uac,credentials,privileges,Windows,Delphi,Uac,Credentials,Privileges,我正在开发一个应用程序来运行我的同事必须执行的一些默认步骤,但是我是唯一一个拥有管理员密码并且我的应用程序需要管理员权限的人,但是我不能每次都为他们登录 我虽然在创建一个函数来自我提升我的程序或使用管理员凭据启动它,但如果不将用户和密码作为参数传递给第三方应用程序,我就找不到任何关于它的信息,这很容易被跟踪 有人知道如何处理这个问题吗?您可以: 使用LogonUser()登录到所需的用户帐户,然后使用ImpersonateLoggedOnUser()让调用线程在执行所需任务之前模拟该用户,然后在

我正在开发一个应用程序来运行我的同事必须执行的一些默认步骤,但是我是唯一一个拥有管理员密码并且我的应用程序需要管理员权限的人,但是我不能每次都为他们登录

我虽然在创建一个函数来自我提升我的程序或使用管理员凭据启动它,但如果不将用户和密码作为参数传递给第三方应用程序,我就找不到任何关于它的信息,这很容易被跟踪

有人知道如何处理这个问题吗?

您可以:

  • 使用
    LogonUser()
    登录到所需的用户帐户,然后使用
    ImpersonateLoggedOnUser()
    让调用线程在执行所需任务之前模拟该用户,然后在完成后使用
    retertoself()
    停止模拟

  • 将管理任务移动到单独的进程,然后使用
    LogonUser()
    CreateProcessAsUser()
    ,或者使用
    CreateProcessWithLogonW()
    ,在需要时使用用户凭据启动该进程

  • 您可以:

  • 使用
    LogonUser()
    登录到所需的用户帐户,然后使用
    ImpersonateLoggedOnUser()
    让调用线程在执行所需任务之前模拟该用户,然后在完成后使用
    retertoself()
    停止模拟

  • 将管理任务移动到单独的进程,然后使用
    LogonUser()
    CreateProcessAsUser()
    ,或者使用
    CreateProcessWithLogonW()
    ,在需要时使用用户凭据启动该进程

  • 您可以:

  • 使用
    LogonUser()
    登录到所需的用户帐户,然后使用
    ImpersonateLoggedOnUser()
    让调用线程在执行所需任务之前模拟该用户,然后在完成后使用
    retertoself()
    停止模拟

  • 将管理任务移动到单独的进程,然后使用
    LogonUser()
    CreateProcessAsUser()
    ,或者使用
    CreateProcessWithLogonW()
    ,在需要时使用用户凭据启动该进程

  • 您可以:

  • 使用
    LogonUser()
    登录到所需的用户帐户,然后使用
    ImpersonateLoggedOnUser()
    让调用线程在执行所需任务之前模拟该用户,然后在完成后使用
    retertoself()
    停止模拟

  • 将管理任务移动到单独的进程,然后使用
    LogonUser()
    CreateProcessAsUser()
    ,或者使用
    CreateProcessWithLogonW()
    ,在需要时使用用户凭据启动该进程


  • 从非管理员帐户运行具有管理员权限的应用程序将始终提示输入管理员凭据。大多数需要管理员权限的应用程序不会接受来自命令行的凭据;他们只是假设应用程序是由管理员运行的,让Windows来处理。构建一个处理管理步骤的服务和一个触发该服务的客户端。Windows Update和Firefox Updater(以及更多)就是这样做的。从非管理员帐户运行具有管理员权限的应用程序时,将始终提示输入管理员凭据。大多数需要管理员权限的应用程序不会接受来自命令行的凭据;他们只是假设应用程序是由管理员运行的,让Windows来处理。构建一个处理管理步骤的服务和一个触发该服务的客户端。Windows Update和Firefox Updater(以及更多)就是这样做的。从非管理员帐户运行具有管理员权限的应用程序时,将始终提示输入管理员凭据。大多数需要管理员权限的应用程序不会接受来自命令行的凭据;他们只是假设应用程序是由管理员运行的,让Windows来处理。构建一个处理管理步骤的服务和一个触发该服务的客户端。Windows Update和Firefox Updater(以及更多)就是这样做的。从非管理员帐户运行具有管理员权限的应用程序时,将始终提示输入管理员凭据。大多数需要管理员权限的应用程序不会接受来自命令行的凭据;他们只是假设应用程序是由管理员运行的,让Windows来处理。构建一个处理管理步骤的服务和一个触发该服务的客户端。Windows Update和Firefox Updater(以及更多)就是这样做的。我不是舒尔,它是如何与第二个选项一起工作的,但Impersonate工作得非常好。谢谢,我不是舒尔,我不是舒尔,我不是舒尔,我不是舒尔,我是舒尔,我不是舒尔,我不是舒尔,我不是舒尔。谢谢,我不是舒尔,我不是舒尔,我不是舒尔,我不是舒尔,我是舒尔,我不是舒尔,我不是舒尔,我不是舒尔。谢谢,我不是舒尔,我不是舒尔,我不是舒尔,我不是舒尔,我是舒尔,我不是舒尔,我不是舒尔,我不是舒尔。谢谢