windows - 如何从用户上下文执行 Add-LocalGroupMember 脚本包
问题描述
我正在尝试在 SCCM 中实现一个脚本部署包,该包旨在在特定广告 OU 组中新部署的工作站上执行。问题在于执行权;如果我以用户权限运行模式部署包-i
,则访问被拒绝,如果我以管理员权限运行它,我会添加错误的帐户。
我尝试在不编码服务帐户凭据的情况下运行脚本,但是这识别了系统执行帐户,然后我添加了凭据,这仅适用于管理员用户。
$User = $env:USERNAME
$Computer = $env:COMPUTERNAME
$svcAcc = "xxx\svc_LocalAdmin"
$PasswordFile = ".\Password.txt" $KeyFile = ".\AES.key"
$key = Get-Content $KeyFile
$Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $svcAcc,(Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)
Invoke-Command -ComputerName $Computer -ScriptBlock {Add-LocalGroupMember -Group "Administrator" -Member $args[0]} -ArgumentList $User
我希望这可以与所有帐户一起运行,因为脚本中提供了服务帐户凭据。我如何从用户帐户上下文中获得相同的结果?
非常感谢
解决方案
您是否尝试对可能登录这些机器的每个用户运行此任务?还是只是当前登录的用户?
对于这些类型的任务,我强烈推荐PowerShell AppDeploy Toolkit。
使用该工具包,您可以创建一个可以针对当前登录用户的脚本,然后可以通过 SCCM 部署该脚本。UsingGet-LoggedOnUser
可以为您提供所有本地和 RDP 登录用户的会话详细信息,而不会大惊小怪。
推荐阅读
- git - Identifying git Object by Enumerated List Number during git gc
- javascript - react-native Date not return as converted timezone
- python - 如何将列字典转换为行字典?
- javascript - 工具提示不工作也不显示在 D3 散点图上
- acumatica - Acumatica 我无法使用 ASPX 编辑器更改 aspx 屏幕
- node.js - 解析请求体禁止请求签名验证
- mysql - 将大型 csv (5GB) 上传到 MySql Workbench
- javascript - 分页上的刷新按钮
- ubuntu - 使用 ubuntu 命令终端删除 github 上的存储库
- android - Android 依赖 'com.google.android.gms:play-services-base' 的编译(16.0.1)和运行时(16.1.0)类路径有不同的版本