PowerShell и другие скрипты

31.5.2008

Sysinternals Live

Рубрика: News, Tips — Xaegr @ 10:32

А знаете ли вы что утилиты от Sysinternals теперь доступны онлайн? Пока это правда лишь бета версия, но пользоваться уже вполне можно.

Если вы вдруг забыли свою флешку с набором сисинтерналовских утилит, а они вам как раз сейчас внезапно понадобились, то можно запустить любую из них со странички http://live.sysinternals.com/. Это универсальный способ, работает всегда (лишь бы был интернет), и ничего особенного собой не представляет – просто список всех утилит на html страничке.

Второй же способ – обращение к утилитам с помощью пути \\live.sysinternals.com\tools\ Так например можно в окне «Выполнить» набрать команду \\live.sysinternals.com\tools\procexp.exe чтобы запустился Process Explorer. Этот функционал судя по отзывам работает не у всех, но это еще бета, так что простительно. К тому же запуск занимает достаточно большое время (во всяком случае у меня). Но зато вы запускаете сразу последнюю версию утилиты, без всяких установок и распаковываний архивов.

(далее…)

26.5.2008

Exchange 2003 – Top Users

Рубрика: Learn, PowerShell, Practice, Scripting — Xaegr @ 7:17

Не помню, писал ли я об этом, или еще нет, но во всяком случае поиск не находит :)

У меня в организации пока еще используется Exchange Server 2003, управление которым с помощью PowerShell напрямую невозможно, но вот с помощью WMI… ;)

(далее…)

22.5.2008

Send-SmtpMail.ps1 – поддержка аутентификации и SSL

Рубрика: PowerShell, Practice, Scripting — Xaegr @ 9:13

Благодаря запросу на форуме течнета подновил скрипт добавив поддержку SSL и возможность указания учетных данных. Спасибо .Net, это заняло лишь несколько строчек :)

Send-SmtpMail.ps1

param (
	$Server = $SmtpHostPreference, # SMTP Сервер
	$From = $SmtpFromPreference, # Адрес отправителя
	[string[]]$To, # Получатели
	$Body = "", # Тело сообщения
	$Subject = "", # Тема сообщения
	[System.IO.FileInfo[]]$Attachment=@(), # Вложения
	[switch]$SSL,
	[System.Management.Automation.PSCredential]$Credentials=$null
)

Write-Verbose "Создаем объекты SmtpClient и MailMessage"
$SmtpClient = New-Object System.Net.Mail.SmtpClient
$Message = New-Object System.Net.Mail.MailMessage
Write-Verbose "Устанавливаем свойства этих объектов"
$SmtpClient.EnableSsl = $SSL
if($Credentials){$SmtpClient.Credentials = $Credentials.GetNetworkCredential()}
$SmtpClient.Host = $Server
$Message.Body = $Body
$Message.Subject = $Subject
$Message.From = $From
Write-Verbose "Создаем и добавляем вложения"
$Attachment | ForEach-Object {
	$a = New-Object System.Net.Mail.Attachment($_.fullname)
	$Message.Attachments.Add($a)
}
Write-Verbose "Добавляем получателей"
$To | ForEach-Object {$Message.To.Add($_)}
Write-Verbose "Отправляем сообщение"
$smtpclient.Send($Message)
Write-Verbose "Удаляем объекты"
$Message.Dispose()

Теперь работает даже с GMail ;)

PS> $cred = Get-Credential

cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
PS> .\send-smtpmail.ps1 -server smtp.gmail.com `
-from $gmailAddress -to $DestinationAddress `
-body "Тест прошел успешно" -subject "Тест" `
-ssl -credentials $cred

UPD: пофиксил скрипт, а то лежала версия 1 :(

20.5.2008

PowerShell не стоит на месте

Рубрика: Learn, News, PowerShell, Scripting — Xaegr @ 19:52

Вот так вот, вернёшься, из отпуска, а тут уже столько всего напроисходило… :)

Дмитрий Сотников не поверил Microsoft’у что PowerShell не работает на Windows 2008 Server Core, и таки запустил его там, за что немедленно получил заслуженный статус Superstar :) Это конечно пока не поддерживаемая конфигурация, но уже приятно ;)

А еще как оказалось, из PowerShell CTP2 можно работать с Windows Presentation Foundation! Приятно когда такой отличный скриптовый язык обрастает соответствующими возможностями – remoting, транзакции, а теперь вот и WPF :)

wpf

 

(далее…)

Отслеживание ошибок при копировании

Рубрика: Learn, PowerShell, Practice, Scripting, Tips — Xaegr @ 15:14

Только вышел из отпуска, и уже аврал на работе, но время для PowerShell я всё равно выкроил ;)

Вот например комрад Camelot подкинул следующую, интересную задачку: Скопировать n файлов, и вывести список нескопированных в текстовый файл (ну либо предварительно попробовать скопировать неудачников еще разок).

(далее…)

Предыдущие записи »

Блог на WordPress.com.