3

В сценарии:

$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 ответ 1

3

Разобрался. Чтобы вся эта конструкция делала то, что задумано, нужно строку с Resolve-Path изложить в следующей редакции:

    Resolve-Path -Path $pathto | ForEach-Object -Process {
        $_.Path
    }

Да и $LifetimeProfile=60 (в месяцах) я взял слишком большим, из-за чего не видел результатов.

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.