Powershell

Получение справки Windows PowerShell

Краткую справку по командлетам Windows PowerShell можно получить введя «-?» сразу после имени командлета, более подробную информацию о командлете можно получить при помощи команд help или get-help с ключами -detailed или -full. При использовании ключа -detailed некоторые технические детали опускаются.

help -full ConvertTo-Html
 
ИМЯ
    ConvertTo-Html
 
ОПИСАНИЕ
    Преобразует объекты Microsoft .NET Framework в код HTML, который может 
    отображаться в веб-браузере.
 
СИНТАКСИС
    ConvertTo-Html -Head <string> -Title <string> -Body <string> 
        -CssUri <Uri> -Property <Object> -As <string> 
        -InputObject <psobject> -PostContent <string> 
        -PreContent <string> <CommonParameters>
 
    ConvertTo-Html -Fragment -Property <Object> -As <string> 
        -InputObject <psobject> -PostContent <string> 
        -PreContent <string> <CommonParameters>
 
ОПИСАНИЕ
    Командлет ConvertTo-Html преобразует объекты .NET Framework в код HTML, 
    который может отображаться в веб-браузере. Этот командлет можно 
    использовать для вывода результатов выполнения команды на веб-страницу.
 
    Параметры командлета ConvertTo-Html позволяют выбирать свойства объектов, 
    задавать формат таблиц или списков, определять заголовок HTML-страницы, 
    добавлять текст перед объектом и после него, а также возвращать только 
    фрагмент с таблицей или списком, а не полную страницу.
 
    При передаче командлету ConvertTo-Html нескольких объектов Windows PowerShell 
    создает таблицу (или список) на основании свойств первого переданного объекта. 
    Если у оставшихся объектов нет одного из указанных свойств, то значению этого 
    свойства для такого объекта будет соответствовать пустая ячейка. 
    Если же у оставшихся объектов имеются дополнительные свойства, 
    значения этих свойств будут проигнорированы.
 
ПАРАМЕТРЫ
    ............................
    -Body 
        Задает текст для добавления после открывающего тега . По умолчани
        ю в этом месте нет текста.
 
        Требуется?                    false
        Позиция?                    4
        Значение по умолчанию                Нет текста.
        Принимать входные данные конвейера?false
        Принимать подстановочные знаки?false

Как видим некоторые параметры командлетов например как «-Body» требуют ввода атрибутов (значений), в полной справке с ключом «-full» даётся пояснение про их использование:

  • Требуется? — Указывает, будет ли командлет выполнятся при отсутствии этого параметра. Если значение True, значит параметр обязателен. Если он не указан, система запросит его значение
  • Позиция? — Показывает, используется ли параметр как именованный или позиционный (под номером). Позиционные параметры должны появляться в указанном месте команды. Если 0 или named, это значит, что при задании значения параметра необходимо указывать его имя. Если атрибут Позиция? имеет целое ненулевое значение, то имя параметра можно не указывать, в этом случае это так званый позиционный параметр. Например, «2» означает, что при отсутствии имени параметра этот параметр должен быть вторым. Если используется имя параметра, параметр может располагаться в любом месте команды.
  • Значение по умолчанию — Содержит значение по умолчанию, в случае когда значение не определено явно. Часто обязательным параметрам, так же как и многим необязательным, никогда не присваивается значение по умолчанию. Например, многие команды, чьим входным значением является параметр -path, при отсутствии значения используют текущее местоположение.
  • Принимать входные данные конвейера? — Показывает, можно ли (да) или нельзя (нет) посылать объекты в этот параметр по конвейеру. «По имени свойства» означает, что конвейеризованный объект должен иметь свойство с тем же именем, что и имя данного параметра.
  • Принимать подстановочные знаки? — Показывает, может ли значение параметра включать подстановочные знаки, такие как «*» и «?».

Можно также получить справку не связанную с командлетами. Для просмотра всех доступных разделов справки используйте команду: Список тем обсуждение которых представлено в справочной службе Windows PowerShell, можно увидеть с помощью команды:

Отметим, что Get-Help выводит содержимое раздела справки на экран сразу целиком. man и help позволяют выводить справочную информацию поэкранно, аналогично команде more интерпретатора cmd.exe.

Форматирование в Windows PowerShell

В Windows PowerShell существует набор командлетов, которые предназначены для форматирования вывода результата работы командлета. Они позволяют пользователю отобразить результат в том виде, в котором ему удобно просматривать данный результат.

  • Format-List – вывод результата команды в формате списка свойств, где на каждой новой строке отдельное свойство;
  • Format-Table — вывод результата команды в виде таблицы;
  • Format-Wide — вывод результата команды в виде широкой таблицы, в которой отображается только одно свойство каждого объекта;
  • Format-Custom – в данном случае форматирование вывода происходит с использованием пользовательского представления.

Автоматическое завершение команд Windows PowerShell

Находясь в оболочке Windows PowerShell, можно ввести часть какой-либо команды, нажать клавишу <tab> и система попытается сама дописать полное имя этой команды. Автоматическое завершение команд срабатывает для имен файлов и путей файловых систем до первого найденного совпадения. При повторном нажатии клавиши <tab> выполняется циклический переход по имеющимся возможностям выбора.

В оболочке Windows PowerShell также реализована возможность автоматического завершения путей файловой системы на основании шаблонных символов: ? (любой один символ) и * (любое количество произвольных символов). Например:

После нажатия на клавишу путь будет преобразован в …

В оболочке Windows PowerShell имеется возможность автоматического завершения имен командлетов и их параметров. Если ввести первую часть имени (глагол) командлета и дефис, после этого нажать клавишу <tab>, то система выдаст имя первого подходящего командлета. Аналогичным образом срабатывает автозавершение и для параметров командлета, например введя имя командлета и дефис, после чего нажать <tab>, то автоматически будет подставлено имя первого подходящего параметра для этого командлета.

Windows PowerShell позволяет автоматически завершать имена переменных. И наконец Windows PowerShell поддерживает автоматическое завершение имён свойств и методов объектов. Например:

$a='test't'
$a.len
<tab>
$a.Length

Система подставила свойство Length, имеющееся у символьных переменных. Если подставляется имя метода (функции), а не свойства, то после его имени автоматически ставится круглая скобка. Например:

$a.sub
<tab>
$a.Substring(

Теперь можно вводить параметры метода (функции)…

Как запустить PowerShell в Windows 8.1?

Если у вас нет плитки PowerShell на начальном экране или ярлыка на рабочем столе, тогда вы можете открыть его с помощью поиска – это один из самых простых способов. Нажмите + Q, введите «powershell», а затем нажмите Enter.

Также вы можете открыть PowerShell в разделе «Приложения» на начальном экране: перейдите на начальный экран и переместите курсор в левый нижний угол, чуть ниже последней плитки в первой колонке. Нажмите на значок со стрелкой, указывающей вниз. Затем нажмите на иконку PowerShell в разделе «Служебные».

Чтобы открыть PowerShell с помощью диалога «Выполнить», нажмите клавиши + R, введите «powershell» и нажмите Enter.

Write-Host

Командлет Write-Host является продвинутым аналогом Write-Output.

Командлет Write-Host настраивает вывод. Вы можете указать цвет текста, используя параметр -ForegroundColor, и вы можете указать цвет фона, используя параметр -BackgroundColor. Параметр -Separator позволяет указать строку (символ или набор символов), которая будет использоваться для разделения отображаемых объектов. Конкретный результат зависит от программы, в которой размещается PowerShell.

Начиная с Windows PowerShell 5.0, «Write-Host» является оболочкой для «Write-Information». Это позволяет вам использовать «Write-Host» для отправки вывода в информационный поток. Это позволяет захват или подавление данных, записанных с помощью Write-Host, при сохранении обратной совместимости

Опции Write-Host

-BackgroundColor

Падает цвет фона. По умолчанию значение не установлено. Допустимые значения для этого параметра:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White

-ForegroundColor

Задает цвет текста. По умолчанию значение не установлено. Допустимые значения для этого параметра:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White

-NoNewline

Параметр делает так, что строковые представления входных объектов объединяются для формирования выходных данных. Между строками вывода не вставляются пробелы или символы новой строки. Новая строка не добавляется после последней выходной строки.

-Separator

Падает разделительную строку для вставки между объектами, отображаемыми хостом.

Write-Host отправляет объекты на хост. Сам командлет не возвращает никаких объектов. Однако хост может отображать объекты, которые посылает ему Write-Host.

Примеры Write-Host

Пример 1: Запись в консоль без добавления символа новой строки:

Write-Host "no newline test " -NoNewline; Write-Host "second string"

Эта команда отображает строку «no newline test» с параметром -NoNewline.

Затем записывается вторая строка, но она оказывается на той же строке, что и первая, из-за отсутствия символа новой строки, разделяющей строки.

Сравните с поведением по умолчанию:

Write-Host "no newline test "; Write-Host "second string"

Пример 2: Запись в консоль и замена стандартного разделителя

Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

Эта команда отображает чётные числа от двух до двенадцати. Параметр -Separator используется для добавления строки «, +2= » (запятая, пробел, +, 2, =, пробел)`.

Пример 3: Вывод с другим цветом текста и фона

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

Эта команда отображает чётные числа от двух до двенадцати. Она использует параметр -ForegroundColor для вывода темно-зеленого текста и параметр -BackgroundColor для отображения белого фона.

Пример 4: Вывод с разными цветами текста и фона

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Эта команда отображает строку «Red on white text». Текст имеет красный цвет, как определено параметром -ForegroundColor. Фон является белым, как определено параметром -BackgroundColor.

Пример 5: Подавление вывода от Write-Host

# Следующие два оператора могут использоваться для эффективного подавления вывода от Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6>$null

Эти команды эффективно подавляют вывод командлета Write-Host. Первый использует параметр -InformationAction со значением «Ignore» для подавления вывода в информационный поток. Второй пример перенаправляет информационный поток команды в переменную «$null» и тем самым подавляет его.

Циклы в PowerShell

В языке PowerShell можно использовать и циклы. Цикл – это программная конструкция, которая подразумевает многократное выполнение одних и тех же действий.

В Windows PowerShell есть несколько разновидностей циклов, а именно:

  • WHILE
  • DO WHILE
  • DO UNTIL
  • FOR
  • FOREACH

Цикл WHILE

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

$TestVar = 1
#Пока $TestVar меньше 10 цикл будет выполняться
WHILE ($TestVar -lt 10){
Write-Host $TestVar
$TestVar = $TestVar + 1 #Увеличиваем переменную на 1
}

1

2

3

4

5

6

int$TestVar = 1

#Пока $TestVar меньше 10 цикл будет выполняться

WHILE ($TestVar -lt 10){

Write-Host $TestVar

$TestVar = $TestVar + 1 #Увеличиваем переменную на 1

}

Цикл DO WHILE

Это цикл с постусловием, т.е. он хоть раз, но выполнится, в отличие от цикла WHILE, работа которого может и не начаться, если условие не выполняется.

$TestVar = 1
#Пока $TestVar меньше 10 цикл будет выполняться
DO {
Write-Host $TestVar
$TestVar = $TestVar + 1 #Увеличиваем переменную на 1
}
WHILE ($TestVar -lt 10) #$TestVar &lt; 10

1

2

3

4

5

6

7

int$TestVar = 1

#Пока $TestVar меньше 10 цикл будет выполняться

DO {

Write-Host $TestVar

$TestVar = $TestVar + 1 #Увеличиваем переменную на 1

}

WHILE ($TestVar -lt 10) #$TestVar &lt; 10

Цикл DO UNTIL

Если цикл DO WHILE выполняется пока условие истина, то DO UNTIL выполняется пока условие ложно.

$TestVar = 1
#Когда $TestVar станет больше 10, цикл прекратится
DO {
Write-Host $TestVar
$TestVar = $TestVar + 1 #Увеличиваем переменную на 1
}
UNTIL ($TestVar -gt 10) #$TestVar &gt; 10

1

2

3

4

5

6

7

int$TestVar = 1

#Когда $TestVar станет больше 10, цикл прекратится

DO {

Write-Host $TestVar

$TestVar = $TestVar + 1 #Увеличиваем переменную на 1

}

UNTIL ($TestVar -gt 10) #$TestVar &gt; 10

Цикл FOR

Данный тип цикла отличается от других тем, что нам заранее известно количество итераций цикла, т.е. он выполнится определенное количество раз. Например, в цикле WHILE мы не знаем, продолжит ли он свою работу после первой итерации (мы можем и не знать, войдем ли мы вообще в цикл).

#Пока $TestVar меньше 10 цикл будет выполняться
FOR ($TestVar = 1; $TestVar -lt 10; $TestVar++){
Write-Host $TestVar
}

1

2

3

4

#Пока $TestVar меньше 10 цикл будет выполняться

FOR (int$TestVar = 1; $TestVar -lt 10; $TestVar++){

Write-Host $TestVar

}

Перебор FOREACH

Это разновидность цикла, при которой происходит перебор элементов коллекции. В примере ниже мы сохраняем результат командлета Get-Service (т.е. список служб), а затем с помощь перебора FOREACH выводим название службы и ее статус.

$TMPService = Get-Service
FOREACH ($Service In $TMPService){
$Service.Name + » — » + $Service.Status
}

1

2

3

4

$TMPService = Get-Service

FOREACH ($Service In $TMPService){

$Service.Name + » — » + $Service.Status

}

Оператор

Давайте посмотрим на оператор, поддерживаемый в PowerShell.

Математический оператор

Во-первых, поддерживаются основные математические операторы.

Оператор предварительно размещенного самоучатка также поддерживается.

Сравнить оператор

Тогда это сравнительный оператор, который очень похоже на раковину Linux, больше, чем (), больше или равно (), Меньше, чем (), Меньше или равна),равный(), не равна ()несколько.

с участиемИспользоватьТакой подстановочный знак.

с участиемИспользуется в регулярных выражениях.

Содержит и замена операторов

Найдите, содержать ли элемент в последовательности.

Конечно, используется для замены части в строке, регулярное выражение также поддерживается.

Оператор разделения и подключения

с участиемИспользуется для разделения строки в несколько подразделений или комбинировать несколько подтекстей в строку.

Вышеуказанные операторы всеВдохновениеЕсли вам нужны чувствительные к регистру функций, вы можете добавить его перед оператором.Приставка.

Логические операторы

Логический оператор имеет с (),или же(), не (или же) И разные илиНесколько и поддерживают расчет короткого замыкания.

Если вам нужно использовать правду и ложное значение, вы можете использовать его.с участием。

Тип оператора

PowerShell и .NET Platform Bind, так что это сильный тип скрипта. Таким образом, мы можем определить тип данных в сценарии, пока вы используетеили жеОператор может, тип должен быть написан в квадратных скобках. Тип здесь может быть все подходящие .NET Типы.

Оператор перенаправления

Это немного более неприятно.

прежде всегос участиемОператоры, используемые для установки стандартного выходного потока в файл, первое переопределяет существующий файл, последний добавляется к концу файла.

Тогда давайте скажем, уровень журнала, если у вас есть рамка для некоторых языков, это очень понимание. Здесь 2 представляет ошибки, 3 представляет предупреждение, 4 представительной информации, 5 представляет собой отладку информации.с участиемОператор используется для перенаправления соответствующего уровня вывода в файл, разница между ними одинакова.Перенаправляйте вывод соответствующего уровня и стандартный выход в файл.

Ну наконец тос участиемОбе два перенаправления все выходные данные в файл.

Обратите внимание, что PowerShell использует Unicode кодировку для вывода информации. Если вам нужно использовать другие типы кодировков, вы не можете использовать оператор Redirect, но следует использовать.команда

Специальный оператор

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

Оператор используется для выполнения скрипта или команды. Если сценарий PowerShell выполнен, скрипт будет выполняться в своем собственном объеме, то есть переменные в выполненном скрипте не могут быть доступен в текущей среде.

Оператор используется для преобразования переменных, таких как следующий код,Переменное преобразование вВиды.

Оператор используется для вызова члена объекта .NET, который также может использоваться для выполнения скриптов. Когда он используется для выполнения скрипта, скрипт выполнит в текущем объеме. Поэтому после окончания сценария мы можем получить доступ к элементам в сценарии.

Оператор используется для вызова статических элементов в классе, таких как следующее, позвонит платформу .NETКатегорияАтрибуты.

Оператор используется для создания диапазона замкнутых интервалов, таких как следующее.

Оператор используется для форматирования данных, таких как следующее. Метод форматирования и C # точно так же, поэтому, если вы не знакомы, вы можете отформатировать данные прямо в C #.

Оператор может преобразовать переменные внутри строки до фактического значения, такого как следующее. Необходимо отметить, что внешняя строка должна использовать двойные цитаты при использовании внутреннего плагина, в противном случае PowerShell выводит строковый контент.

Оператор используется для преобразования ряд значений в массив. Если в скрипте есть функция, которая может вернуть 0, 1 или более значений, вы можете использовать этот оператор для объединения серии значений в массив, который удобен для последующей обработки.

Оператор запятой создаст один элементный массив, содержащий это значение перед одним значением.

Step 12: Setup multiple inputs without the pipeline

You have seen that you can feed multiple inputs to the cmdlet like this:

1 PS>’Intel’,’Microsoft’|Get-NetworkAdapter

That works even though the receiving parameter, , is just a simple string, not a list or array!

1
2

Parameter(ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)

public string Manufacturer { get; set; }

It works because of the nature of the pipeline: the pipeline itself handles feeding multiple values one at a time, so ever only gets asked to accept a single string at a time. But it would seem very reasonable to be able to specify multiple values to a parameter via direct parameters as well (i.e. not through the pipeline):

1 PS>Get-NetworkAdapter-ManufacturerIntel,Microsoft

To do that, though, you must specify that is an array-the only change here is using in place of :

1
2

Parameter(ValueFromPipelineByPropertyName=true,ValueFromPipeline=true)

publicstringManufacturer{get;set;}

Thus, while the commands typed by the user seem very similar, just inverted in a sense…

1
2

PS>’Intel’,’Microsoft’|Get-NetworkAdapter

PS>Get-NetworkAdapter-ManufacturerIntel,Microsoft

…internally they are handled quite differently. With the pipeline inputs, they are processed individually; the cardinality of the array is always one. With direct inputs, the cardinality of Manufacturer is the length of the array that you pass in.

Programming with loops

PowerShell loops, at their most basic, simply repeat the same set of commands a set number of times. Ideal for performing consistent actions for a set period of time or a certain number of records, loops can simplify your scripts in a big way. PowerShell in particular features a number of cmdlets – notably those that begin with the verb Get – that return objects containing large numbers of similar data.

There are several types of loops available in PowerShell, and in many cases, more than one loop technique can be used effectively. At times, determining the most efficient loop type is required, either from a performance or code readability perspective.

Переменные это объекты

Так как переменная это объект, то мы можем посмотреть на все свойства объекта. Это делается с помощью командлета Select-Object таким образом:

> Select-Object -InputObject $color -Property *

Length
------
     4

В место звездочки, в примере выше, вы можете написать название свойства, а звёздочка означает что нужно вывести все свойства этого объекта.

Строка имеет только одно свойство – Lenght, это длина строки. Так как переменная $color содержит значение blue, то длина строки равняется 4.

Использовать атрибуты (свойства) объекта можно таким образом:

> $color.Length
4

Чтобы посмотреть методы объекта применяется другой командлет – Get-Member. Применяется он таким образом:

> Get-Member -InputObject $color


   TypeName: System.String

Name             MemberType            Definition
----             ----------            ----------
Clone            Method                System.Object Clone(), System.Object ICloneable.Clone()
CompareTo        Method                int CompareTo(System.Object value), int CompareTo(string strB), int 
                                       IComparab...
Contains         Method                bool Contains(string value)
CopyTo           Method                void CopyTo(int sourceIndex, char[] destination, int destinationIndex, 
                                       int co...
EndsWith         Method                bool EndsWith(string value), bool EndsWith(string value, 
                                       System.StringCompari...
Equals           Method                bool Equals(System.Object obj), bool Equals(string value), bool 
                                       Equals(string...
### пропустил некоторый вывод###

Length           Property              int Length {get;}

Как видим командлет Get-Member показывает и свойства (атрибуты) объекта и его методы.

Оказывается со строковым объектом связано очень много методов. Количество методов и свойств зависит от его родительского класса.

Вот так можно использовать методы объекта:

> $color.Remove(2)
bl
> $color.Remove(3)
blu
> $color
blue

Метод Remove() перед выводом удаляет из строки всё начиная с номера указанного символа. В примере выше мы вначале удалили всё начиная со 2-ого символа, затем всё начиная с 3-его, затем убедились что значение в переменной не поменялось. Кстати, в строке отсчет символов начинается с нуля.

Сводка

Имя статьи
PowerShell переменные

Описание
В PowerShell, как и в любом другом языке программирования есть переменные. В этой статье разберём особенности переменных в PowerShell

Создание временного файла

Командлет: New-TemporaryFile

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

#Создание временного файла
New-TemporaryFile
#Создание временного файла и получение его полного пути
$tmpfile = (New-TemporaryFile).FullName
$tmpfile

При создании CheckBootSpeed у меня была именно такая задача – записать собранные данные во временный файл, показать его в блокноте и удалить. Командлета не было, но Василий Гусев подсказал такой вариант:

$file = ::GetTempFileName()

Здесь обратный случай – командлет легче запомнить, чем класс .NET. В утилите я сейчас такой способ не использую, но на заметку взял.

Making the Function Pipeline Compatible

Unfortunately, you can’t take advantage of the PowerShell pipeline with just a simple function built earlier. You must decide which type of pipeline input you want the function to accept and implement.

A PowerShell function uses two kinds of pipeline input: (entire object) and (a single object property). Here, because the array contains only strings, you’ll pass those strings via .

To add pipeline support, add a parameter attribute to the parameter you want by using one of two keywords: or as shown below.

Once you’ve got the update function loaded, then call it like this:

Run the script again, and you should get something like this:

Notice that executes for only the last string in the array. You’ll see how to fix this in the next section.

Adding a process Block

To tell PowerShell to execute this function for every object coming in, you must include a process block. Inside the process block, put the code you want to execute each time the function receives pipeline input. Add a process block to your script as shown below.

Now call the function again just like you did earlier. The function will now return three lines (one for each object).

The process block contains the main code you want to execute. You can also use and blocks for code that will execute at the beginning and end of the function call. You can learn more about the , , and blocks via the Microsoft docs.

Step 14: Provide parameter aliases

PowerShell automatically provides prefix-parameter recognition, which is a great convenience feature: you may type the entire name of a given parameter, but you are only required to type enough to make it unambiguous. For example, for the parameter all of these are equivalent:

1
2
3
4

PS>Get-NetworkAdapter-ManufacturerIntel

PS>Get-NetworkAdapter-ManufactureIntel  

PS>Get-NetworkAdapter-ManufacIntel  

PS>Get-NetworkAdapter-MIntel

That’s fine, you say, but everyone in your shop abbreviates ‘manufacturer’ as ‘mfg’. This is actually short for manufacturing, but let’s run with it! Of course, ‘mfg’ is not a proper prefix of ‘manufacturer’ so that will not work by default. However, you can easily define an alias to accept an alternative name or several alternative names.  This example shows two aliases being defined.

1
2
3
4
5
6

Parameter(

  Position=0,

  ValueFromPipelineByPropertyName=true,

  ValueFromPipeline=true)

Alias(«mfg»,»vendor»)

publicstringManufacturer{get;set;}

And PowerShell provides prefix-parameter recognition on the aliases as well! So all of these are equivalent:

1
2
3
4
5

PS>Get-NetworkAdapter-ManufacturerIntel

PS>Get-NetworkAdapter-ManufacIntel  

PS>Get-NetworkAdapter-mfgIntel  

PS>Get-NetworkAdapter-mfIntel

PS>Get-NetworkAdapter-vendIntel

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Вадлейд
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: