我有以下CMD文件: -Powershell的傳遞變量來遠程腳本
PowerShell.exe -noexit E:\wwwroot\domains\processes\AddDirectory.ps1 -Param testdomain.co.uk
其經歷到: -
$Session = New-PSSession -ComputerName 192.168.0.25
$script = {
Param($Param1)
set-executionpolicy unrestricted -force
# Set Variables
$domain = $Param1
$sitepath = "e:\domains\" + $domain
# Check for physical path
if (-not (Test-Path -path $sitePath))
{
New-Item -Path $sitepath -type directory
New-Item -Path $sitepath\wwwroot -type directory
}
set-executionpolicy restricted -force
}
Invoke-Command -Session $Session -ScriptBlock $script
,但它只是運行,但什麼都不做。
如果我將$ domain變量聲明爲$ domain ='testdomain.co.uk'它可以工作,但它不希望從cmd文件中通過var。我究竟做錯了什麼?我試圖把它的調用命令的-ArgumentsList - $參數1但是,這並不正常工作或.....
任何想法greatfully收到
感謝 保羅
更新 - 我已經更新了我的代碼按以下,但得到同樣的問題: -
param($domainName)
$script = {
Param($Param1)
set-executionpolicy unrestricted -force
# Set Variables
$domain = $Param1
$sitepath = "e:\domains\" + $domain
# Check for physical path
if (-not (Test-Path -path $sitePath))
{
New-Item -Path $sitepath -type directory
New-Item -Path $sitepath\wwwroot -type directory
New-Item -Path $sitepath\db -type directory
New-Item -Path $sitepath\stats -type directory
}
set-executionpolicy restricted -force
}
$Session = New-PSSession -ComputerName 192.168.0.25
Invoke-Command -Session $Session -ScriptBlock $script -ArgumentList $domainName
是e:本地或聯網映射驅動器。如果是後者,您可能會遇到雙跳認證問題。 –