Powershell passando variáveis para script remoto
Eu tenho o seguinte arquivo cmd: -
PowerShell.exe -noexit E:\wwwroot\domains\processes\AddDirectory.ps1 -Param testdomain.co.uk
que passa por: -
$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
Mas apenas corre mas não faz nada.
Se eu declarar a variável de domínio $ como $ domain = 'testdomain.co.uk', ele funciona, mas não quer passar pelo var do arquivo cmd. O que estou fazendo de errado? Eu tentei colocá-lo no Invoke-Command como -ArgumentsList - $ Param1, mas isso não funciona também .....
Qualquer idéias recebidas com grande
Obrigado paul
Atualização - atualizei meu código conforme abaixo, mas recebo o mesmo problema: -
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