Архив

Posts Tagged ‘.NET’

Использование выражения Using Namespace в Powershell

В Powershell при обращении к .NET классам нужно указывать их полное имя. Например:

[System.Net.Dns]::GetHostByAddress('192.168.1.1')
[System.IO.Path]::GetRandomFileName()
[System.IO.Path]::GetTempFileName()
[System.IO.Path]::GetTempPath()

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

Тег «Далее»

Рубрики:Powershell Метки: ,

Перезапуск службы печати на удалённом ПК

Недавно ко мне обратился человек с просьбой помочь в написании скрипта для перезапуска службы печати для того, чтобы очистить очередь печати от “застрявших” заданий – которые не печатаются, не отменяются и не удаляются. Мне это показалось банальным и скучным, поэтому я предложил сделать это сразу для удалённого компьютера.

Тег «Далее»

Рубрики:Powershell Метки: , , ,

Как засечь время в Powershell

Вообще для измерения скорости выполнения той, или иной команды в Powershell есть командлет Measure-Command. Но в определённых случаях он может не подойти. Например, если нужно не только подсчитать время выполнения команды, но и вывести результат команды на экран – при использовании Measure-Command на экран выводится только его результат:

Measure-Command

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

Тег «Далее»

Рубрики:Powershell Метки: ,

Работа с архивами в Powershell

Когда-то давно приходилось автоматизировать работу с архивированием и разархивированием файлов через Powershell. Тогда я для этого использовал консольную версию 7zip – ложил его в определённое место и в скрипте вызывал его оттуда. Сейчас вновь потребовалось поработать с архивами, но, как оказалось, сейчас всё намного проще.

Начиная с версии .NET Framework 4.5 появился встроенный класс ZipFile, благодаря которому архивировать и разархивировать файлы одно удовольствие.

Тег «Далее»

Рубрики:Powershell Метки: ,

Воспроизведение wav-файлов через Powershell

Powershell умеет не только пищать динамиком (через Escape-последовательность) и говорить почти человеческим голосом, но и проигрывать полноценные wav-файлы.

Тег «Далее»

Рубрики:Powershell Метки: ,

Динамические параметры в Powershell

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

Например, возьмём простенькую функцию из одной из предыдущий статей для сбора некой информации о ПК. Если функция запускается в доменной сети пользователем, обладающим правами администратора домена (или любым другим пользователем имеющим достаточный уровень доступа) то функция нормально отработает. Если же в сети присутствует компьютер, не входящий в домен, то для доступа к этому компьютеру потребуется указать учётные данные, т.е. понадобится параметр, который в Powershell обычно называется –Credential.

В таких случаях на помощь приходят динамические параметры.

Тег «Далее»

Рубрики:Powershell Метки: ,

Чтение файла одной строкой в Powershell

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

Тег «Далее»

Рубрики:Powershell Метки: ,