Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Resolve-Path не разрешает путь, указанный в переменной

#powershell

                    
В сценарии:
$VHDstorage = "d:\term_profile\"

$Domains = “domain1.local", “domain2.local”, “domain3.local”
$TemplProfilePrefix = "UVHD-"
$TemplProfileSuffix = ".vhdx"
$LifetimeProfile=60

ForEach ($Domain in $Domains) {
    Search-ADAccount -server (get-addomain $Domain).pdcemulator -accountdisabled
| where {$_.lastlogondate -lt (get-date).addmonths(-$LifetimeProfile)} | ForEach-Object
-Process {
        $pathto = $VHDstorage + '*\' + $TemplProfilePrefix + $_.SID.Value + $TemplProfileSuffix
        (Resolve-Path -Path $pathto).path
    }
}

неверно отрабатывает блок:
(Resolve-Path -Path $pathto).path

т.е. не выводится ничего, хотя переменная $pathto содержит строку поиска.
Что интересно, создание переменной в консоли Powershell и последующая передача этой
переменной как параметра в Resolve-Path выдает необходимый результат.
Как решить эту проблему?    


Ответы

Ответ 1



Разобрался. Чтобы вся эта конструкция делала то, что задумано, нужно строку с Resolve-Path изложить в следующей редакции: Resolve-Path -Path $pathto | ForEach-Object -Process { $_.Path } Да и $LifetimeProfile=60 (в месяцах) я взял слишком большим, из-за чего не видел результатов.

Комментариев нет:

Отправить комментарий