Назад | Перейти на главную страницу

Powershell: команда get-qadcomputer

Get-QADComputer -NotLoggedOnFor 90 -SearchRoot 'doman.name/OU1/OU2'

Я хотел бы использовать переменную для последнего OU ex:

Get-QADComputer -NotLoggedOnFor 90 -SearchRoot 'doman.name/OU1/$OU2'

Я получаю сообщение об ошибке «не удается разрешить объект каталога» для приведенного выше кода. Есть ли способ использовать переменную таким образом или лучший способ сделать это?

В Powershell одинарные кавычки ' указывает, что расширение переменной не должно происходить внутри строки. Вы должны попробовать двойные кавычки " вместо:

Get-QADComputer -NotLoggedOnFor 90 -SearchRoot "doman.name/OU1/$OU2"

Из документов:

PS C:\> Get-Help about_Quoting
...
SINGLE AND DOUBLE-QUOTED STRINGS
    When you enclose a string in double quotation marks (a double-quoted
    string), variable names that are preceded by a dollar sign ($) are
    replaced with the variable's value before the string is passed to the
    command for processing.
 ...
    When you enclose a string in single-quotation marks (a single-quoted
    string), the string is passed to the command exactly as you type it.
    No substitution is performed.