Zmienne przekazujące energię do zdalnego skryptu
Mam następujący plik cmd: -
PowerShell.exe -noexit E:\wwwroot\domains\processes\AddDirectory.ps1 -Param testdomain.co.uk
który przechodzi do: -
$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
Ale po prostu działa, ale nic nie robi.
Jeśli zadeklaruję zmienną $ domain jako $ domain = 'testdomain.co.uk', to działa, ale nie chce ona przekazywać var z pliku cmd. Co ja robię źle? Próbowałem umieścić go w Invoke-Command jako -ArgumentsList - $ Param1, ale to również nie działa .....
Wszelkie pomysły zostały bardzo dobrze przyjęte
Dzięki Paul
Aktualizacja - zaktualizowałem mój kod jak poniżej, ale otrzymałem ten sam problem: -
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