Перейти из форума на сайт.Реклама на Ru.Board


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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

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 6.0




 
Что бы ассоциировать скрипты с PowerShell, аналогично выполнению .bat/.cmd-файлов
нужно в командной строке набрать следующую команду  
ftype microsoft.powershellscript.1=%windir%\system32\windowspowershell\v1.0\powershell.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, 08:39 18-01-2018
YuS_2



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

Цитата:
Просто некоторые его зачем-то обожествляют, превращая из инструмента в объект поклонения.

Не со всем вышенаписанным согласен, но вот с этим на 100% точно соглашусь.  
Инструмент необходимо изучать, использовать после изучения, но садить его на иконостас, биться лбом об пол и петь аллилуйя после каждого слова - это точно лишнее. Если инструмент рабочий и удобный, к нему привыкнут и научатся пользоваться, если, конечно, он задумывался как инструмент для широкой публики, а не специализированный инструмент для узких специалистов. Если же, как писали выше, это чудовище Франкенштейна, то никакие гротески не помогут маркетологам и их добровольным помощникам, инструмент, всё равно, будет похоронен в темном чулане в дальнем углу... имхо. А пока этого не происходит, с момента самого рождения, то и не стоит здесь заниматься обсуждением значимости того или иного языка программирования в сравнении с PS, вроде бы, здесь для этого, не самое подходящее место таки.
А про штамповку версий... возразить на это могу одним вопросом: а существуют ли какие-либо статичные языки, в том числе не только программирования,  абсолютно не подвергающиеся развитию (ну, хорошо, хотя бы изменению)? По-моему, всё, что не изменяется можно считать мертвым...

Всего записей: 1734 | Зарегистр. 03-02-2009 | Отправлено: 11:34 10-09-2017
LevT



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

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

 
Он задумывался для того, чтобы структурировать "широкую публику" на мастеров и подмастерий.
Потому что "соборы" строятся только так: тут вам не базар.  
Базара и так вокруг полно.
 

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 11:42 10-09-2017
YuS_2



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

Всего записей: 1734 | Зарегистр. 03-02-2009 | Отправлено: 12:52 10-09-2017
Smitis

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

Цитата:
Он задумывался для того, чтобы структурировать "широкую публику" на мастеров и подмастерий.
Потому что "соборы" строятся только так: тут вам не базар.  
Базара и так вокруг полно.  

Да не задумывался он так. С чего Вы это взяли?
 
Добавлено:
YuS_2

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

Дело в том, что PS скриптовый язык. Кажется уже сталкивались в этой теме, что предлагается решение на PS и хрясь, не работает - нужна другая версия. Теряется смысл его как языка для системного администрирования - вот Вам решение проблемы, но сначала скачайте и поставьте самый новый дотнет (что бы уж точно наверняка), потом скачайте и поставьте новый PS, затем настройте Вашу винду, что бы скрипты PS запускались, но при этом не гарантируется, что проблема будет решена.


----------
Разум когда-нибудь победит

Всего записей: 1238 | Зарегистр. 09-02-2003 | Отправлено: 13:01 10-09-2017
YuS_2



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

Цитата:
Кажется уже сталкивались в этой теме, что предлагается решение на PS и хрясь, не работает - нужна другая версия.  

Может не здесь, на другом форуме, но наверняка пересекались...  
Но это ведь не ответ, наверное, на вопрос, потому как "хрясьнеработает" из-за версии ПО - формула, встречающаяся где угодно, когда угодно и на любом ПО, где то самое ПО периодически обновляется. Говорю же, изменения/развитие всегда присутствуют в "живых" языках...
Да, есть какие-то незыблемые основы, конечно, но и они, так или иначе, обрастают новинками со временем. PS в этом тоже не исключение... возможно, чуть в большей степени, чем другие средства/инструменты, но и возрастом он помоложе будет, наверное.

Всего записей: 1734 | Зарегистр. 03-02-2009 | Отправлено: 14:16 10-09-2017
KapralBel



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

Цитата:
вменяемо и уважительно поставив задачу

Достал ты своим уважением и просьбами, я могу с уважением послать далеко и с точным описанием маршрута и встречающихся на пути достопримечательностях ... всяких ... которые лучше остальных знают и всем рассказывают как все правильно, хотя их об этом никто не просит
"Не будет ли любезен многоуважаемый джин, пойти на ..., в ... и потом и к ..." ну что-то в таком стиле
 

Цитата:
Не со всем вышенаписанным согласен, но вот с этим на 100% точно соглашусь.  

+100500
 
Все зависит от задачи
если надо "удалить все в текущей папке" мне хватит и батничка из двух строк и рассказы к кому я должен обратиться что бы написать этот код "мастерами" по всем и сколько "ку" я должен при этом сказать вызывают у меня в лучшем случае просто молчание )))
 

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

А ви таки относите себя к мастерам? )))
таки нет - совсем с другой целью но никак не для "цветовой дифференцации штанов"
 





Вы первым перешли на личности и откровенно спровоцировали оппонента на ответ в вашем же духе. Если не прекратите - получите оба.

Всего записей: 11134 | Зарегистр. 16-02-2005 | Отправлено: 16:21 10-09-2017 | Исправлено: IFkO, 21:32 10-09-2017
angr82

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто знает как изменить CPU Affinity для уже выполняемого .exe в реальном времени, т.е. без остановки и запуска процесса по-новой.

Всего записей: 17 | Зарегистр. 19-09-2014 | Отправлено: 17:30 10-09-2017
LevT



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

Цитата:
С чего Вы это взяли?  

 
С того, что так утверждает Дон Джонс, который _очень много_ пива выпил с Джефри Сновером.
Вот Monad manifesto второго (2002, что ли, год) с недавними аннотациями первого.
 
 

Цитата:
предлагается решение на PS и хрясь, не работает - нужна другая версия.

 
решение на v5.1 заработает только на семёрке-восьмерке с установленным WMF v5.1 (на семерке надо предварительно накатить новый .NET)
решение на v3 заработает на семёрке и старше
решение на v2 на XP - и только после установки винапдейта. И на старших системах, вплоть до этой осени. Потом с v2 станет возможна та ситуация, которую Вы описываете.
Для v3 и дальше она пока невозможна.
 
А вот писать что-то на древней версии языка, в угоду некрофилам дауншифтерам никого заставить нельзя.
В PS модулях есть директива #requires version #
Что авторы модулей считают нужным поддерживать, то и поддерживается.
 
 
 
 
 
Добавлено:
 
KapralBel

Цитата:
если надо "удалить все в текущей папке" мне хватит и батничка из двух строк  

 
тогда что вы делаете в этой теме, где такое решается ровно одним командлетом?
 
И да. написание кода, который выглядит по-разному для случая 1 или 100 или 10000 итераций - дисквалифицирующий признак.
Тот кто так делает - тот определённо "самоделкин" вне игры.
   
Подмастерье (работяга "в цеху") - тот умеет писать трубу, так, чтобы один командлет делал ровно одно дело
.("те, кто этого не умеет или хотя бы не учится - уже идут конкурировать с роботами")
 
а мастер ("инженер") умеет реализовывать её недостающие части(командлеты) так, чтобы  
1) упрятать цикл внутри блока process{}
2) спроектировать надлежащее связывание с соседями по заказанной трубе
 
 и необязательно (но желательно, особенно если стремится стать "белым воротничком")  
3) продумать прочие PаrameterSet-ы
4) упаковать всё в модуль на будущее.
 
 
Код профессионально написанного командлета состоит из определения ParamеterSet-ов примерно наполовину (в этом легко убедится каждый, вытащив прокси-скрипт).
Лица, отрицающие необходимость этого в своих инструментах повторного использования - знакомы не с PS, а с каким-то его уродливым перепевом.
 

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 18:10 10-09-2017 | Исправлено: LevT, 20:08 10-09-2017
PhoenixUA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
angr82
 
Немного переработанный вариант отсюда:
 

Код:
function Set-Affinity {  
 
    param (  
        $core,  
         
        [switch]$all,
         
        [Parameter(Mandatory=$true)]
        [string]$filename
    )  
 
    [int]$LogicalProcessors = 0  
    gwmi -class win32_processor | foreach { $LogicalProcessors += $_.NumberOfLogicalProcessors}  
    $maxaffinity = ([math]::pow(2,$LogicalProcessors) - 1)  
 
    if ($core) { $core | select -unique |  %  {$affinity = 0} {$affinity += [math]::pow(2,$_-1) } }  
    if ($all) { $affinity = $maxaffinity }  
    if (($affinity -gt $maxaffinity) -or ($affinity -lt 1)) {$affinity = $maxaffinity}  
 
    Get-Process | ? {$_.Path -match $filename} | % { $_.ProcessorAffinity = [int]$affinity}
}  

Всего записей: 2105 | Зарегистр. 17-11-2005 | Отправлено: 18:27 10-09-2017
KapralBel



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

Цитата:
тогда что вы делаете в этой теме, где такое решается ровно одним командлетом?

Я могу сказать что я тут делаю )))
Для начала я если помогаю то там где просят, в отличии от вас... и не навязываю свою точку зрения
и чего не жду - я не жду очень "вумных" советов, как и что мне делать
Заметьте я тут не попросил ни одного совета, за все время
И уж точно не нуждаюсь в навязывании мне своего мнения, надеюсь вам это понятно
 
А то что вы не можете разобрать сарказм, и считаете что это приглашение к вам что-то посоветовать, так вы ошибаетесь, как впрочем вы ошибаетесь и в других вещах
 
Вы даже не обратили внимание на маршрут, я всегда его предлагаю всяким
Особенно тем кто считает что его откровения хоть кому то нужны

Всего записей: 11134 | Зарегистр. 16-02-2005 | Отправлено: 18:51 10-09-2017
angr82

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пока такую прогу нашел http://affinitychanger.sourceforge.net/

Всего записей: 17 | Зарегистр. 19-09-2014 | Отправлено: 18:52 10-09-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Вы переоцениваете свою значимость для меня.
не припомню, чтобы я что-то советовал Вам.
 
Я:  
- излагаю своё мнение  
- обосновываю его первоисточниками (по запросу)
- пользуюсь любым поводом для того, чтобы это мнение прояснить (ни у кого разрешения не спрашивая)
 
 
 

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 18:55 10-09-2017
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
angr82
Скажите, а какое отношение эта утилита имеет к PowerShell?
 
 
Добавлено:
LevT

Цитата:
не припомню, чтобы я что-то советовал Вам.

Если вы страдаете прогрессирующим склерозом, буду вам чистить память

Цитата:
И да. написание кода, который выглядит по-разному для случая 1 или 100 или 10000 итераций - дисквалифицирующий признак.  

Напомнить остальные случаи? даже в том же самом посте, не говоря уже о других
или как?
 
Так вот я скажу тебе одну вещь
Ты спамер - рекламируешь себя как гуру, хотя на самом деле ты им не являешься
Ах пардон - мастер
выучил слово труба и суешь эту трубу в те места куда остальные люди её не суют
 
Во вторых если повторится с твоей стороны сравнение меня с "дисквалифицирующим признаком" а тебя с мастером я буду подавать жалобу, На
1. переход на личности
2. оскорбления
3. спам
Я достаточно доходчиво пояснил свою позицию?

Всего записей: 11134 | Зарегистр. 16-02-2005 | Отправлено: 18:56 10-09-2017
LevT



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

Цитата:
рекламируешь себя как гуру

 
я в эти ваши игры не играю вовсе..
ничем не меряюсь
 

Цитата:
 куда остальные люди её не суют  

 
Мнение "остальных людей" вменяемым людям неинтересно - там где известно мнение создателей инструмента и существует традиция его профессионального использования ("школа мастерства", если угодно... или неугодно)  
 
 
Добавлено:
И да, я лично хотел бы, чтобы на рубоде открылся филиал этой школы.
Затем и прилагаю тут усилия.
 





Ваш оппонент спровоцировал переход на личности. Но вы ответили тем же. Будете прекращать или принимать меры к обоим?

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 19:11 10-09-2017 | Исправлено: IFkO, 21:30 10-09-2017
YuS_2



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

Цитата:
Пока такую прогу нашел

зачем какие-то проги, если PoSh умеет это делать?
Вы сами привели ссылку(в топике о командной строке), в которой все кратко и ясно написано...
Как Вы проверяли, что что-то не работает?

Код:
# Для установки привязки процесса к процессору необходимо использовать определенное число (сумму чисел).
# Например, для ядер 1 – 4  необходимо использовать 15.  
# 1 (0000 0001)(CPU 1)
# 2 (0000 0010)(CPU 2)
# 4 (0000 0100)(CPU 3)
# 8 (0000 1000)(CPU 4)
# 16 (0001 000)(CPU 5)
# 32 (0010 0000)(CPU 6)
# 64 (0100 0000)(CPU 7)
# 128 (1000 0000)(CPU 8)
 
$core = 2 #сумма чисел, определяющая ядра
$nproc = NameProcess #имя требуемого процесса(ов)
$proc = ps $nproc #получаем список процессов
# Присваиваем в свойство ProcessorAffinity каждого процесса требуемую сумму чисел
# Здесь, все процессы под именем "NameProcess" привязываются ко второму ядру.
foreach ($i in $proc) {  
    $i.ProcessorAffinity = $core  
}

Всего записей: 1734 | Зарегистр. 03-02-2009 | Отправлено: 19:54 10-09-2017
KapralBel



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

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

Будьте так любезны показать из какого моегом поста вы взяли фразу

Цитата:
И да. написание кода, который выглядит по-разному для случая 1 или 100 или 10000 итераций - дисквалифицирующий признак.

Да кстати ви таки не правы, дисквалифицирующий признак это сделать одинаковый код для одной и для 100 итераций )))
Как минимум оператор цикла не нужен для случая 1 итерация )))
 

Цитата:
я в эти ваши игры не играю вовсе..  

Да ню?
Во опровержение твоих слов

Цитата:
Мнение "остальных людей" вменяемым людям неинтересно

Поэтому твое мнение мне не интересно, как впрочем и остальным  
Кстати жалоба пошла
 
 
 
 
 
 
 

Всего записей: 11134 | Зарегистр. 16-02-2005 | Отправлено: 20:12 10-09-2017
LevT



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

Цитата:
Как минимум оператор цикла не нужен для случая 1 итерация )))  

 
нужен.
Во всех профессиональных командлетах - повторно испольуемых инструментах, попадающих по мере годности в апстрим powershell -  он (foreach) есть внутри блока process{}
 
Трубе всё равно, какой мощности массив перемолоть - для того, чтобы работяга-заказчик не парился с циклами
 
 

Цитата:
Будьте так любезны показать из какого моегом поста вы взяли фразу  

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

Цитата:
Трубе всё равно, какой мощности массив перемолоть - для того, чтобы работяга-заказчик не парился с циклами  

 
Это первое фундментальное свойство трубы
Второе - то, что правильно написанный командлет не блокирует исполнение следующих командлетов в трубе.  
 
Потому массивы аккумуляторы в обычных командлетах строго противопоказаны также признак непрофессионализма.
Блокируют трубу вещи типа Sort- и Measure-Object (которыми труба естественным образом оканчивается).
 
 
Добавлено:
Или вот тут вышеумученный Start-BitsTransfer по умолчанию синхронный (т.е. блокирует трубу). Это маркетинг для "админов самоделкиных", которым надо не задумываться.
 
Но для желающих сделать по феншую матану - он имеет асинхронный неблокирующий режим..  
Чуть больше усилий, но зато правильную трубу можно продолжать дальше, перемалывая в ней результат трансферов.

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 20:23 10-09-2017 | Исправлено: LevT, 22:22 10-09-2017
angr82

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

Цитата:
Как Вы проверяли, что что-то не работает?

Мой косяк с безопастностью был - сейчас все работает.

Всего записей: 17 | Зарегистр. 19-09-2014 | Отправлено: 21:37 10-09-2017 | Исправлено: angr82, 21:42 10-09-2017
KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT
Есть, что сказать по сертификатам в системе?
Может пошик проверить наличие левых сертификатов в системе и выдать полезную инфу?
А то мы в теме по выни, с моей подачи, увлеклись сторонней утилитой от Руссиновича.
Что скажешь в свое "оправдание"? (шутка).

Всего записей: 6551 | Зарегистр. 12-10-2001 | Отправлено: 15:37 12-09-2017
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KLASS
Отобрать подлежащие проверке:  например dir Cert:\CurrentUser -...  или dir Cert:\LocalMachine -...
Остаётся уточнить, где и по каким признакам искать сертификаты

Код:
 
CodeSigningCert          - [switch] CodeSigningCert
DocumentEncryptionCert   - [switch] DocumentEncryptionCert
SSLServerAuthentication  - [switch] SSLServerAuthentication
DnsName                  - [DnsNameRepresentation] DnsName
Eku                      - [string[]] Eku
 

(это всё есть в дополнение к стандартным для PSпровайдера параметрам Get-ChildItem)
 
и как именно ты определяешь "левизну".  
Проверить отобранные
 
 
ЗЫ.
Ответ был мною написан без знания каких-либо фактов в этой конкретной области: достаточно знания общих принципов (например, списка доступных PS провайдеров)
 

Всего записей: 10100 | Зарегистр. 14-10-2001 | Отправлено: 15:59 12-09-2017 | Исправлено: LevT, 16:32 12-09-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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru