通过在 Windows 10 上提供管理员凭据而无需提升的 New-CimSession?

New-CimSession without elevation by providing admin credentials on Windows 10?

我需要使用 PowerShell 从 Windows 10 台设备查询一些 WMI 值。该脚本由一些软件分发工具在非管理员用户的上下文中执行。

有一个本地管理员帐户,对于当前目的(在擦除系统之前检索信息),将密码放入脚本中不会有问题。由于自动化是一项硬性要求,因此无法处理 UAC windows 或用户输入某些凭据。

有什么办法可以得到

$sess = New-CimSession -Credential $admincred

在没有 运行 进入 Access is denied 的情况下工作,因为它不是 运行 在提升的上下文中?我可以仅通过管理员凭据以某种方式自行提升它吗?

[编辑]

要求提供更具体信息的评论:

我想加入许多非托管(即没有软件分发工具,没有域加入)Windows 10 台设备到 Windows Autopilot。

使用 Teamviewer 等工具手动远程会话获取信息太耗时。让用户从 Intranet 下载工具并 运行 将其安装是一个可行的方法。因此,我创建了一个独立的应用程序,用于构建和 运行s 一个自定义的 PowerShell 脚本。在提升的会话中将其设置为 运行 是行不通的。我总是以 Access denied.

结尾

Can I somehow self-elevate it by just having the admin credentials?

不,你不能。 UAC 旨在防止您正在尝试做的事情。相关问答:

  • elevate without prompt - verb runas start-process
  • UAC Getting in the Way of EXE Install Powershell

可能有许多变通办法,但它们都有一个共同点,即您必须至少(本地或远程)访问您的计算机一次,获得管理权限并准备一些东西,即。 g.:

  • 运行在您的本地管理员帐户或 SYSTEM 下并触发脚本执行的计划任务
  • 禁用 UAC(暂时)(不推荐任何一种方式)
  • 正在安装任何远程管理软件、服务或帐户(具有额外的 运行 作为后台作业 权限)