#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 (в месяцах) я взял слишком большим, из-за чего не видел результатов.
Комментариев нет:
Отправить комментарий