WSManPluginAuthzUserComplete 函数 (wsman.h)
从 WSManPluginAuthzUser 插件入口点调用,并报告用户连接授权成功或失败。
语法
DWORD WSManPluginAuthzUserComplete(
[in] WSMAN_SENDER_DETAILS *senderDetails,
[in] DWORD flags,
[in, optional] PVOID userAuthorizationContext,
[in, optional] HANDLE impersonationToken,
[in] BOOL userIsAdministrator,
[in] DWORD errorCode,
[in, optional] PCWSTR extendedErrorInformation
);
参数
[in] senderDetails
指向传递到 WSManPluginAuthzUser 插件调用的 WSMAN_SENDER_DETAILS 结构的指针。
[in] flags
保留供将来使用。 必须设置为零。
[in, optional] userAuthorizationContext
指定用于帮助跟踪用户上下文信息的插件定义的上下文。 此上下文可以返回到多个调用、对此调用或操作调用。 该插件管理所有调用的引用计数。 如果用户记录超时或需要重新授权,WinRM 基础结构将调用 WSManPluginAuthzReleaseContext。
[in, optional] impersonationToken
指定用户的标识。 此参数是传递到 senderDetails 中的 clientToken。 如果插件更改了用户上下文,则应返回新的模拟令牌。
[in] userIsAdministrator
如果用户是管理员,则设置为 TRUE 。 否则,此参数为 FALSE。
[in] errorCode
报告授权成功或失败。 如果授权成功,则应 ERROR_SUCCESS代码。 如果用户无权执行该操作,则应 ERROR_ACCESS_DENIED错误。 如果由于任何其他原因而失败,则应使用适当的错误代码。 此调用的任何错误都将作为 SOAP 错误数据包发送回。
[in, optional] extendedErrorInformation
指定包含需要向客户端报告的任何额外错误信息的 XML 文档。 如果NO_ERRORerrorCode,则忽略此参数。 应使用线程的用户界面语言进行本地化。
返回值
如果成功,该方法将返回 ERROR_SUCCESS ;否则,它将返回 ERROR_INVALID_PARAMETER。 如果返回 ERROR_INVALID_PARAMETER ,则 senderDetails 参数为 NULL 或 flags 参数不为零。
注解
如果传入 senderDetails 的模拟令牌不是执行操作时应使用的标识,或者没有可用的模拟令牌,并且插件指定了执行请求的新标识,则插件应返回 WSMan 基础结构在调用操作插件之前将用于模拟客户端的新 impersonationToken 。 如果 senderDetails 中提供了模拟令牌,并且插件想要在该标识下执行操作,则插件应将 来自 senderDetails 的模拟令牌复制到 impersonationToken 参数中。 如果插件要在 Internet Information Services (IIS) 主机进程的上下文中执行请求,则 impersonationToken 应为 NULL。 如果 impersonationToken 为 NULL,线程将在调用操作插件之前模拟进程令牌。
如果 userIsAdministrator 参数设置为 TRUE,则允许用户查看和删除不同用户拥有的 shell。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 |
最低受支持的服务器 | Windows Server 2008 R2 |
目标平台 | Windows |
标头 | wsman.h |
Library | WsmSvc.lib |
DLL | WsmSvc.dll |
可再发行组件 | Windows Server 2008 SP2 和 Windows Vista SP2 上的Windows Management Framework |