使用Invoke-Command调用脚本时,在PowerShell中获取脚本目录可以使用以下方法:
在PowerShell中,$PSScriptRoot变量表示当前脚本的目录路径。因此,可以使用$PSScriptRoot变量获取脚本目录。
例如,在远程计算机上运行本地脚本时,可以使用以下命令:
Invoke-Command -ComputerName remote-computer -FilePath C:\local-script.ps1 -ArgumentList $PSScriptRoot
在本地脚本中,可以使用$PSScriptRoot变量获取脚本目录,如下所示:
$scriptDir = $PSScriptRoot
在PowerShell中,可以使用Get-Location命令获取当前工作目录。因此,可以在脚本中使用Get-Location命令获取脚本目录。
例如,在远程计算机上运行本地脚本时,可以使用以下命令:
Invoke-Command -ComputerName remote-computer -FilePath C:\local-script.ps1 -ArgumentList (Get-Location).Path
在本地脚本中,可以使用Get-Location命令获取脚本目录,如下所示:
$scriptDir = (Get-Location).Path
需要注意的是,在远程计算机上运行脚本时,需要将脚本目录作为参数传递给远程计算机。在本地脚本中,可以使用$PSScriptRoot或Get-Location命令获取脚本目录,并将其传递给远程计算机。
领取专属 10元无门槛券
手把手带您无忧上云