2016-11-21 6 views
0

첫 번째 영어는 유감 스럽지만 PowerShell 스크립팅에 대한 도움이 필요합니다. 필자는 IIS 서버에 powershell 스크립트를 설정해야하며 "응용 프로그램 추가"에 문제가 있습니다. 사이트에 웹 응용 프로그램이 있는지 확인해야합니다. 나는 사이트 "testsite2"powershell을 사용하여 IIS의 웹 응용 프로그램 목록 표시

$webapplication=Get-WebApplication | Where-Object {$_. applicationpool -eq "testsite2"} | select -expand Name; 

의 모든 웹 어플리케이션을 선택 싶어하지만 오류

로 끝나는] 명령을 문제가 선택 : 1 개 문자 : 부동산의 "이름"found.At 라인이 될 수 없습니다 : 75 Get-WebApplication | Where-Object {$ _. applicationpool -eq "testsite2"} | 선택 ... CategoryInfo을 : InvalidArgument을 (Microsoft.IIs.P ... gurationElement : PSObject), PSArgumentException FullyQualifiedErrorId [객체 선택] : ExpandPropertyNotFound, Microsoft.PowerShell.Commands.SelectObjectCommand

을 이해하지는 . "Name"열의 값을 선택하려면 어떻게해야합니까?

선택 :

내가 같은 결과를

Get-ChildItem –Path IIS:\AppPools\ | Where-Object {$_. Name -eq "testsite2"} | select -ExpandProperty applications 

결과를 얻을 속성 "응용 프로그램"을 찾을 수 없습니다. 줄 번호 : 1 char : 80 Get-ChildItem -Path IIS : \ AppPools \ | Where-Object {$ _. 이름 -eq "testsite2"} | S ... CategoryInfo : InvalidArgument (Microsoft.IIs.P ... gurationElement : PSObject) PSArgumentException FullyQualifiedErrorId [오브젝트 선택] ExpandPropertyNotFound을 Microsoft.PowerShell.Commands.SelectObjectCommand

답변

2

WebAdministration 모듈 기본 개체에 Name 속성이 없더라도 NameFormat-Table 같은 항목을 표시하는 사용자 지정 서식 지정 데이터를 사용한다는 점에서 조금기만 할 수 있습니다.

에 해당하는 Name 값을 얻으려면, Path 특성을 가지고 / 트림 : 위의

$WebAppNames = Get-WebApplication |Select @{Name='Name';Expression={$_.Path.Trim('/')}} |Select -Expand Name 

을 정확히 PowerShell의 형식 하위 시스템이 Name 값을 계산하는 일.

Get-WebApplication |Get-Member 

이것은 또한 당신에게 당신이 추가 형 - 또는 서식 ˁ을 탐구하는 데 사용할 수있는 유형의 이름을 표시합니다 :


당신은 객체가 Get-Member cmdlet에서이 실제 속성을 탐색 할 수 있습니다 적용 할 수있는 데이터 :

Get-TypeData -TypeName 'Microsoft.IIS.PowerShell.Framework.ConfigurationElement#site#application' 
Get-FormatData -TypeName 'Microsoft.IIS.PowerShell.Framework.ConfigurationElement#site#application' 
+0

을 나는 당신이 실제 속성을 찾는 방법을 보여 얻을 명을 포함 대답을 수정 제안) – 4c74356b41

+1

4c74356b41 @ 좋은 생각, 업데이트 대답 –