Download presentation
Presentation is loading. Please wait.
2
Microsoft TechDayshttp://www.techdays.ru Дмитрий Сотников PowerShell MVP Quest Software
3
Microsoft TechDayshttp://www.techdays.ru 1.Запуск PowerShell’a 2.Получение объектов 3.ForEach против ForEach 4.Работу с большими файлами 5.Работу с массивами
4
Microsoft TechDayshttp://www.techdays.ru На всех машинах с PowerShell v1: Запустить Update-GAC.ps1Update-GAC.ps1
5
Microsoft TechDayshttp://www.techdays.ru
6
Не доставайте ненужные объекты Параметры – хорошо Where – плохо
7
Microsoft TechDayshttp://www.techdays.ru Get-Ball | where { $_.color -eq ‘Orange’ }
8
Microsoft TechDayshttp://www.techdays.ru Get-Ball -Сolor ‘Orange’
9
Get-QADUser | Where { $_.Enabled –and $_.City -eq “Уфа” } Get-QADUser -Enabled -City “Уфа”
10
foreach ($i in выражение) { $i } выражение | ForEach-Object { $_ }
11
foreach ($i in выражение) { $i } выражение | ForEach-Object { $i } 1.Вычисляет выражение 2.Загружает его целиком в память 3.Выполняет скриптблок для элементов 1.Вычисляет выражение 2.Загружает его целиком в память 3.Выполняет скриптблок для элементов
12
foreach ($i in выражение) { $i } выражение | ForEach-Object { $_ } 1.Передает объекты по одному 2.Для каждого выполняет скриптблок 1.Передает объекты по одному 2.Для каждого выполняет скриптблок
13
foreach($i in $bigcollection) { $sum += $i.property } Get-QADUser –Enabled | ForEach-Object { $count++ }
14
Get-Content big.log Устанавливает буфер чтения (см. статью) см. статьюсм. статью Устанавливает буфер чтения (см. статью) см. статьюсм. статью –Read 1000
15
gc test.txt | Where {$_ -like '*a*'} | Measure-Object gc test.txt -read 1000 | ForEach-Object {$_} | Where {$_ -like '*a*'} | Measure-Object В 3 раза быстрее!
16
select-string a.log -pattern $regex 16 секунд Или Microsoft LogParser egrep $regex a.log 0.2 секунды
17
Microsoft TechDayshttp://www.techdays.ru Массивы и строки динамические При расширении они пересоздаются
18
$arr = @() for ($i=0;$i –lt 10000; $i++) {$arr += $i*5} $arr = new-object int[] 10000 for ($i=0;$i –lt 10000; $i++) {$arr[$i] = $i*5} В 15 раз быстрее
19
Microsoft TechDayshttp://www.techdays.ru 1.Запуск PowerShell’a 2.Получение объектов 3.ForEach против ForEach 4.Работу с большими файлами 5.Работу с массивами
20
Microsoft TechDayshttp://www.techdays.ru Мои блоги: http://dmitrysotnikov.wordpress.com http://www.itcommunity.ru/blogs/dmitrysotnikov Другие русские блоги по PowerShell: http://xaegr.wordpress.com/ http://www.sysadmins.lv/ http://blogs.technet.com/abeshkov/ Инструментарий: http://powergui.org
21
Microsoft TechDayshttp://www.techdays.ru © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.