Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Powershell⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Python
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Знакомство с powershell


Сейчас я расскажу с чего можно начать изучение powershell

Понятие командлета : помимо того , что в powershell Вы можете запускать стандартные команды из cmd , мы имеем и команды использующие внутренние возможности powershell.Их называют командлетами.
 
Get-Help
Этот командлет поможет Вам получить сведения о командах и концепциях Windows PowerShell.
Для просмотра примеров введите: «get-help Get-Help -examples».
 
Например посмотрим команду dir(вывод сокращен):
 
PS C:> get-help dir
 
ИМЯ
    Get-ChildItem
 
ОПИСАНИЕ
    Извлекает элементы и их потомки из заданных местоположений.
……….
 
Посмотрим примеры использования команды:
 
PS C:> get-help dir -examples
 
ИМЯ
    Get-ChildItem
 
ОПИСАНИЕ
    Извлекает элементы и их потомки из заданных местоположений.
 
    ————————— ПРИМЕР 1 —————————
 
    C:PS>get-childitem
 
 
    Описание
    ————
    Эта команда извлекает дочерние элементы, расположенные в текущем местоположении. Ес
    ся каталогом файловой системы, команда извлекает файлы и вложенные каталоги данного
     потомков, то после выполнения команды ничего не показывается.
 
    По умолчанию для каждого файла отображаются следующие сведения: режим (атрибуты), в
    йла (длина) и имя. Допустимыми значениями режима являются: d (каталог), a (архивный
    ) и s (системный).
 
 
    ————————— ПРИМЕР 2 —————————
 
    C:PS>get-childitem . -include *.txt -recurse -force
 
 
    Описание
    ————
    Эта команда извлекает все файлы с расширением «.txt» из текущего каталога и вложенн
    редставляет текущий каталог, а параметр Include задает расширение файла. Параметр R
    hell режим рекурсивного извлечения объектов, а также показывает, что команда примен
    о содержимому. Параметр Force добавляет скрытые файлы в набор отображаемых данных.
…………
 
Как видите ничего сложного в получении справки нет.
 
Get-Command
Рассмотрим известные powershell команды(вывод так-же сокращен):
 
 
PS C:> Get-Command
 
CommandType     Name                                                Definition
————     —-                                                ———-
Alias           %                                                   ForEach-Object
Alias           ?                                                   Where-Object
Function        A:                                                  Set-Location A:
Alias           ac                                                  Add-Content
Cmdlet          Add-Computer                                        Add-Computer [-Do
Cmdlet          Add-Content                                         Add-Content [-Pat
Cmdlet          Add-History                                         Add-History [[-In
Cmdlet          Add-Member                                          Add-Member [-Memb
Cmdlet          Add-PSSnapin                                        Add-PSSnapin [-Na
Cmdlet          Add-Type                                            Add-Type [-TypeDe
Alias           asnp                                                Add-PSSnapIn
Function        B:                                                  Set-Location B:
Function        C:                                                  Set-Location C:
Alias           cat                                                 Get-Content
Alias           cd                                                  Set-Location
Function        cd..                                                Set-Location ..
Function        cd                                                 Set-Location
 
.............
 
    Слева мы увидим тип , по центру используемое в командах имя , справа - описание.К имени команды можно применить командлет Get-help и узнать что он из себя представляет.
 
    В колонке тип мы видим несколько разных типов например alias означает псевдоним , например команда cat из unix систем выводящая содержимое файла , разработчики внедрили большинство псевдонимов из unix и cmd.Их можно смело использовать. 
 
    Еще момент: командлет делится на глагол - существительное например Stop-Process.Что-бы вывести список работающих например с процессами команд надо ввести комбинацию noun(по поиску существительного) или verb(по поиску глагола) , давайте найдем по существительному process все командлеты с этим существительным.
 
PS C:> Get-Command -noun process
 
CommandType     Name                                                Definition
-----------     ----                                                ----------
Cmdlet          Debug-Process                                       Debug-Process [-Name]
Cmdlet          Get-Process                                         Get-Process [[-Name]
Cmdlet          Start-Process                                       Start-Process [-FileP
Cmdlet          Stop-Process                                        Stop-Process [-Id] <I
Cmdlet          Wait-Process                                        Wait-Process [-Name]
 
Как видно ничего сложно в этом командлете тоже нет.
 
Get-member:
В powershell все представлено объектами, что-бы разобраться в свойствах и методах объекта нам поможет этот замечательный командлет.
Рассмотрим пример с Get-Date(посмотрим дату):
 
PS C:> get-date
 
7 августа 2011 г. 11:26:23
 
Теперь давайте посмотрим на свойства Get-Date:
 
PS C:> get-date | Get-Member
 
 
   TypeName: System.DateTime
 
Name                 MemberType     Definition
—-                 ———-     ———-
Add                  Method         System.DateTime Add(System.TimeSpan value)
AddDays              Method         System.DateTime AddDays(double value)
AddHours             Method         System.DateTime AddHours(double value)
AddMilliseconds      Method         System.DateTime AddMilliseconds(double value)
AddMinutes           Method         System.DateTime AddMinutes(double value)
AddMonths            Method         System.DateTime AddMonths(int months)
AddSeconds           Method         System.DateTime AddSeconds(double value)
AddTicks             Method         System.DateTime AddTicks(long value)
AddYears             Method         System.DateTime AddYears(int value)
CompareTo            Method         int CompareTo(System.Object value), int CompareTo(System.DateTime value)
Equals               Method         bool Equals(System.Object value), bool Equals(System.DateTime value)
GetDateTimeFormats   Method         string[] GetDateTimeFormats(), string[] GetDateTimeFormats(System.IFormatProvide…
GetHashCode          Method         int GetHashCode()
GetType              Method         type GetType()
GetTypeCode          Method         System.TypeCode GetTypeCode()
IsDaylightSavingTime Method         bool IsDaylightSavingTime()
Subtract             Method         System.TimeSpan Subtract(System.DateTime value), System.DateTime Subtract(System…
ToBinary             Method         long ToBinary()
ToFileTime           Method         long ToFileTime()
ToFileTimeUtc        Method         long ToFileTimeUtc()
ToLocalTime          Method         System.DateTime ToLocalTime()
ToLongDateString     Method         string ToLongDateString()
ToLongTimeString     Method         string ToLongTimeString()
ToOADate             Method         double ToOADate()
ToShortDateString    Method         string ToShortDateString()
ToShortTimeString    Method         string ToShortTimeString()
ToString             Method         string ToString(), string ToString(string format), string ToString(System.IForma…
ToUniversalTime      Method         System.DateTime ToUniversalTime()
DisplayHint          NoteProperty   Microsoft.PowerShell.Commands.DisplayHintType DisplayHint=DateTime
Date                 Property       System.DateTime Date {get;}
Day                  Property       System.Int32 Day {get;}
DayOfWeek            Property       System.DayOfWeek DayOfWeek {get;}
DayOfYear            Property       System.Int32 DayOfYear {get;}
Hour                 Property       System.Int32 Hour {get;}
Kind                 Property       System.DateTimeKind Kind {get;}
Millisecond          Property       System.Int32 Millisecond {get;}
Minute               Property       System.Int32 Minute {get;}
Month                Property       System.Int32 Month {get;}
Second               Property       System.Int32 Second {get;}
Ticks                Property       System.Int64 Ticks {get;}
TimeOfDay            Property       System.TimeSpan TimeOfDay {get;}
Year                 Property       System.Int32 Year {get;}
DateTime             ScriptProperty System.Object DateTime {get=if ((& { Set-StrictMode -Version 1; $this.DisplayHin…
 
Слева мы видим имя применяемое в команде , по центру его тип , и описание (в описании например мы видим System.DateTime AddDays(double value) , значит чтоб добавить например день к нынешней дате нам надо занести вывод Get-Date в переменную и прибавить метод AddDays)
 
Приведем пример:
 
PS C:> $gd = Get-Date
PS C:> $gd
 
7 августа 2011 г. 11:32:31
 
 
PS C:> $gd.AddDays(+1)
 
8 августа 2011 г. 11:32:31
 
 
PS C:>
 
Или на примере свойств:
 
PS C:powershell> $a = Get-Item *
 
PS C:powershell> $a


Каталог: C:powershell


Mode LastWriteTime Length Name
—- ————- —— —-
d—- 08.08.2011 10:39 share
-a— 16.08.2011 13:53 12066 backup.ps1
-a— 05.09.2011 8:59 3942 low_files.htm
-a— 05.09.2011 8:59 59538 old_files.htm
-a— 16.08.2011 10:51 486 services
-a— 10.08.2011 11:11 3046 voice.ps1
 
PS C:powershell> $a | Get-Member
 
IsReadOnly                                    Property System.Boolean IsReadOnly {get;set;}     
LastAccessTime                              Property System.DateTime LastAccessTime {get;set;}
LastAccessTimeUtc                         Property System.DateTime LastAccessTimeUtc {get;set;}
LastWriteTime                                Property System.DateTime LastWriteTime {get;set;}  
LastWriteTimeUtc                           Property System.DateTime LastWriteTimeUtc {get;set;}
Length                                          Property System.Int64 Length {get;}
Name                                            Property System.String Name {get;}
BaseName ScriptProperty                 System.Object BaseName {get=if ($this.Extension.
VersionInfo ScriptProperty               System.Object VersionInfo {get=[System.Diagnosti
 
PS C:powershell> $a.Length
6
 
Вот мы и закончили краткое знакомство с Powershell

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru