Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PowerShell for LL Users

PowerShell for LL Users

LL好きにおすすめ: こんなこともできるWindows PowerShell

LLまつり2013で発表した資料です。
資料中のコードはWindows7標準搭載のPowerPoint ISEで実演しました。

Tak Yanagida

August 24, 2013
Tweet

More Decks by Tak Yanagida

Other Decks in Programming

Transcript

  1. こんなこともできる Windows PowerShell (株) オンターゲット 柳田 岳洋 @tyanagida LL好きにおすすめ *

    当ファイルではコード部分に、Inconsolataというフォントを使っています。インストールされて いないPCでは、表示がずれることがあります。
  2. PS> ls PS> ls | sort PS> ls | sort

    –Property Length PS> $res = ls; $res.GetType() PS> $res[0].GetType() PS> $res[0] | Get-Member PS> $res[0].GetFiles() PS> $res[0].CreationTime 実際にISEで試してみる
  3. できること(1):アプリの操作 • Outlookの例 PS> $ol = New-Object -ComObject Outlook.Application PS>

    $ol.Session.Folders[1].Name PS> $ie = New-Object -ComObject InternetExplorer.Application PS> $ie.Visible = $true PS> $ie.Navigate(“http://www.yahoo.co.jp/”) • InternetExplorerの例
  4. できること(2):画面キャプチャ Add-Type -AssemblyName System.Drawing function screenshot([Drawing.Rectangle]$bounds, $path) { $bmp =

    New-Object Drawing.Bitmap -ArgumentList $bounds.width,$bounds.height $graphics = [Drawing.Graphics]::FromImage($bmp) $graphics.CopyFromScreen($bounds.Location, [Drawing.Point]::Empty, $bounds.size) $bmp.Save($path) $graphics.Dispose() $bmp.Dispose() } PS> $rect = New-Object Drawing.Rectangle –ArgumentList 100,100,400,300 PS> Screenshot $rect tmp.png
  5. できること(3):Windowの操作 function Set-ForegroundWindow($hwnd) { $sig = @' [DllImport("user32.dll")] public static

    extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] public static extern bool SetForegroundWindow(IntPtr hWnd); '@ Add-Type -MemberDefinition $sig -name NativeMethods -namespace Win32 [Win32.NativeMethods]::SetForegroundWindow($hwnd) } PS> Set-ForegroundWindow (Get-Process Outlook).MainWindowHandle
  6. 参考文献(2): 使う人用 • PowerShell in Action (2nd. Ed.)  演算子、制御フローから

     COM操作、.NET Framework活用まで  和訳は1st. Editionのみ  英語版はePub, PDFもあり http://www.manning.com/payette2/
  7. 参考文献(2): 使う人用 • PowerShell in Action (2nd. Ed.)  演算子、制御フローから

     COM操作、.NET Framework活用まで  和訳は1st. Editionのみ  英語版はePub, PDFもあり http://www.manning.com/payette2/ PowerShellの作者の本
  8. One of the earliest successful scripting environments was something called

    Tool Command Language/Tool Kit (TCL/TK). PowerShell in Action 2nd. (p.743) (和訳) 最初期に成功したスクリプト言語環境の1つは、Tcl/Tkと呼ばれ るものだった。
  9. One of the earliest successful scripting environments was something called

    Tool Command Language/Tool Kit (TCL/TK). PowerShell in Action 2nd. (p.743) (和訳) 最初期に成功したスクリプト言語環境の1つは、Tcl/Tkと呼ばれ るものだった。 友達になれそう!!