Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell

Модерирует : KLASS, IFkO

KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

   

Uriu

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Версии

PowerShell 1.0 -  На текущий момент совершенно неактуальная версия, интересная только для истории. /Прямые ссылки/
PowerShell 2.0 и WinRM 2.0 - Последняя версия, работающая на Windows XP и Windows 2003 (Ещё) /Прямые ссылки/
PowerShell 3.0 (Windows Management Framework 3.0)
PowerShell 4.0 (Windows Management Framework 4.0)
PowerShell 5.0 (Windows Management Framework 5.0)
PowerShell 5.1 (Windows Management Framework 5.1)
PowerShell Core 6.0 (не заменяет PowerShell 5.1)



Ассоциация

Что бы ассоциировать скрипты с PowerShell, аналогично выполнению .bat/.cmd-файлов
нужно в командной строке набрать следующую команду(ы)
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\system32\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версии 1.0-5.1 для 32-битных ОС: ftype microsoft.powershellscript.1=%windir%\sysWOW64\windowspowershell\v1.0\powershell.exe -file "%1"  
%*
 
Версия 6.0 дя 32-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files (86)\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*
Версия 6.0 дя 64-битной ОС: ftype microsoft.powershellscript.1="C:\Program Files\PowerShell\6.0.0\pwsh.exe"  -file "%1" %*



вопрос о подписи скриптов

Что бы PowerShell не задавал вопрос о том, что скрипты не подписаны, ввести в нем команду
set-executionpolicy unrestricted
или в командной строке
powershell Set-ExecutionPolicy Unrestricted -force
(для этих 2-х действий требуются административные права)



Прочее


  • Если используете "белый список" в брандмауэре Windows, то для работы сценариев в сети необходимо создать 2 исходящих правила для svchost.exe и PowerShell.exe.
  • В отличие от батников кодировка скриптов на PowerShell должна быть 1251 (ANSI)




Расширение возможностей PowerShell
Функции
* Write-Color
* PowerTab --- Расширение функций клавиши Tab
Провайдеры
Готовые скрипты
* Ошибки и предупреждения в журнале событий по электронной почте (в4.0)
 


Работа со сценариями в Windows PowerShell
Раздел в MSDN
Краткие справочники по Windows PowerShell 3.0 (english)
Windows PowerShell Франк Кох (БЕРН)  Разработчик и пропагандист платформы. На русском языке в формате pdf и doc

Всего записей: 340 | Зарегистр. 25-11-2004 | Отправлено: 07:13 23-03-2006 | Исправлено: KapralBel, 09:31 29-01-2018
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
ну попробуйте сами-то
Когда есть с чем работать я "пробую". Пока что я "пробую" скрипт от YuS_2. Он материален и работает.

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 17:16 28-03-2017 | Исправлено: Richard_Nixon, 17:26 28-03-2017
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon  28-03-2017

Цитата:
Из этой же самой.

Эм-м-м, имелось в виду ветвление отбора, в частности из первоначального или все же, все выборки последовательны? Если второе, то:
добавляем соответствующие фильтры:

Код:
$finc1="\breader&c21com\b"
$finc2="\bfulltext&c21com=2&p21dbn\b"

 
и продолжаем выборку:

Код:
#Выборка из предыдущего результата, отбор строк по совпадению:
$arr3 = $arr2|%{if($_ -match $finc1){$_}}
#Выборка из предыдущего результата, отбор строк по совпадению:
$arr4 = $arr3|%{if($_ -match $finc2){$_}}
...
"Всего просмотренных страниц документа пользователями: "+ $($arr3.count)
"Всего загруженных документов пользователями из БД: "+ $($arr4.count)
 

 
т.е. после знака присвоения значения переменной "=", указываем тот массив, из которого требуется выборка...
 
У меня в такой последовательной выборке, в третьем и четвертом массиве, результат равен "0" на тестовом логе...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 17:51 28-03-2017 | Исправлено: YuS_2, 17:58 28-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon
окей
 
Если кто-то здесь заинтересуется предметом и будет что-то конкретное непонятно - я готов помочь.
 
 
Добавлено:
 
То чем вы ребята занимаетесь здесь - это не пошик, а "программирование для чайников".
Оно может и полезно для общего понимания, как вручную заниматься ETL (точнее самыми примитивными его вариантами: натужно интерпретируете по слогам даже не структурированные отчёты, а плоский лог, по сути таблицу!)
 
- но это скорее наука о том, чего делать больше уже НЕ надо, и ОСОБЕННО никогда не надо было в пошике!
 
Во-первых, сейчас полно автоматизированных инструментов такого рода под любые платформы, во-вторых это насилие над пошиком, от дремучего непонимания его сути.
 
Dixi.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 18:01 28-03-2017 | Исправлено: LevT, 18:50 28-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2 17:58 28-03-2017

Цитата:
Эм-м-м, имелось в виду ветвление отбора, в частности из первоначального  
Ветвление- речь о ветвлении. Извините, за дремучее косноязычие. Разобрался.

Цитата:
У меня в такой последовательной выборке, в третьем и четвертом массиве, результат равен "0" на тестовом логе...
Странно, я пробую ветвление, результат в третьем и четвертом массиве, тот же - "0" Но параметры то в логах в заданном диапазоне присутствуют. Подозреваю фильтр не отрабатывает символы в искомых параметрах  - "fulltext&c21com=2&p21dbn".
Проверил параметр "reader&c21com" (кодировка символов соответствует таблице - READER&C21COM).  Похоже дело в обработке. Ладно оставлю пока.
 
Копаем дальше.
Скрипт отрабатывает фильтр, если:
$finc2="\bFTPR_READER\b"
 
Скрипт не отрабатывает фильтр, если:
"$finc2="\bREADER\b" или "$finc2="\b_READER\b" или "$finc2="\bREADER&\b";
# регистр не играет роли
 
Задаю такой фильтр:
Цитата:
$finc2="\bFTBIB_READER|\bFTPR_READER|\bFTALL_READER\b"
Работает, результат проверяю. Поругайте если криво.
 
LevT

Цитата:
Если кто-то здесь заинтересуется предметом и будет что-то конкретное непонятно - я готов помочь.  
уже помогли... даже осадок остался.

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 19:00 28-03-2017 | Исправлено: Richard_Nixon, 09:37 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon
вот чего я не увидел, так это интереса
потому не стану метать бисер
 
пошик может по-всякому - разработчики его кинули подачку олдскульным программерам, чтобы те не оплёвывали пошик от своего невежества - но это не значит, что такому надо учиться.






Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 19:24 28-03-2017 | Исправлено: KLASS, 22:37 28-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
PS помогает систематизировать многие вещи, на которые я раньше даже не обращал внимания.  На примере обсуждаемого скрипта, нашел ошибку в именовании одного параметра. Сейчас скрипт выглядит так:
 
Подробнее...
 
Очень бы не помешал вывод строк в отдельный файл(по результату отбора каждого массива), чтобы на пальцах убедится в отсутствии погрешностей. т.к. полученный count по фильтру "fulltext&c21com=2&p21dbn" - пишет бред.  Пока только нашел как вывести в файл результаты работы на экране.

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 10:10 29-03-2017 | Исправлено: Richard_Nixon, 10:38 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon
процедурно-алгоритмическое мышление лучше тренировать на других языках.
 
Павершелл язык скорее функциональный, причём тотально автоматизированный. Всё это из коробки, надо только снять шоры и увидеть.
 
 
Добавлено:
 
Функциональный язык занимается композицией (последовательным применением) функций. Функция это отображение исходного набора данных в конечный.
Задача программиста написать правильную функцию, которая будет легко комбинироваться с другими правильными функциями.
 
Данные в павершелле - объекты дотнета.
Первая функция в программе-контроллере должна из исходного представления (например текстового) сделать живой объект. Исходным представлением являются также параметры встроенных командлетов, которые "магически" порождают нужные объекты из окружающей среды.
 
Последняя - выдать из объекта-результата конвейера предыдущих функций нужное текстовое представление, логично сгруппированное-отсортированное, приятное для глаз и при (большом, но не очень уместном) желании разукрашенное.
 
Либо последнего командлета-форматтера вовсе нет, а вместо этого он производит манипуляции с окружающей средой через полученные по конвейеру объекты.
(справочную инфу о том, что они делают, командлеты могут выдавать в консоль через Write-Warning и/или Write-Verbose)
 
 
Добавлено:
 
А массивы правильно вообще игнорировать
 
Большинство командлетов работают с массивами точно так же, как с единичными объектами.
Только вещи типа сортировки-группировки требуют полного набора данных, остальные командлеты не дожидаются полного набора: передают по конвееру данные поштучно  
(но при упорстве можно отстрелить им эту логику: например, вставить переменную-аккумулятор, которая в конце выдаст массив.  
Так делать НЕ НАДО!)

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 10:47 29-03-2017 | Исправлено: LevT, 11:39 29-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
Так делать НЕ НАДО

Большое Вам спасибо, что вы пишите концептуальные вещи. Но они лежат на уровне выбора среды программирования, а это, что называется, тема холиварная. Я, как вы правильно заметили, не стою вашего бисера, потому как нахожусь на начальном уровне zero. На этот счет я реалист. Не исключено, что на определенном этапе своего самообразования, я смогу осознать ущербность функционала некоторых сред программирования. Но пока мои задачи, носят очень предметный характер. Для отправной точки я выбрал powershell, так так нахожу примеры его работающих скриптов очень функциональными. В моей сегодняшней ситуации, это инструмент решающий повседневные задачи.
Я искренне хотел бы посмотреть Ваш способ решения обсуждаемой тут задачи, так  как, на основании работающего примера можно делать какие-то выводы, доступные на моем уровне.
 
Предлагаю разобрать ситуацию:
Фильтр "$finc3" так и не отрабатывает. Как вы пишите "единичный объект" - массив не хочет обработать фильтр "bfulltext&c21com=2&p21dbn". )
 
текущее решение на PS:
Подробнее...

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 11:44 29-03-2017 | Исправлено: Richard_Nixon, 12:19 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon

Цитата:
потому как нахожусь на начальном уровне zero. На этот счет я реалист.  

 
тем легче сразу начинать правильно и не шориться.
А бисера не стоите постольку-поскольку интереса к настоящим ценностям пошика до сих пор не проявили.
 

Цитата:
Я искренне хотел бы посмотреть Ваш способ решения задачи,

А вы попробуйте последовать моему совету (первому или второму) сами.
Будет трудно - попросите, помогу.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 12:11 29-03-2017 | Исправлено: LevT, 12:13 29-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
второму) сами.

Отличная справочная система. О - боже ж ты мой... Это, что намек на "лопату и большую кучу рядом"? а-ха-ха... забавно. Теперь ваша задача посещения этой темы стала очевидна. Спасибо, больше к вам не обращусь, чтобы тема во флейм не скатилась.
 

Цитата:
моему совету (первому
Линк то увидели на что прикручен? На ваш профиль. Я понял... поразить новичка послужным списком. Я поражен. Чес слово.

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 12:33 29-03-2017 | Исправлено: Richard_Nixon, 12:40 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

http://forum.ru-board.com/topic.cgi?forum=62&topic=7221&start=720#17
 

Цитата:
больше к вам не обращусь,  

напугали ежа...
баба с возу - кобыле легче
 
насчет хелпа - вы хотя бы в курсе, что надо сделать Update-Help? содержимое скачается последнее из инета.
Это базовые вещи.  
Как и то, что лучший способ изучения пошика не форумы и не гугль, а хелп.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 12:45 29-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
Это базовые вещи.

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

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 12:52 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну и ещё у хелпа есть ключ -Online
 
 
Добавлено:
Richard_Nixon
ну так почитайте рекомендованный хелп и попробуйте подобрать шаблон для своего лога.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 12:52 29-03-2017
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon

Цитата:
Копаем дальше.  
Скрипт отрабатывает фильтр, если:  
$finc2="\bFTPR_READER\b"  
 
Скрипт не отрабатывает фильтр, если:  
"$finc2="\bREADER\b" или "$finc2="\b_READER\b" или "$finc2="\bREADER&\b";  
# регистр не играет роли  
 
Задаю такой фильтр:  
Цитата:
$finc2="\bFTBIB_READER|\bFTPR_READER|\bFTALL_READER\b"
Работает, результат проверяю.

Регэкспы необходимо задавать правильно. Вы взяли те шаблоны, которые составлял я, но в них-то нет учета контекста...
Я просто взял Ваши строчки, добавил к ним границы слова \b и всё на том.  
А не работают мои шаблоны, потому, что в тексте просто нет совпадений по ним.
Поясню на Вашем примере. Мы ищем:

Код:
$finc2="\bREADER\b"

что дословно означает:
ищем границу слова, сразу за ней символ "r", за ним "e" и т.д. до полного совпадения.
Теперь смотрим на текст:

Код:
FTPR_READER

В этом тексте совпадения не будет найдено, т.к. символ нижнего подчеркивания не является разделителем слов, т.е. там просто нет границы слова.
В этом случае нам необходим скорректированный шаблон. Например так:

Код:
$finc2="(?<=_)READER\b"

что дословно означает:
найти символ "r", следующий за символом нижнего подчеркивания (причем, в такой именно записи, сам символ нижнего подчеркивания не захватывается, он работает как условие выбора начального символа "r"), далее сразу за ним ищем символ "e" и т.д. до полного совпадения.
 

Цитата:
$finc2="\bFTBIB_READER|\bFTPR_READER|\bFTALL_READER\b|\bFTNG_READER\b|\bFTLIT_READER\b"  
$finc3="|\bfulltext&c21com=2&p21dbn|\b"  

Во втором шаблоне лучше сделать оптимизацию регулярки
В третьем фильтре "$finc3" с регэкспом ошибки... символ вертикальной черты "труба", в регэкспах работает как выбор альтернативы...
В общем, здесь, с учетом вышеизложенного, я бы записал так:

Код:
$finc2="\b(?>FTBIB|FTPR|FTALL|FTNG|FTLIT)_READER\b"
$finc3="(?<=_)fulltext&c21com=2&p21dbn\b"


Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 13:26 29-03-2017 | Исправлено: YuS_2, 13:29 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
попробуйте воспользоваться такой функцией
 

Код:
 
function Get-MyLogData {
[CmdletBinding()]
param (
    [Parameter(ValueFromPipeline=$true)]
    [string]$logrecord
)
    $hashtable = $logrecord -split '&' | ConvertFrom-StringData
    $hashtable
}
 

 
Регэкспы уметь бесспорно полезно (целиком, включая именованные группы и проч.), но во многих случаях можно и без них.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 13:57 29-03-2017 | Исправлено: LevT, 14:13 29-03-2017
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Вам же было предложено создать скрипт таким, как Вы его видите - где он? Сделайте, с учетом необходимых выборок... а там посчитаем скорость обработки...
Не желаете напрягаться? Так почему Вы решили, что кому-то станут интересны абсолютно бесполезные советы?
Неужели Вы думаете, что вся проблема в разбитии строки на подстроки?...

Цитата:
во многих случаях можно и без них.

Покажите это... именно в этом, конкретном случае... нет желания? Тогда что вы тут делаете?
 
 
Richard_Nixon

Цитата:
Очень бы не помешал вывод строк в отдельный файл(по результату отбора каждого массива), чтобы на пальцах убедится в отсутствии погрешностей

Вывод всех строк в файл или каждую строку статистики в отдельный файл.

Цитата:
полученный count по фильтру "fulltext&c21com=2&p21dbn" - пишет бред.

Здесь, скорее всего, та же самая проблема с регэкспом, связанная с нижним подчеркиванием...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 14:58 29-03-2017 | Исправлено: YuS_2, 15:00 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вам же было предложено создать скрипт таким, как Вы его видите - где он? Сделайте, с учетом необходимых выборок...  

 
Почему Вы решили, что я вам чем-то обязан?
Не хотите, не пользуйтесь.
 
Мне только жалко, что _вот_это_вот_ (чем вы тут занимаетесь) люди тоже принимают за Powershell.
Это отпугивает людей, совершенно зря.
(Многим пошик мог бы пригодиться по жизни - при том что им никаким боком не надо это "программирование для чайников".)
 
 

Цитата:
а там посчитаем скорость обработки...  

 
Скорость обработки вообще дело десятое (кроме высоконагруженных систем)
 
Рабочее время программиста/админа-скриптера всяко дороже.
И удобопонятность для чтения и изменения.
 
 

Цитата:
Покажите это... именно в этом, конкретном случае... нет желания?

 
Сами посмотрите (если захотите). Консоль и ISE у всех одинаковые.
Функцию я написал.

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 15:09 29-03-2017 | Исправлено: LevT, 15:19 29-03-2017
Richard_Nixon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2

Цитата:
Вывод всех строк в файл или каждую строку статистики в отдельный файл.
Теперь, при вашей помощи, с пониманием  принципов учета контекста, достаточно вывода всех строк статистики в один файл.

Цитата:
В третьем фильтре "$finc3" с регэкспом ошибки... символ вертикальной черты "труба", в регэкспах работает как выбор альтернативы...  
Альтернативы? То есть, применительно к настоящему фильтру,  не совокупность условий, а выбор из него какого-то одного, или нескольких?  

Цитата:
$finc2="\b(?>FTBIB|FTPR|FTALL|FTNG|FTLIT)_READER\b"  
Может я ошибаюсь, но похоже фильтр находит все строки, удовлетворяющие условию. Если это так, это как раз и необходимо.
 
LevT

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

Всего записей: 78 | Зарегистр. 22-02-2017 | Отправлено: 16:46 29-03-2017 | Исправлено: Richard_Nixon, 17:26 29-03-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну и что? Машина пашет, люди курят. Всё одно не успеют докурить.
никогда не надо заниматься преждевременной оптимизацией.
 
цель - добиться результата, а не лизать яйца перфекционизму.
там, где что-то раздражающе тормозит, надо смотреть разные варианты подавая их  Measure-Command
но для начала сделать, чтобы работало как надо - а потом уже делать быстрее (только если реально надо)
 
Я всегда предпочту поддерживаемый код быстродействующей "лапше", в которой нихрена непонятно уже через пару недель, что ты там наворотил.
 

Всего записей: 15331 | Зарегистр. 14-10-2001 | Отправлено: 17:12 29-03-2017 | Исправлено: LevT, 17:19 29-03-2017
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Richard_Nixon

Цитата:
достаточно вывода всех строк статистики в один файл.


Код:
&{"Всего обращений к БД включая внешние поисковые системы: "+$($strdat.count)
"Пользовательских обращений к БД, всего, включая загрузки, без учета обращений поисковыми системами: "+$($arr1.count)
"Всего просмотренных документов пользователями, включая скачанные: "+$($arr2.count)
"Всего просмотренных страниц документа пользователями: "+ $($arr3.count)
"Всего загруженных документов пользователями из БД: "+ $($arr4.count)}|out-file out.txt -enc default -force

 
Добавлено:
Richard_Nixon

Цитата:
Альтернативы? То есть, применительно к настоящему фильтру,  не совокупность всех  наименований, а выбор из них какой-то одной, или нескольких?  


Цитата:
Может я ошибаюсь, но похоже фильтр находит все строки, удовлетворяющие условию.

 
Да, выбор одного или нескольких... обычно. А в таком варианте, как я записал, достаточно одного найденного совпадения, это атомарная группа, она работает быстрее...

Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 17:22 29-03-2017
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell
KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru