2017-10-10 1 views
1

원격 실행은 다음과 같은 메시지가 erroring된다설정-ItemProperty를 PhysicalPath 인자

드라이브를 찾을 수 없습니다. 'IIS'라는 이름의 드라이브가 존재하지 않습니다.

다음 중 어떤 문제가 있습니까?

$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 

답변

1

당신은 내부의 스크립트 블록을 (모듈이 원격 호스트에 설치되어 있어야합니다) 모듈 을 가져와야합니다. 또한 스크립트 블록의 두 변수에 동일한 인수 ($args[0])가 할당되며 첫 번째 할당에는 후행 쉼표가 사용됩니다.

개별 변수 할당 대신 Param() 블록을 사용하고 Set-ItemProperty 주변의 무의미한 괄호를 제거하십시오.

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

아, 감사합니다. –