![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Замена команды в функции по условию |
|
PowerShell - [решено] Замена команды в функции по условию
|
fascinating rhythm Сообщения: 6705 |
Привет!
Подскажите, как заменить команду в функции по условию. У меня отчёт по Exchange, и надо поменять команду в зависимости от того, обычная это группа рассылки или динамическая. Идея такая: function Get-ExtendedPerms ($value) { $command = if ($value.recipienttype -match "dynamic") {"Get-DynamicDistributionGroup $($value.name)"} else {"Get-DistributionGroup $($value.name)"} ($command | Get-ADPermission | ? {$_.isInherited -eq $false -and $_.ExtendedRights -and $_.user -notmatch "Authenticated Users"} |% { ($_.user -replace "^.*?\\") + ' (' + $_.ExtendedRights + ')' } |sort) -join ", " } $command просто так как строка не вставляется, ошибка следующая: The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipel ine input. + CategoryInfo : InvalidArgument: (Get-DistributionGroup DG-test:PSObject) [Get-ADPermission], ParameterBindingException + FullyQualifiedErrorId : InputObjectNotBound,Get-ADPermission + PSComputerName : srv-mail3.example.com ($command).GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object Заранее спасибо! |
|
------- Отправлено: 18:01, 29-11-2022 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
$command ведь и так строка... Не пойдет... & не даст запускать команды с параметрами... Но там у тебя ещё загвоздка в двойных кавычках, powershell попытается выполнить выражение $() с раскрытием переменных... В общем, надо переписать строку так: $command = if ($value.recipienttype -match "dynamic") {{Get-DynamicDistributionGroup $($value.name)}} else {{Get-DistributionGroup $($value.name)}} $command = if ($value.recipienttype -match "dynamic") {'Get-DynamicDistributionGroup $($value.name)'} else {'Get-DistributionGroup $($value.name)'} |
|
------- Последний раз редактировалось YuS_2, 29-11-2022 в 19:17. Отправлено: 18:47, 29-11-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:50, 29-11-2022 | #3 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
------- Отправлено: 07:56, 30-11-2022 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - разбить файл на несколько по условию или по фильтру | shadowbat | Скриптовые языки администрирования Windows | 8 | 22-09-2022 15:33 | |
CMD/BAT - Удалить папки в каталоге по условию | fb2boook | Скриптовые языки администрирования Windows | 4 | 03-10-2019 10:02 | |
CMD/BAT - [решено] Запуск приложения по условию | DR_WELL | Скриптовые языки администрирования Windows | 2 | 29-11-2012 21:20 | |
Доступ - Расшаривание папок по условию | aleksey_m | Microsoft Windows 2000/XP | 8 | 06-03-2009 09:07 | |
Скрипт по условию. | Butunin Klim | Программное обеспечение Windows | 7 | 18-08-2006 09:37 |
|