Обновить
10

Изобретатель велосипедов и разработчик костылей

3
Подписчики
Отправить сообщение
Дело не в «средневековье», или «было-поведении». Дело в банальном уважении к собеседнику. Если текст написан с ошибками, гораздо сложнее вникнуть в его суть, т.к. зачастую неверное написанное слово, а тем более неверно расставленные знаки препинания, очень сильно усложняют понимание текста. При обработке такого текста это вызывает раздражение, потому что приходится по несколько раз перечитывать в попытке понять, что же именно имелось в виду.

Если вы пишете официальное обращение, и оно безграмотное — это показывает ваше отношение: вы поленились даже спеллчекером прогнать, что уж говорить о вычитке. Это сразу характеризует вас, как человека несерьёзного, и соответствующее отношение будет и к вашему заявлению. Например, будь я работодателем — ни за что бы не взял на работу человека, у которого в резюме ошибки, сравнимые с оными из обращения в посте. Если человек так отнёсся к резюме, то как он будет относиться к работе?
Типичного технаря пост
И правда — странно видеть на техническом ресурсе технические посты…
Не вижу криминала. Ставим миску на весы, сбрасываем в ноль, разбиваем яйца, пока не получится чуть больше 160. Перемешиваем, лишнее сливаем, жарим и съедаем отдельно :)
Меня бы такой рецепт более чем устроил.
А что мешает на телефонном интервью спросить: «Я хочу вот столько-то — готовы рассматривать?». Ни разу не встречался с работодателем, который не ответил бы на этот вопрос. Если не конкретные цифры, то хотя бы варианты в духе «да, это вписывается в нашу вилку», или же «нет, не готовы».
зачем так напрягаться, если этот код кроме меня и моих коллег никто не видел и не увидит?
Как вариант, чтобы можно было продемонстрировать свой код как портфолио при трудоустройстве в иностранную/международную компанию.

Ещё вариант: чтобы лишний раз не переключать раскладку. И не нужно мне говорить про Punto Switcher — он только мешает, когда пишешь код.
Не заметил, простите.
Если вдруг возникнет желание вернуться к PowerShell и чтобы сразу «от админа» советую глянуть в сторону вот этого замечательного скрипта по преобразованию *.ps1 в *.exe.
По функционалу прилично порезан (в смысле, что не все возможности PS поддерживает), но в целом очень даже рабочий инструмент.

Помимо вашей проблемы позволяет также обойти и другую: запрет на запуск скриптов через GPO. Т.к. выполняется в итоге не скрипт, а его «скомпилированный» (в каком-то смысле) вариант.

Правда, есть и минус: иногда при использовании некоторых «приёмов» PS на готовый exe срабатывает эвристика антивирусов (того же каспера, в моём случае).
От админа скрипты запустить низя, нет такой опции.
Вся суть проблемы в одном предложении. Это вы не понимаете суть вашей проблемы ;)
Проблема в том, что процитированная фраза могла исходить только от технически неграмотного, либо совершенно не знакомого с PowerShell человека.

Ваш К.О.
Кошмар какой. Если берётесь за PowerShell и не знаете, как запускать скрипты из-под админа, лучше не беритесь вовсе. Можно много бед наворотить.
Мне это напоминает историю, когда сотрудник обратился в поддержку с просьбой выполнить скрипт с админскими правами в духе «вот я тут скрипт обалденный нашёл — он всё супер круто делает, но мне прав не хватает». А инженер взял и выполнил, не проверив толком, что за скрипт. В итоге BSOD -> перезаливка. Что был за скрипт и что конкретно поломал даже уже и разбираться не стали.

Это я всё к тому, что если вы не знаете PowerShell — НИ В КОЕМ СЛУЧАЕ НЕ ЗАПУСКАЙТЕ СКРИПТЫ PowerShell ОТ ИМЕНИ АДМИНИСТРАТОРА! Тем более, если не знаете как.

На всякий случай научу — авось своих шишек набьёте:
Первый вариант: В открывшейся консоли пишете путь к скрипту и жмакаете ENTER.
Второй вариант (если первый говорит, что запуск скриптов запрещён политикой): Нажимаете сочетание клавиш Win + X, там выбираете пункт . В открывшейся консоли пишете
powershell -executionpolicy bypass -file "X:\тут\мой\скрипт.ps1"


P.S. простите за английскую винду. Привычка-с...
Почитайте: https://msdn.microsoft.com/en-us/powershell/wmf/5.1/install-configure
Там немножко подробнее о том, что нужно поставить. Прям со ссылками.

У меня на 10ку встало без проблем (что неудивительно тащемто).

Неизвестно, что может удалитьсяупасть из-за несоответствия версии.
Кстати, практически ничего. В 99% случаев скрипт просто споткнётся на неподдерживаемом методе.
А вообще да — это немного раздражает. Приходится постоянно писать скрипты на PS5, а потом их отлаживать и заставлять работать на PS2.
ЕМНИП, WMF5.1 ставится только поверх 3-ей или 4й версии.
В принципе, в скрипте нет ничего особенного. 3й версии уже с головой хватит.
Ну это уже вкусовщина. Сам я тоже предпочитаю PSObject, да. Он крайне удобен как для работы с ним, так и для последующей выгрузки в CSV/XLSX.

Кстати, тов. pak-nikolai (чтоб 2 коммента не писать), можно ещё и версию распарсить на объект класса Version и сортировать дрова даже хоть по версии.
Упс, промахнулся мимо ответа, получилась новая ветка...

ваш способ православнее и в русле идеологии пошика
И, надеюсь, нагляднее. Ваш парсер нужно вдумчиво разбирать, чтобы понять, что происходит. Ну мне пришлось, по крайней мере %)

кстати последний объект выпал как пустой, из за двух пустых строк в конце. автомат такое бы не пропустил. нужна одна проверка или принудительно удалить последний объект
И правда. Упустил этот момент. Всё из-за последних строк в конце вывода:

The operation completed successfully.

(это 3 строки, 2 пустые)
Ну, никто не мешает, действительно, проверять на IsNullOrEmpty.
парсить по сравнению содержимого до двоеточия опасно
в разных системах может быть написано на русском а может на английском, или еще каком языке
Можно добавить к команде /format:table и парсить таблицу, в качестве Headers используем заголовок получившейся таблицы, который можно предварительно распарсить по разделителю.

вывод даты утилитой DISM происходит в последовательности DD.MM.YYYY а мне нужно отсортировать по дате драйвера
Вы не поверите, но PoSH объектно-ориентирован. Конвертируем богомерзкий объект класса «String» в православный объект класса «DateTime» через [DateTime]::Parse($Date). И этот объект уже будет сортироваться как надо — PoSH знает, как правильно сортировать дату.

Впрочем, ваша фраза про ассемблер всё объясняет… :) Я к программированию пришёл недавно и пошло оно уже после увлечения PoSH (его стало не хватать), так что у меня мозг слишком сильно испорчен ООП. На низкоуровневые языки смотреть не могу Т__Т

Попробовал сваять свой парсер без привязки к локали.
Получилось нечто такое:
# Получаем данные от Dism
$data = & dism /online /get-drivers /format:table | select -Skip 12 # Первые 12 строк - стандартный мусор

# Получаем заголовок таблицы и разбиваем на составные
$Headers = @( ($data | select -First 1).ToString().Split('|') | %{$_.Trim() <# обрезаем лишние пробелы #>} )

# оформляем в хэш-таблицу
$HashTable = $data | select -Skip 2 | 
    ConvertFrom-Csv -Delimiter '|' -Header $Headers | 
        select @{n='FileName';e={$_."$($Headers[1])"}},
               @{n='Class';e={$_."$($Headers[3])"}},
               @{n='Vendor';e={$_."$($Headers[4])"}},
               @{n='Date';e={[datetime]::Parse($_."$($Headers[5])")}},
               @{n='Version';e={$_."$($Headers[6])"}}


На выходе в переменной $HashTable у вас есть, собственно, HashTable, с которым дальше можно делать всё, что захотите. Причём, уже с правильным Date, который будет правильно сортироваться. Можно из него сделать PSObject через Foreach, можно оставить как есть — тут уже по вкусу.
Не самое интиутивно простое и элегантное решение, зато уже почти совсем «PowerShell-way» ;)

P.S. пишу с 10-ки. Если у вас PoSH 5.0 — должно всё завестись. Адаптировать под PoSH 2.0 тоже несложно, если сильно надо.
Уберите, пожалуйста, код скрипта в спойлер.
И вопрос на засыпку: почему такой странный парсер со свитчами..? Почему выбран именно такой вариант?
Автор раздаёт WiFi через роутер, в который воткнут свисток с мегафоновской симкой — при чём тут «Зелёные зоны»?
Я бы покупал мак обязательно за рубежем.
Ваше право. Мне же свои нервы дороже. А вдруг брак? А вдруг в дороге побьётся? Даже если я верну деньги — это всё равно потраченное зря время и нервы. Даже если всё в итоге окажется хорошо — всё равно трачу нервы, пока жду.
Я даже в пределах своего города предпочту купить не там, где на 10% дешевле, а в сети, которой я доверяю, и в которой неоднократно брал и знаю, что не будет косяков с обменом/возвратом в случае чего.

А на 12 тыщ вообще то можно было kindle voyager купить. Или новый ssd. Или даже недорогой телефон.
Вот я тоже мыслю подобными критериями. Но я и ноут за 100+ тыр для себя не рассматриваю в принципе. В моём видении, если ты можешь себе позволить ноут подобного класса, то тебе эти 12 тыр погоды не сделают, и ты не будешь размениваться на «недорогой телефон» за 12к — ты пойдёшь и возьмёшь последний айфон.

Опять же, исключительно ИМХО.
Ну хотя бы то, что индивид, способный отдать 100+к за ноут, не будет заказывать его из-за бугра ради экономии ~10%… ИМХО.

Вот если бы у нас он стоил 120к, а при заказе за бугром, скажем, 80к — тогда было бы о чём задуматься.
Секрет. Слишком легко гуглится :)
Сравнение с красным светом тут ни разу не корректное. Во-первых, я знал, на какой риск иду. Во-вторых, по поводу контроля и утверждения — тут всё просто: а. хорошие отношения с научруком, б. знание и понимание норм, по которым нужно будет проходить контроль + опыт сокурсников. Причины не сделать всё раньше более чем банальны: лень + работа.

И я как бы не к тому, что я такой крутой и сдал за неделю без подготовки, а к тому, что советы в статье до очевидности банальны, а дело часто оказывается совсем не в том, как ты подготовился к защите, а в том, насколько ты знаешь материал в целом, свой диплом, и насколько готов его защитить.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность