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