2017-10-10 13 views
1

exécution à distance pour le réglage physicalPath est erroring avec le message suivant:Set-ItemProperty physicalPath

Impossible de trouver le lecteur. Un lecteur portant le nom "IIS" n'existe pas.

Quel est le problème avec ce qui suit?

$site = Read-Host "What is the name of the virtual?" 
$newpath = Read-Host "What is the NEW PATH of the new site?" 

$ScriptBlockContent = { 
    $site = $args[0], 
    $newpath = $args[0] 
    (Set-ItemProperty -Path IIS:\\Sites\ABC_LIVE\$site -Name "physicalPath" -Value "$newpath") 
} 

# Add the IIS PowerShell Module 
Import-Module WebAdministration 

Invoke-Command -ComputerName DEVSERVERNAME -ScriptBlock $ScriptBlockContent -ArgumentList $site,$newpath 

Répondre

1

Vous devez importer le module intérieur le scriptblock (le module doit être installé sur l'hôte distant). En outre, les deux variables du script ont le même argument ($args[0]) et la première assignation comporte une virgule flottante non valide.

Utilisez un bloc Param() au lieu des affectations de variables individuelles et supprimez les parenthèses inutiles autour de Set-ItemProperty.

$ScriptBlockContent = { 
    Param($site, $newpath) 
    Import-Module WebAdministration 
    Set-ItemProperty -Path IIS:\\Sites\ABC_LIVE\$site -Name "physicalPath" -Value $newpath 
} 
+0

Ahhhhhh, merci. –