#powershell
#powershell
Вопрос:
Я не могу скопировать данные из окна grid при использовании CTRL C. Это просто закрывает окно. Мой код:
Get-ADUser -Filter * | ForEach-Object -Process {
Add-Member -InputObject $_ -Name TerminalServicesProfilePath -Force -Membertype NoteProperty -Value (([ADSI]"LDAP://$($_.DistinguishedName)").TerminalServicesProfilePath) -PassThru
} | Select-Object -Property SamAccountName, TerminalServicesProfilePath | Out-GridView
Комментарии:
1. Версия Powershell?
2. это версия 5.1.16299.967
3. Не удается воспроизвести. Используете ли вы CTRL C при выбранном
ogv
окне? или консоли?4. я выбираю из окна ogv, затем ctrl c. Возможно, один из моих модулей создает проблемы. Я попробовал -noprofile, но проблема все та же
Ответ №1:
Это может решить вашу проблему, а может и не решить, но вместо использования Add-Member
(что в данном случае имеет ограниченное применение) попробуйте использовать вычисляемое свойство в вашем конвейере:
Get-ADUser -Filter * | Select-Object -Property @(
'SamAccountName'
@{
Label = 'TerminalServicesProfilePath'
Expression = { ([adsi]"LDAP://$($_.DistinguishedName)").TerminalServicesProfilePath }
}
) | Out-GridView
Если вы используете это в скрипте или что-то в этом роде, то ваша проблема в том, что не используется Wait
переключатель вкл Out-GridView
. Смотрите документацию здесь.
Комментарии:
1. Приятно, что работает. Все еще не знаю, почему у меня возникла эта проблема.
2. @seyo-IV Я предполагаю , что процесс добавления элемента к объектам возвращал фокус окна на консоль, поэтому, когда вы нажимаете CTRL C, вы фактически отменяете действие.
3. Если [ctrl] [C] прерывается. попробуйте [ctrl] [INS].