[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 20 | 1 | 11
Назад Вниз Каталог Обновить

Официальный™ PowerShell тред Аноним 13/05/16 Птн 17:42:07 742679  
14631613276460.png (357Кб, 1972x1475)
Это тред про лучший Shell, и лучший ScriptingEnvironment в мире - PowerShell.

$httpHost = 'api.github.com'
$path = '/search/repositories?'
$params = 'sort=stars&order=desc&q=language:powershell'
$url = "https://$httpHost$path$params"
(Invoke-RestMethod $url ).items | foreach { $_.full_name }

Q: Что это
A: Это скриптовый язык на платформе .NET, обладающий всей силой .NET, WMI и прочего.

Q: Чем он лучше Bash?
A: Это полноценный объектно-ориентированный язык программирования, с объектными пайпами

Q: Чем лучше Python?
A: На Windows Python работает через задницу, а еще в нем нет пайпов и других скриптовых конструкций, дотнета, и прочего.

Q: Только на Windows?
A: Пока да. Причем как сам PowerShell, так и его IDE(PS ISE) встроены в винду. Возможно, порт на не такие популярные системы все же случится: http://www.forbes.com/sites/justinwarren/2016/03/08/is-microsoft-about-to-bring-powershell-to-linux

Q: Что почитать?
A: На StackOverflow есть ответы на любой вопрос. Еще можно посмотреть тут: http://powershell.org/wp/ebooks/
Ответы: >>742721 >>743083 >>749631
Аноним 13/05/16 Птн 18:05:55 742699
Вот это охуенный тред, давно мечтаю обмазаться им. Благословляю.
Алсо, поясните сразу кто-нибудь за хуйню с необходимостью явно разрешить выполнение скриптов, зачем это нужно с точки зрения безопасности? Чем его скрипты опаснее обычных бинарников, которые подчиняются правам пользователя? Можно ли организовать подписание собственных скриптов без ебли с консольными параметрами каждый раз?
Ответы: >>742715
Аноним 13/05/16 Птн 18:18:51 742715
>>742699
Скрипты можно генерировать на лету, это первое.

Второе - для бинарников в винде вполне себе можно выставить ACL на выполнение для конкретного пользователя/группы. Для рандомного скрипта разве что чтение можно убрать/выставить.

Третье - для бинарников на винде тоже можно выставить правило, согласно которому можно выполнять только подписанные.
https://technet.microsoft.com/en-us/library/dd723683(v=ws.10).aspx

Почему по дефолту стоит запрет выполнения скриптов? Least privilege principle. Кому надо - выставляет разрешение.

Рекомендовано делать AllSigned или RemoteSigned execution policy. В таком случае, если денег на сертификат подписей нет, то создается свое CA и свой сертификат для подписи кода(через makecert, очень просто), и на серверах/машинах сертификаты CA и подписи импортируются в хранилище сертификатов. Скрипты перед деплоем подписываются однострочником.

Для разработки, чтобы не ебаться, можно выставить самое слабое ExecutionPolicy, впрочем, которое разрешает выполнение всех скриптов.
Ответы: >>742859
Аноним 13/05/16 Птн 18:26:18 742721
>>742679 (OP)
САЖА, УБОГОМУ ПОДЕЛИЮ КРИВОРУКИХ ИНДУСО-КИТАЙЦЕВ!!!
Ответы: >>742833
Аноним 13/05/16 Птн 18:38:24 742737
А что делает эта свинная блевота в моем /pr/? Идите хуя лэкните, недоноски.
Ответы: >>742833
Аноним 13/05/16 Птн 20:16:03 742833
>>742737
>>742721
Уебывайте в говнотреды про пайтон, не мешайте белым людям общаться
Аноним 13/05/16 Птн 20:52:31 742859
>>742715
От души расписал все, спасибо, няш.
Аноним 14/05/16 Суб 07:50:43 743031
Побампаю пока всякими административными тасками

Q: Как узнать количество свободной памяти?
A: gwmi Win32_OperatingSystem | foreach { "{0:N2} MB free" -f ($_.FreePhysicalMemory / 1024) }

Q: Как узнать загрузку процессора?
A: gwmi Win32_Processor | measure -property LoadPercentage -Average | foreach { "{0}% CPU in use" -f $_.Average}

Q: Как узнать количество свободного места на дисках?
A: gwmi Win32_Volume | where { $_.Capacity -and $_.DriveLetter } | foreach { "{0} {1:N0}%({2:N2} GB) free" -f $_.DriveLetter, ($_.FreeSpace / $_.Capacity * 100), ($_.FreeSpace/1024/1024/1024) }
Ответы: >>749564
Аноним 14/05/16 Суб 08:09:53 743042
Q: Как подключиться к удаленному компьютеру типа как через SSH?
A: Enter-PSSession -ComputerName $IpOrComputerName
Если credentials не сохранены в системе, нужно ввести дополнительный параметр -Credential

Q: Как скопировать файл на удаленный хост типа как через scp?
A: 1. Надо смонтироват PSDrive: New-PSDrive -Name Z -PSProvider FileSystem -Root \\$Host\MyShare
2. Скопировать cp $pathToMyFile Z:\

Q: Remoting не работает, что делать?
A: Включить. http://www.howtogeek.com/117192/how-to-run-powershell-commands-on-remote-computers/
Аноним 14/05/16 Суб 09:15:20 743063
В PowerShell доступен весь дотнет. Можно вызывать любые методы, загружать любые ассембли.
Сами объекты PowerShell являются .NET объектами.
Вот пример:
[DateTime]::Now.ToString("D", [CultureInfo]::GetCultureInfo("uk"))
Выдаст "14 травня 2016 р."
Аноним 14/05/16 Суб 09:32:05 743072
Одна из самых интересный и полезных фич PowerShell это так называемые ScriptBlock'и.
По сути это блоки кода. Что-то вроде лямбд.
Любой код ограниченный { и } является ScriptBlock.
Фишка в том, что эта фича похожа на макросы Lisp, на Perl, а более всего - на Tcl. С помощью нее можно писать свои управляющие конструкции. В следующей ссылке один парень написал аналог C#-овского using:
https://davewyatt.wordpress.com/2014/04/11/using-object-powershell-version-of-cs-using-statement/
Ответы: >>749574
Аноним 14/05/16 Суб 09:51:04 743083
>>742679 (OP)
Тонкота!
Аноним 14/05/16 Суб 11:50:42 743197
ИТТ любители словить ртом струю - люди, посланные нахуй, которые упорно возвращаются.
Ответы: >>743431
Аноним 14/05/16 Суб 14:27:49 743431
>>743197
пшел под шконку
Аноним 14/05/16 Суб 14:58:34 743472
Это же сраный Перл!
Ответы: >>748698
Аноним 15/05/16 Вск 16:32:53 744408
Есть что-то под линупс? Чтоб пайпать не последовательности байт, списки объектов/структур?
Ответы: >>745459
Аноним 16/05/16 Пнд 21:53:52 745459
>>744408
Pash посмотри
Аноним 20/05/16 Птн 18:06:53 748698
>>743472
Чего в Перле сраного?
Аноним 21/05/16 Суб 15:59:30 749564
>>743031
ВыГлЯдИт -КаК гОвНо
Аноним 21/05/16 Суб 16:05:11 749574
>>743072
Кек, нашел чем удивить. Этак и в баше можно.
Аноним 21/05/16 Суб 16:40:33 749631
>>742679 (OP)
>Это полноценный объектно-ориентированный язык программирования, с объектными пайпами
Проблема в том, что это не "полноценный ОО язык", а неидиоматичная мешалда из визуалвасика и баша, что отлично было продемонстрировано ИТТ:
>[DateTime]::Now.ToString("D", [CultureInfo]::GetCultureInfo("uk"))
сравни с
>clock format $time %D -locale uk

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ Автообновление ] 20 | 1 | 11
Назад Вверх Каталог Обновить

Топ тредов
Подписывайся на официальный канал Двача в Телеграме и узнавай обо всех новостях и мемах первым! https://tlg.wtf/dvachannel[X]