2016-08-11 16 views
7

Đang cố gắng để có được Application Pool nhận dạng trong IIS cho một tên cụ thể, ví dụ: thử nghiệmGet App bơi Căn Cước cho IIS trong Power Shell Script

succeded trong việc nó qua bên dưới mã nhưng không muốn để lặp qua tất cả các webapps, có dễ dàng nhận được nó bằng cách xác định tên?

Import-Module WebAdministration 
Get-WebApplication 

$webapps = Get-WebApplication 
$list = @() 
foreach ($webapp in get-childitem IIS:\AppPools\) 
{ 
    $name = "IIS:\AppPools\" + $webapp.name 
    $item = @{} 
    if ($webapp.name -eq 'Test') 
    {   
     $item = $webapp.processModel.identityType 
     break 
    } 
} 


echo $webapp.processModel.identityType 

Trả lời

4

Chỉ cần kết hợp đường dẫn và truy xuất mục. Điều này sẽ hoạt động:

$item = Get-Item (Join-Path 'IIS:\AppPools\' 'Test') | 
    select -ExpandProperty processModel | 
    select -expand identityType 
+0

sử dụng dưới đây, nhưng không hoạt động: $ webapp = "Test" $ item = Get-mục (Tham-Path 'IIS: \ AppPools \ $ webapp') | chọn -ExpandProperty processModel | select -expand identityType – Joseph

+0

Yea, vì bạn phải sử dụng 'Get-Item (Join-Path 'IIS: \ AppPools' $ webapp)' thay vì 'Get-Item (Tham gia-Path 'IIS: \ AppPools \ $ webapp ') '... –

+1

Hoạt động như một sự quyến rũ! – Joseph

5

Không đúng những gì OP muốn, nhưng google đã dẫn tôi đến đây để truy vấn tất cả các bản sắc của App Pool. Đây là phiên bản của tôi

Import-Module WebAdministration;Get-ChildItem -Path IIS:\AppPools\ | 
Select-Object name, state, managedRuntimeVersion, managedPipelineMode, @{e={$_.processModel.username};l="username"}, <#@{e={$_.processModel.password};l="password"}, #> @{e={$_.processModel.identityType};l="identityType"} | 
format-table -AutoSize 
Các vấn đề liên quan