1
Invoke-Command
に変数を取得する際に問題があるようです。私は何でも変数を得ることはできません。私が使用したいときは:Invoke-Commandのスクリプトブロック内の変数の問題
Invoke-Command -ComputerName $servername { new-item -Path "$RootPathDestination" -Name $version -Itemtype directory }
私はエラーを取得:
Cannot bind argument to parameter 'Path' because it is an empty string.
をそして私は、このスクリプトでそれらを宣言した:
$version = 36
$RootPathDestination = "c:\scripts\"
誰がどんな考えを持っていますか?私はあなたが接頭辞を使用してを使用する必要が
$svr = "SQLSERVER"
$db = "0000 - INFRA"
$version = 36
$RootPathDestination = "c:\scripts\"
# connection
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection
$sqlConnection.ConnectionString = "Server=$svr;Database=$db;Integrated Security=True"
$sqlConnection.Open()
$cmd = $sqlConnection.CreateCommand()
$cmd.CommandText ="SELECT * from infrastructure"
$Serverinfo = $cmd.ExecuteReader()
try
{
while ($Serverinfo.Read())
{
$servername = $Serverinfo.GetValue(1)
Invoke-Command -ComputerName $servername { new-item -Path "$RootPathDestination" -Name $version -Itemtype directory }
#Invoke-Command -ComputerName $servername { Copy-Item c:\scripts\* c:\test }
#Invoke-Command -ComputerName $servername {Import-Module WebAdministration ; New-WebApplication -force -Site "Default Web Site" -Name 3.78 -PhysicalPath "c:\inetpub\"$version }
}
}
catch
{
echo "Hmm strange"
}
finally
{
echo "All good!"
echo $Version
$sqlConnection.Close()
}