使用Invoke-Command结合Register-ScheduledJob传递参数:嵌套-ArgumentList?远程用户创建脚本求助
远程PowerShell会话创建用户计划任务的实现思路
看起来你正在编写一个通过受限远程PowerShell会话,在远程机器上创建计划任务以新增用户的脚本。我先帮你把已编写的代码片段整理成规范的格式(假设所有变量已正确声明):
$startTime = Get-Date $psoption = New-PSSessionOption -SkipRevocationCheck $cusName = $UserCredentials.GetNetworkCredential().username $cusPassPlain = $UserCredentials.GetNetworkCredential().password $cusPass = ConvertTo-SecureString $cusPassPlain -AsPlainText -Force # 后续创建计划任务的代码待补充
接下来可以按照以下步骤完成剩余部分:
- 首先通过
New-PSSession建立远程会话,传入你定义的$psoption和凭证信息 - 在远程会话中,编写创建用户的脚本块,比如使用
New-LocalUsercmdlet(注意需要管理员权限) - 使用
Register-ScheduledTaskcmdlet在远程机器上注册计划任务,指定触发时间(比如你定义的$startTime)、执行的脚本块以及运行权限
需要注意的关键点:
- 确保远程PowerShell会话拥有足够的权限来创建计划任务和本地用户
- 计划任务的运行账户需要具备对应的权限,建议使用本地管理员账户或拥有用户创建权限的账户
- 如果远程机器启用了严格的证书验证,
-SkipRevocationCheck选项需要谨慎使用,确保环境安全
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

