スライド 1

Similar documents
スライド 1

Microsoft Word - コマンドプロンプトからPowerShellに乗り換えるための

Windows Powershell 入門

IT ライブラリーより (pdf 100 冊 )

Windows PowerShell 用スクリプト形式編 改版履歴 版数 日付 内容 担当 V /4/1 初版 NII V /2/26 動作環境の変更に伴う修正 NII V /8/21 タイムスタンプ利用手順の追加 NII 目次 1. コード署名用証明

CONTEC DIOプロバイダ ユーザーズガイド

SVF Ver 環境設定 パッチについて

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

PowerPoint プレゼンテーション

アーカイブ機能インストールマニュアル

intra-mart ワークフローデザイナ

XMLとXSLT

Microsoft PowerPoint - InfPro_I6.pptx

Hyper-V 仮想マシンの設定

アーカイブ機能インストールマニュアル

Red Hat Enterprise Linux 6 Portable SUSE Linux Enterprise Server 9 Portable SUSE Linux Enterprise Server 10 Portable SUSE Linux Enterprise Server 11 P

<4D F736F F F696E74202D E3F FC96E55F F554E CC8AEE D8EAF2E B8CDD8AB B83685D>

プロバイダ ユーザーズガイド

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

Scripting Tools for Windows PowerShell リリースノート

PowerPoint プレゼンテーション

ADempiere (3.5)

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

VNX ファイル ストレージの管理

WebOTXプロファイラを使用したメモリリーク調査方法

SmartPlant License Manager 8.0

Web型iEDIシステム操作説明書

HULFT8 for Windows/UNIX/Linux/zLinux の機能で発生する不具合について

============================================================

Taro-cshプログラミングの応用.jt

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

AcronisUniversalRestore_userguide_en-US

今さら聞けない!? Oracle入門 ~前編~

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

WebReportCafe

Veritas System Recovery 16 Management Solution Readme

intra-mart EX申請システム version.7.2 事前チェック

Java言語 第1回

Microsoft Word - NW2013_Installation_Guide_English_no_screenshots_JPN.doc

Python によるジオプロセシング スクリプト入門

Microsoft Word - ModelAnalys操作マニュアル_

NEC 警告 エラーイベントが登録される現象について ホスト OS に登録されるイベントログ 現象 1 Hyper-V 初回起動時に イベントログ ( システムログ ) に以下の警告イベントが登録される 種類 : エラーソース :VMSMP イベント ID:1 説明 1: ソース

C1Live

画面について 画面構成 画面構成 Smart Copy for Android の画面構成は 次のとおりです 1フォルダパス 2. ファイルの種類 3 ファイル一覧 5[ 戻る ] ボタン 4[ メニュー ] ボタン 1 フォルダパス現在表示している画面のフォルダパスが表示されます 2ファイルの種類

EPS設定例

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

TestDesign for Web

DigiCert SSL/TLS 証明書 Microsoft IIS 8.0/8.5 証明書コピー/サーバー移行手順書

作業環境カスタマイズ 機能ガイド(応用編)

新OS使用時の留意事項

1 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は 多くの J2EE 準拠アプリケーションサーバーについて動作検証がなされています 本報告書は

Net'Attest EPS設定例

JavaプログラミングⅠ

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

BOM for Windows Ver.6.0 リリースノート

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

第 7.0 版 利用履歴管理 ETCPRO5 セットアップマニュアル (Ver5.002) カードリーダモデル変更 ( 表示付き 表示なし ) に伴い 改訂 Windows10 対応に伴い 改訂 参考ホームページサイト :

ServerView Resource Orchestrator V3.0 ネットワーク構成情報ファイルツール(Excel形式)の利用方法

共通 障害調査依頼の際には ログの他に分かる範囲で以下の情報の提供をお願いします 障害の概要 ( 障害の具体的な内容どの様な現象が発生したか等の情報 ) 障害の発生日時 障害の発生手順 ( 障害発生時に どの様な操作 運用を行ったかの情報 ) 画面上に表示されているエラーメッセージ ネットワーク構成

目次 はじめに...4 ドキュメントおよびサンプルスクリプト利用規定...4 第 1 章 RHA PowerShell について RHA PowerShell とは Windows PowerShell とは 事前準備 構成イ

PowerPoint Presentation

リンク バンドル コマンド

現象 3 仮想マシン起動時に イベントログ ( システムログ ) に以下の警告イベントが登録される 種類 : 警告ソース :VMSMP イベント ID:27 " 任意の仮想マシン名 " のネットワーキングドライバーが読み込まれましたが サーバーからの別のバージョンが含まれています サーバーバージョン

Windows AIKを使用したPE2

GettingStartedTK2

Transcription:

by むたぐち ( 牟田口大介 ) Microsoft MVP for Data Center Management - Admin Frameworks

Windows PowerShell とは Windows PowerShell とは.NET Framework をベースに動作する Windows の新しいシステム管理用シェル & スクリプト実行環境 Windows Server2003/XP/Vista 用がダウンロード可能 Server 2008 には標準搭載 ver 2.0 CTP2 も出ました

PowerShell の情報源 (Web) Windows PowerShell でのスクリプティング http://www.microsoft.com/japan/technet/scriptcenter/hub s/msh.mspx PowerShell Memo http://d.hatena.ne.jp/newpops/ Shigeya Tanabe's blog http://blogs.technet.com/stanabe/default.aspx その他紹介記事 初心者向け記事数点 (@IT ITPro codezine など ) PowerShell Scripting( 実質リンク集 ) http://www.roy.hi-ho.ne.jp/mutaguchi/powershell/ Scripting Weblog http://blogs.wankuma.com/mutaguchi/ 上記 2 サイトへのポータル http://winscript.jp/

雑誌 PowerShell の情報源 ( 書籍 ) Windows Server World http://www.windows-world.jp/ 書籍

PowerShell の基本 コマンドレット コマンドプロンプトの内部コマンド (cd とか dir とか ) に相当する 129 種のコマンドレット (cmdlet) を組み合わせて使うのが基本です 大きく分けて PS ドライブ操作 PS ユーティリティ システム管理機能呼び出し オブジェクトの操作の 4 種類 ( むたぐち分類法 ) コマンドレットの引数 ( パラメータ ) も戻り値もみな.NET のオブジェクトである だからメソッドを呼び出したりもできる

コマンドレットの基本 (1) 命名法 コマンドレット命名法は Verb-Noun ( 動詞 - 名詞 ) 例 : ディレクトリを移動する Set-Location コマンドレット ( コマンドプロンプトの cd に相当 ) Windows PowerShell Copyright (C) 2006 Microsoft Corporation. All rights reserved. PS C: Users daisuke> Set-Location Path C: PS C: >

コマンドレットの分類表 PS ドライブ操作項目の内容を操作するには Add-Content Clear-Content Get-Content Set-Content 項目を操作するには Get-ChildItem Clear-Item Copy-Item Get-Item Move-Item New-Item Remove-Item Rename-Item Set-Item プロパティ操作を行うには Clear-ItemProperty Copy-ItemProperty Get-ItemProperty Move-ItemProperty New-ItemProperty Remove- ItemProperty Rename- ItemProperty Set-ItemProperty 項目を実行するには Invoke-Item PS ドライブを扱うには Get-PSDrive Get-PSProvider New-PSDrive Remove-PSDrive ロケーションを取得 設定するには Get-Location Set-Location Push-Location Pop-Location パスの操作を行うには Convert-Path Resolve-Path Join-Path Split-Path Test-Path ACL の取得 設定を行うには Get-Acl Set-Acl PS ユーティリティヘルプを取得するには Get-Help コマンドレットの一覧を取得するには Get-Command ファイルまたは文字列から指定の文字列を抜き出すには Select-String 変数の値を操作するには Get-Variable Set-Variable New-Variable Remove-Variable Clear-Variable 履歴を参照 追加 実行するには Add-History Get-History Invoke-History エイリアスを操作するには Get-Alias Set-Alias New-Alias Export-Alias Import-Alias メッセージを書き込むには Write-Host Write-Output Write-Verbose Write-Warning Write-Debug Write-Error 文字列の入力を読み取るには Read-Host 暗号化文字列 セキュア化された文字列を扱うには ConvertFrom- SecureString ConvertTo- SecureString プログレスバーを表示するには Write-Progress シェル スクリプトを中断するには Start-Sleep デバッグを行うには Set-PSDebug Start-Transcript Stop-Transcript Get-TraceSource Set-TraceSource Trace-Command コマンドの実行時間を計測するには Measure-Command 文字列をコマンドとして実行するには Invoke-Expression ホストオブジェクトを参照するには Get-Host 設定ファイルを読み込むには Update-FormatData Update-TypeData 実行ポリシー取得 設定するには Get-ExecutionPolicy Set-ExecutionPolicy スクリプトファイルの署名を取得 設定するには Get- AuthenticodeSignat ure Set- AuthenticodeSignat ure Get-PfxCertificate PS スナップインを操作するには Get-PSSnapin Add-PSSnapin Remove-PSSnapin Export-Console 管理機能呼び出し日付時刻を取得 設定するには Get-Date Set-Date TimeSpan オブジェクトを作成するには New-TimeSpan サービスを操作するには Get-Service Start-Service Stop-Service Restart-Service Suspend-Service Resume-Service Set-Service New-Service WMI のオブジェクトを扱うには Get-WmiObject 資格情報を取得するには Get-Credential プロセスを取得 停止するには Get-Process Stop-Process イベントログの情報を取得するには Get-EventLog カルチャ UI カルチャに関する情報を取得するには Get-Culture Get-UICulture オブジェクト操作オブジェクトをフィルタ 加工するには Where-Object Tee-Object Sort-Object Select-Object Get-Unique Group-Object.NET か COM のオブジェクトを作成するには New-Object オブジェクトを計測するには Measure-Object オブジェクトのメンバを列挙するには Get-Member オブジェクトにメンバを追加するには Add-Member オブジェクトの比較を行うには Compare-Object オブジェクトを列挙するには ForEach-Object オブジェクトの出力の形式を変更するには Format-List Format-Table Format-Wide Format-Custom オブジェクトを様々なデバイス ファイル 文字列に出力するには Out-Default Out-Host Out-File Out-Null Out-Printer Out-String オブジェクトをファイルに出力 ファイルから入力するには Export-Clixml Import-Clixml Export-Csv Import-Csv ConvertTo-Html

もっとも単純な例 コマンドレットの基本 (2) 使い方 PS > コマンドレット名 ex) Get-Date パラメータを取る場合 PS > コマンドレット名 - パラメータ名 ex) Get-ChildItem -force パラメータと値を取る場合 PS > コマンドレット名 - パラメータ名 パラメータ ex) Get-Command -type Cmdlet 複数パラメータを取る場合 PS > コマンドレット名 - パラメータ名 1 パラメータ 1 - パラメータ名 2 パラメータ 2 ex) Get-Eventlog -LogName system -Newest 5 パラメータ名を省略した場合 PS > コマンドレット名 パラメータ 1 パラメータ 2 ex) Rename-Item a.txt b.txt

コマンドレットの基本 (3) ヘルプ どんなコマンドレットがあるのかを調べるには Get-Command コマンドレットのヘルプを引くには Get-Help コマンドレット名 または コマンドレット名 -?.NET オブジェクトのメンバ ( プロパティ メソッドなど ) を調べるには コマンドレットなどの後に Get-Member

PS ドライブ (1) 概要 従来のシェルはファイルシステムのドライブしか扱えなかったが PowerShell では デフォルトで ファイルシステム レジストリ デジタル署名 環境変数 エイリアス スクリプト変数 関数を PS ドライブ として扱うことができる (Get-PSDrive) PS ドライブを扱うための.NET プログラムが PS プロバイダ コマンドレットと PS プロバイダを含む.NET アセンブリを PS スナップイン という PS スナップインをインストールすることで機能拡張が可能

PS ドライブ (2) 項目の操作 作成 New-Item ni 名前変更 Rename-Item rni, ren 移動 Move-Item mi, mv, move コピー Copy-Item cpi, cp, copy 削除 Remove-Item ri, rm, rmdir, del, erase, rd 実行 Invoke-Item ii プロパティ操作 Get-ItemProperty, Copy-, Clear-, Move-, Rename-, Remove-, Set- これらの操作がどのドライブでも可能

コマンドレットデモ DEMO1

従来のシェルにおけるパイプ カレントのファイルをファイル名で逆順ソート dir / b の出力 = テキストがパイプを通る C: WINDOWS system32 drivers etc>dir /b sort /r services protocol networks lmhosts.sam hosts 上の例は単純なテキストなのでソートできるが ではサイズでソートするには????

オブジェクトが渡るパイプ (1) 概要 ファイルサイズでソート PowerShellなら可能です Get-ChildItem の出力 = オブジェクトの配列がパイプを通る PS C: WINDOWS system32 drivers etc> Get-ChildItem Sort-Object -property Length ディレクトリ : Microsoft.PowerShell.Core FileSystem::C: WINDOWS system32 dri vers etc Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2004/08/05 21:00 407 networks -a--- 2004/08/05 21:00 734 hosts -a--- 2004/08/05 21:00 799 protocol -a--- 2004/08/05 21:00 3683 lmhosts.sam -a--- 2004/08/05 21:00 7116 services

オブジェクトが渡るパイプ (2) 通っているもの コマンドレットの戻り値は.NET のオブジェクト PS C: WINDOWS system32 drivers etc> Get-ChildItem Get-Member TypeName: System.IO.FileInfo Name MemberType Definition ---- ---------- ---------- AppendText Method System.IO.StreamWriter AppendText() CopyTo Method System.IO.FileInfo CopyTo(String de... Create Method System.IO.FileStream Create() CreateObjRef Method System.Runtime.Remoting.ObjRef Crea... CreateText Method System.IO.StreamWriter CreateText() LastAccessTime Property System.DateTime LastAccessTime {get... LastAccessTimeUtc Property System.DateTime LastAccessTimeUtc {... LastWriteTime Property System.DateTime LastWriteTime {get;... LastWriteTimeUtc Property System.DateTime LastWriteTimeUtc {g... Length Property System.Int64 Length {get;} Name Property System.String Name {get;}

オブジェクトが渡るパイプ (3) フィルタと列挙 Where-Object を使うと細かくフィルタ可能 PS C: > Get-Process Where-Object -filterscript {$_.handles -gt 500} Foreach-Object でパイプを渡ったオブジェクト配列の要素それぞれに対してコマンド実行可能 PS C: Documents and Settings daisuke> Get-ChildItem Foreach-Object - process{write-host $_.FullName}

WMI も自由自在 Before & After WMI (Windows Management Instrumentation) のクラスのインスタンスを簡単に呼び出せる Set wbemservices = GetObject("winmgmts:.") Set wbemobjectset = wbemservices.instancesof("win32_physicalmemory") For Each wbemobject In wbemobjectset WScript.Echo " 物理メモリ (bytes): " & wbemobject.capacity Next 長ったらしい PS C: > Get-WMIObject -class Win32_PhysicalMemory property capacity PS C: > gwmi Win32_PhysicalMemory -p Capacity

パイプ &WMI デモ DEMO2

おわりに 新しいオブジェクトベースのシェル いかがでしたか? 今回はシェルとしての PowerShell を見てきましたがスクリプティングもできます! クライアントで使うもよし サーバー管理に使うもよし あなたなら何をしますか? あるいはこういうの自動化できない? みたいなご意見募集!