将在PowerShell脚本中执行Afford凭据

时间:2019-03-15 09:35:38

标签: powershell

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

$ 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

1 个答案:

答案 0 :(得分: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/