PowerShell将DateTime变量传递给Set-Date

时间:2016-12-14 10:21:35

标签: powershell datetime

这是代码:

$computerList = "localhost", "luna"
$user = Get-Credential powershell
$date = Get-Date
foreach ($computer in $computerList) {
    if ($computer -eq "localhost") { $session = New-PSSession -ComputerName $computer }
    else { $session = New-PSSession -ComputerName $computer -Credential $user }
    Invoke-Command -Session $session -ScriptBlock {
        Set-Date -Date $date
    }
}

我收到此错误:

Cannot bind argument to parameter 'Date' because it is null.

逐行在控制台中工作它可以工作,但是当运行脚本变量时,$ date为null,如错误所示。 为什么变量$ date null?

1 个答案:

答案 0 :(得分:0)

它不应该以任何方式工作,你在远程会话中执行命令时指的是局部变量,你应该像这样调用变量:

Invoke-Command -Session $session -ScriptBlock {
    Set-Date -Date $using:date
}

More on remote variable