Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/64: Рейтинг темы: голосов - 64, средняя оценка - 4.72
-7 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 49

Код завершения последней команды (ошибки)

08.12.2017, 16:19. Показов 12899. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
К примеру, этот код добавления пользователя домена в локальную группу
PowerShell
1
$LocalGroupObj.psbase.Invoke("Add","WinNT://$Domain/$DomainUser")
может завершаться различными ошибками. В зависимости от ошибки вернее от кода ошибки должно происходить следующее действие.
$? подходит, но выдает только истину фальш.
$Error не подходит, т.к. я нашел только текст ошибок, а не ее код.
$LASTEXITCODE вообще выдает 0, когда например пользователь уже состоит в группе.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2017, 16:19
Ответы с готовыми решениями:

Написать пакетный файл, обрабатывающий параметры командной строки и код завершения команды (программы)
Помогите пожалуйста написать пакетный файл обрабатывающий параметры командной строки и кода завершения команды (программы). Если в задании...

СМА ВOSCH LogiXX 8 Sensitive WAS 28740 OE, Не реагирует на команды, не отображает код ошибки
СМА ВOSCH LogiXX 8 Sensitive WAS 28740 OE. СМ формировала код ошибки F-47 (по словам клиента). По прибытию, на ЖК дисплее кроме индикации...

Выполнения команды после завершения предыдущей
Добрый день, Требуется выполнить команду rmdir после завершения удаления программы. Переменная %comspec% с ключом /c сообщает,что надо...

21
-7 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 49
04.01.2018, 16:51  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KDE777 Посмотреть сообщение
но вы сами какие-то новомодные языки упоминаете, особенно Turbo Pascal
Если я сказал бы "C++", а не "C" уверен такой бы реакции не последовало, как на "Turbo Pascal". Сново непонимание молодого ИТ-задиры. А ведь Pascal и Turbo Pascal - это все равно, что C и C++.
Я не работал с версиями Pascal и не знаю как там ошибки обрабатываются, в версия C++, насколько я помню, обработка ошибок так же, как и в Powershell происходит, с помощью Try Catch
Поэтому я выразился абсолютно справедливо.

Добавлено через 8 минут
Цитата Сообщение от KDE777 Посмотреть сообщение
Когда я отвечал про $Error[0].Exception, то имел ввиду исключительно, что пока не ясно, как получить коды ошибок для вашего примера есть вполне рабочее решение:
Кликните здесь для просмотра всего текста
PowerShell
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$E1 = 'не существует\.'
$E2 = 'Не найдено имя группы\.'
$E3 = 'уже входит в эту группу\.'
$E4 = 'Отказано в доступе\.'
$LocalGroupObj =[ADSI]"WinNT://$env:COMPUTERNAME/Администраторы"
try {$LocalGroupObj.psbase.Invoke("Add","WinNT://$env:COMPUTERNAME/Администратор")}
catch
{
 Switch -Regex ($_.Exception)
 {
 $E1 {"Пользователь не существует"}
 $E2 {"Группа не существует"}
 $E3 {"Пользователь уже присутствует в группе"}
 $E4 {"Нет доступа к группе"}
 default {$Error[0].Exception}
 }
}
Респект за умение в любой ситуации находить интересные решения - это говорит только о профессионализме. Но такое уродство я бы никода не вставил в свою программу. Хотя бы потому, что, как вы и сами сказали, в он зависим от языка ОС.
0
 Аватар для KDE777
1887 / 1109 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.01.2018, 16:07

Не по теме:

Цитата Сообщение от Gouru Посмотреть сообщение
Если я сказал бы "C++", а не "C" уверен такой бы реакции не последовало, как на "Turbo Pascal". Сново непонимание молодого ИТ-задиры. А ведь Pascal и Turbo Pascal - это все равно, что C и C++.
Я не работал с версиями Pascal и не знаю как там ошибки обрабатываются, в версия C++, насколько я помню, обработка ошибок так же, как и в Powershell происходит, с помощью Try Catch
Поэтому я выразился абсолютно справедливо.
C, Pascal, С++, Turbo Pascal - все они, по сравнению с Fortran, новомодные языки и поэтому не стоит заявлять о себе, как об олдскул программисте, не зная с чего начинал ваш оппонент :) Вот и всё, что я вам хотел написать. Но похоже, что вы продолжаете что-то доказывать кому-то ещё :)



Цитата Сообщение от Gouru Посмотреть сообщение
Но такое уродство я бы никода не вставил в свою программу. Хотя бы потому, что, как вы и сами сказали, в он зависим от языка ОС.
Я вам уже показал, как получить числовой код ошибки, а вы всё продолжаете сокрушаться насколько неудобно парсить error message, хотя никто с вами об этом и не спорит
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2018, 16:07

Выполнение команды после завершения цикла
void __fastcall TForm3::Button3Click(TObject *Sender) { /* 16. Из заданного списка слов удалить слова, содержащие заданную...

Выполнение команды после завершения процесса (программы)
Необходимо наладить резервное копирование базы данных после завершения приложения, но что то не работает... CHCP 1251 START...

Винда перестала реагировать на команды перезагрузки и завершения работы
Здравствуйте, у меня проблема: винда перестала реагировать на команды перезагрузки и завершения работы (независимо от того, как я их...

Выполнение команды после завершения предыдущей с привязкой к файлу
Вопрос может показаться не по теме, но немного терпения. Имеется команда декомпилирования файла.chm из контекстного меню: ...

Выполнение следующей команды только после завершения предыдущей
Здравствуйте. При выполнении команд "start winrar", "copy", "del" в bat файле происходит следующее: Архив создаётся 5 секунд и за это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru