2014-11-24 92 views
0

你好,如果我運行下面的命令我獲得真正的響應Powershell的測試的路徑不返回正確的結果

Test-Path -Path "\\LT609247\c$\Users\*\AppData\Local\Microsoft\Outlook\*Internet Calendar*.pst" 

然而,當我運行一個腳本以下commad我得到兩個假的回報這是正確的。 iCalendar_Audit.csv包含兩個工作站,其中一個是LT609247。

$Computers = Get-Content c:\temp\iCalendar_Audit.csv 

ForEach ($Computer in $Computers) 

    { $ADComputer = $null 

    $ADComputer = Get-ADComputer $Computer 

    If ($ADComputer) 

     { 

     Add-Content c:\temp\iCalendar_Audit.log -Value "Found $Computer, checking for iCalendar" 

     Test-Path -Path "\\$ADComputer\c$\Users\*\AppData\Local\Microsoft\Outlook\*Internet Calendar*.pst" 

     } 
    } 

回答

3

$ADComputer將是一個對象,它具有幾個屬性.. 與計算機名的字符串。假設$Computer是計算機名,你既可以使用$Computer像這樣 -

Test-Path -Path "\\$Computer\c$\Users\*\AppData\Local\Microsoft\Outlook\*Internet Calendar*.pst" 

或者,如果$Computer不是計算機的名稱,請$ADComputer對象的屬性,在交互式shell,並找到適當的一個,這是電腦的名字。 (可能是$ADComputer.Name例如

+0

是,或者他可以這樣做:$ ADComputer = Get-ADComputer $ Computer | Select -Expand DNSHostName – 2014-11-24 05:58:17