通过在 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。
设备不在特定站点。
设备供应商无法提供信息。
用户没有管理权限
用户不知道本地管理员密码(我知道)
与丢失用户的技术知识(密码被认为是旧密码)相比,暴露本地管理员密码的问题要小
防火墙正在阻止传入流量(无 RDP、WinRM)
代码(Source):
$devDetail = (Get-CimInstance -CimSession $session -Namespace root/cimv2/mdm/dmmap -Class MDM_DevDetail_Ext01 -Filter "InstanceID='Ext' AND ParentID='./开发细节'")
使用 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(暂时)(不推荐任何一种方式)
- 正在安装任何远程管理软件、服务或帐户(具有额外的 运行 作为后台作业 权限)
我需要使用 PowerShell 从 Windows 10 台设备查询一些 WMI 值。该脚本由一些软件分发工具在非管理员用户的上下文中执行。
有一个本地管理员帐户,对于当前目的(在擦除系统之前检索信息),将密码放入脚本中不会有问题。由于自动化是一项硬性要求,因此无法处理 UAC windows 或用户输入某些凭据。
有什么办法可以得到
$sess = New-CimSession -Credential $admincred
在没有 运行 进入 Access is denied
的情况下工作,因为它不是 运行 在提升的上下文中?我可以仅通过管理员凭据以某种方式自行提升它吗?
[编辑]
要求提供更具体信息的评论:
我想加入许多非托管(即没有软件分发工具,没有域加入)Windows 10 台设备到 Windows Autopilot。
设备不在特定站点。
设备供应商无法提供信息。
用户没有管理权限
用户不知道本地管理员密码(我知道)
与丢失用户的技术知识(密码被认为是旧密码)相比,暴露本地管理员密码的问题要小
防火墙正在阻止传入流量(无 RDP、WinRM)
代码(Source):
$devDetail = (Get-CimInstance -CimSession $session -Namespace root/cimv2/mdm/dmmap -Class MDM_DevDetail_Ext01 -Filter "InstanceID='Ext' AND ParentID='./开发细节'")
使用 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(暂时)(不推荐任何一种方式)
- 正在安装任何远程管理软件、服务或帐户(具有额外的 运行 作为后台作业 权限)