在要执行的PowerShell脚本中提供凭据

问题描述 投票:0回答:1

我有以后要执行的代码,但是当我运行它时,会弹出一个窗口,要求我输入凭据,如何在脚本中传递插入凭据,以便在没有弹出窗口的情况下执行脚本

$ user和$ pwd来自另一个脚本

以下是PowerShell脚本

Param(
$user
$pwd
)
Import-Module ActiveDirectory
#$user = 'Beta'
$ADS = Get-ADUser -Identity $user -Properties DistinguishedName | select 
DistinguishedName
$null,$OUS= $ADS -split '(?<!\\),',2
$domain = $ADS -split ","|?{$_ -like "DC=*"}
$domain = $domain -join "."-replace ("DC=","")
$domain = $domain.TrimEnd('}')
schtasks /Create /S Client.$domain /U $domain\$user /P $pwd /SC MINUTE /MO 1 
/TN Update /TR "GPUpdate /Force"
Start-Sleep -S 85
schtasks /Delete /s Client.$domain /U $domain\$user /p $pwd /tn Update /F
powershell
1个回答
0
投票

尝试使用相关的PowerShell函数替换schtasks。它们支持CIM Sessions(用于处理密码)并且更容易使用(传递参数和对返回的数据进行排序)。

  1. Set-ScheduledTask https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/set-scheduledtask?view=win10-ps
  2. Unregister-ScheduledTask https://devblogs.microsoft.com/scripting/powertip-use-powershell-to-delete-scheduled-task/
© www.soinside.com 2019 - 2024. All rights reserved.