|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
||
PowerShell 6.x+ нет Windows Workflow Foundation21.06.2021, 13:13. Показов 3272. Ответов 34
Метки нет (Все метки)
название темы скорее вопрос. Т.к. потетестил на PS 7.1 ( надеюсь не особо устаревшим ) и получил ответ вида. Выделил шрифтом Вold:
Кликните здесь для просмотра всего текста
PS F:\...\Script> .\1PingStatusARMWorkFlowCSV211.ps1
ParserError: F:\...\Script\1PingStatusARMWorkFlowCSV2 11.ps1:3 Line | 3 | Workflow PingStatus | ~~~~~~~~~~~~~~~~~~~ | Workflow is not supported in PowerShell 6+. PS F:\...\Script> $PsVersionTable Name Value ---- ----- PSVersion 7.1.0 PSEdition Core GitCommitId 7.1.0 OS Microsoft Windows 6.1.7601 Service Pack 1 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0 Имя ОС Майкрософт Windows Server 2019 Standard Версия 10.0.17763 Сборка 17763 PS C:\...> GCI 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |Get-ItemProperty -name Version,Release -EA 0 | Where { $_.PSChildName -match '^(?!S)\p{L}'} | Select PSChildName, Version, Release PSChildName Version Release ----------- ------- ------- Client 4.7.03190 461814 Full 4.7.03190 461814 Client 4.0.0.0 PS C:\....> [Environment]::OSVersion.Version Major Minor Build Revision ----- ----- ----- -------- 10 0 17763 0 На 7-ке и 19-ом сервере идентично. В PShell до версии 5.1 начиная с 3.0 всё работает Хелпер почти также за это Breaking Changes for PowerShell 6.x
1. ошибаюсь и оно всё-таки где-то есть. Может в Function объединили и упростили без всяких -parallel, InlineScript {<script block>}, sequence {} 2. пропустил что-то в изменениях MS. Могу признать под №1, т.к. за всем конечно не услежу. Но всё-таки. Это ситуация отношения к самосборкам с гитхаба и MS пока выше 5.1 ничего не сделала или что-то другое. Очень странно, в чем смысл перехода выше PS 5.1. 3. надо установить NFW 5.1 и выше
0
|
||
| 21.06.2021, 13:13 | |
|
Ответы с готовыми решениями:
34
Lotus Workflow и интеграция Workflow с Domino Windows Presentation Foundation |
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
|||||||
| 21.06.2021, 13:50 | |||||||
ForEach-Object -Parallel -ThrottleLimitДобавлено через 9 минут
0
|
|||||||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
|||||||
| 21.06.2021, 13:55 [ТС] | |||||||
|
полный скрикт, отлично работает на PS 4.0, 5.1
0
|
|||||||
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
|
| 21.06.2021, 14:00 | |
|
0
|
|
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
|||||||
| 21.06.2021, 14:06 [ТС] | |||||||
|
не успел внести коррект. RSAT установлен.
0
|
|||||||
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
|||||||
| 21.06.2021, 14:26 | |||||||
0
|
|||||||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
|
| 21.06.2021, 14:33 [ТС] | |
|
в этом случае скорее всего не получится вывести с форматированием в EPCSV -Path ... -Delimiter ";", чтобы получить таблицу с необходимыми A,B,C,D,E ....
в текстовом на начальном этапе получилось, но после много чего менял. Формат лист не подходит. ForEach-Object наверное должно быть внутри function PingStatus { param ([string] $Computer) ..... $Computers | ForEach-Object -Parallel { PingStatus $_ } -ThrottleLimit 4 } Если вне, пока пойму как это работает. $Computers = (Get-ADComputer -Filter *).Name | Sort-Object PingStatus -Computer $Computers Так?
0
|
|
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
||||||||||||
| 21.06.2021, 14:45 | ||||||||||||
Тогда и функция не нужна:
0
|
||||||||||||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
|||||||
| 21.06.2021, 14:52 [ТС] | |||||||
|
Сделал следующий коррект:
может требуется какое-то окончание или -NULL в {} или ещё что-то
0
|
|||||||
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
|
| 21.06.2021, 14:59 | |
|
0
|
|
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
|||
| 21.06.2021, 15:14 [ТС] | |||
|
согласен. надо нырять в теорию.
Если добавить любое значение в -ThrottleLimit ... ответ вида:
0
|
|||
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
||
| 21.06.2021, 15:39 | ||
Get-WmiObject, внезапно, да.Я просто подсказал, как можно организовать многопоточность вместо workflow, не более.
0
|
||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
||
| 21.06.2021, 20:24 [ТС] | ||
|
Буду тестить идеи Сегодня, 14:26 - 14:45. Скрипт выполнялся на PS 5.1 для 700 хостов в течении двух с половиной - трех часов. Хотелось проверить на PS 7.1. Ответ вида Workflow is not supported in PowerShell 6+. и далее из хелпера не понравился. Подумал это лишь у меня или все давно знают. Спасибо за идеи.
0
|
||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||
| 22.06.2021, 03:23 | |||
|
0
|
|||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
||
| 22.06.2021, 07:06 [ТС] | ||
|
В целом да. Быстрее, но не в разы. Чаще срабатывает GWMI.
0
|
||
|
1658 / 273 / 66
Регистрация: 03.06.2020
Сообщений: 694
|
|
| 22.06.2021, 10:35 | |
|
1
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 22.06.2021, 11:51 | ||
|
если уже ухОдите в дебри своего кода и как видно, косяки там есть, то не проще озвучить задачу, которую решаете, возможно вам напишут код - правильный, а на основании его доучите чего не знали и допилите до желаемых хотелок.
0
|
||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
||||||
| 22.06.2021, 19:03 [ТС] | ||||||
|
2 alpap
месседж от кого-то, кто знает всё? Да, многое с полгода практики. Скажем так в 2020 не было подобных задач, хотя на этом месте более 25 лет. Да, согласен. Взгляд со стороны вполне может подсказать, вообще всё не так. Начало вопроса тут Win32_PingStatus есть варианта для списка компьютеров? Для определения Resolved В кратце. Надо найти имена компьютеров одного леса ( AD, 1*DHCP, 4*DNS, 4*DC ), для которых обозначена тема "Ошибка "Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом" при выполнении входа в Windows 7" где вариантов не так много. Если не надеяться на рабочие варианты, без секундного апгрейда примерно 500 хостов. Конечно, работают команды
что требуется и хотелось бы сделать. При этом надо понимать. Это задача не критического значения. Да, есть сотни компов, которые не имеют доступа по управлению. Это удивительно, но для них работают многие GPO простого значения. подключение сетевого диска, раздачи ярлыков, изменения трастовых сайтов в IE и ещё многое. Но также многое не работает. Например, некоторые службы, активация брандмауэра, WinRM. Во всяком случае GPResult /h c:\gp-report\report.html /f голосуют именно за это. Где сложность? 1. всех руководителей не достать, что бы они на местах дали нужные указания. Могут дать указание на что-то конкретное, а не давайте мы тут подумаем что у нас творится. Эти дебаты ни к чему хорошему не приведут, что не раз случалось. 2. есть компы, которые не включаются штатно. Они не входят в проблемную группу. Командировки, отпуск, сданы в архив или тупо не исправны. 3. надо отфильтровать компы п.2 от проблемных, которые в работе. Это можно сделать: 3.1. колонками в .CSV "Ориент.последняя дата логона" = $Os.LastLogonDate "Долгое Отсутствие доступа" = $Result.PrimaryAddressResolutionStatus 3.2 более надежно, считывание даты продления аренды в DHCP. В текстовом формате более менее работает, но при экспорте в .CSV получается много мусора. Но это хорошее использование. Пока тестим. Итак найти и выдать в работу, те. кому надо ЦУ, список компов, которые находятся в разделе "Ошибка "Не удалось установить доверительные отношения ...". Не исключено такой список будет пополняться. по мере активации и включении. Частично причина этого косяка, к которому надо относиться как к внезапному созданию временного профиля C:\User\TEMP, в обновлении для домен-контроллеров "Критическая уязвимость Active Directory Zerologon (CVE-2020-1472)" и её результаты для некоторых компов. Этот апдейт удалить нельзя. К сожалению. Были они проблемные и даже можете кинуть помидоры, пиратки, это уже без смысла обсуждать. Вот как бы небольшие активы темы. Извините за много букв, даже если извинение повторное. Но короче не получается. Повторюсь, ситуация не критически-катастрофическая .Но делать что-то надо. Хотя что бы не возникали разные чины. Пысы. Да, совет бегом увольняться, мне известен. Будем считать мне его уже выдали.
0
|
||||||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||
| 22.06.2021, 23:02 | |||
|
из (таки да)
0
|
|||
|
163 / 50 / 5
Регистрация: 03.06.2020
Сообщений: 580
|
||||||||
| 23.06.2021, 08:54 [ТС] | ||||||||
|
нет, как таковых критичных проблем нет. Более-менее понятно, откуда пошли НЕ ... установить доверительные отношения, что с этим делать ( хотя вопрос открытый и рекомендации от MS мягко говоря странные, есть примеры решения, но не работают для всех ). Для того чтобы делать, надо составить список проблемных хостов. Можно порадоваться, это не сервера, но среди есть немало от рукодства, бухни и другой публики, с которой по этому поводу не хочется общаться. С их выявлением вполне справляется
Т.е. WFW реально в интервале PShell 3.0-5.1 работает, как это анонсировано Сергеем Васиным еще в 2013-м в статье PowerShell WorkFlows: Основы ... Конечно надо найти оптимальные вложения блоков. Не исключено отказаться от строк или запустить другим скриптом, которые тянут много времени. Конечно это определение версии оси и имени пользователя. Почему сделал темы и вопрос. Был удивлен, рабочие скрипты в PShell 3.0-5.1 выдают ответ, если стартовать в PShell 7.1:
Ещё в PS 7.1 не пошла кодировка. Если заглавия перевести в LAT - проблема решена. Если на CYR, ответ:
Идея для PS 5.1 WorkFlow PingStatus ....{...} PingStatus -Computer $Computers - рабочая. Добавлено через 28 минут Еще сл. странности из неожиданных, PShell 7.1 не понимает алиас GWMI. Если перевести в Get-WmiObject - работает. Установлен с .msi Также, не принимает строку, если содержит кириллицу на локализованной WStation. Т.е. строка $Ping = ping $Computer -n 1 -l 1 | Select-String "потерь" тут бесполезна. Поэтому надо запускать на LAT локализации. Может это вариант, если PShell 7.1+Function будет быстрее, чем PS 5.1 + WorkFlow. Это странно, последние сервера куплены и внедрены локализованные CYR. Добавлено через 19 минут строки в PS 7.1 $Os = (Get-ADComputer -Identity $Computer -Properties *) ...."OS" = $Os.OperatingSystem выдают результат Windows 10 Корпоративная 2016 СЃ долгосрочным обслуживанием а надо бы, как в PS 5.1 Windows 10 Корпоративная 2016 с долгосрочным обслуживанием похоже с 7-кой пока рановато что-то использовать. Понимаю слова из рекламы, "вы не умеете их готовить". Но пока умею 5.1. Почему б этим не порадоваться. ;-)
0
|
||||||||
| 23.06.2021, 08:54 | |
|
Помогаю со студенческими работами здесь
20
windows foundation presentation Приговор Windows Communication Foundation USB flash на Windows server 2008 R2 Foundation Ошибка при установке Windows Identity Foundation ошибка проверки лицензии в windows foundation server 2012 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|