2014-11-24 3 views
0

Здравствуйте, если я запустить следующую команду я получаю ответ TRUE, который является правильнымPowershell Test-Path не возвращает правильный результат

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

Однако, когда я запускаю следующий commad в сценарии я получаю два FALSE возвращается. 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 объекта, в интерактивной оболочке, и найти соответствующий, который является именем компьютера. (Может быть $ADComputer.Name, например.

+0

Да, или он мог бы: $ ADComputer = Get-ADComputer $ Computer | Выбрать -Открыть DNSHostName –

Смежные вопросы