Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Kazuhiro Matsushima
PDF, PPTX
28,941 views
PowerShellが苦手だった男がPowerShellを愛するようになるまで
PowerShell とのお付き合い事始めです。初心者が PowerShell で躓くところ(実際引っかかった)を実体験を踏まえて紹介します。(主催者により記述編集)
Technology
◦
Read more
36
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 52
2
/ 52
3
/ 52
4
/ 52
5
/ 52
6
/ 52
7
/ 52
8
/ 52
9
/ 52
10
/ 52
11
/ 52
12
/ 52
13
/ 52
14
/ 52
15
/ 52
16
/ 52
17
/ 52
18
/ 52
19
/ 52
20
/ 52
Most read
21
/ 52
22
/ 52
23
/ 52
24
/ 52
Most read
25
/ 52
26
/ 52
27
/ 52
28
/ 52
29
/ 52
30
/ 52
31
/ 52
32
/ 52
33
/ 52
34
/ 52
35
/ 52
36
/ 52
37
/ 52
38
/ 52
39
/ 52
40
/ 52
Most read
41
/ 52
42
/ 52
43
/ 52
44
/ 52
45
/ 52
46
/ 52
47
/ 52
48
/ 52
49
/ 52
50
/ 52
51
/ 52
52
/ 52
More Related Content
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
PDF
Amazon Athena 初心者向けハンズオン
by
Amazon Web Services Japan
PDF
NEDIA_SNIA_CXL_講演資料.pdf
by
Yasunori Goto
PPTX
UEFIによるELFバイナリの起動
by
uchan_nos
PDF
Process Scheduler and Balancer in Linux Kernel
by
Haifeng Li
PPTX
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
by
NTT DATA Technology & Innovation
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PPTX
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
コンテナの作り方「Dockerは裏方で何をしているのか?」
by
Masahito Zembutsu
Amazon Athena 初心者向けハンズオン
by
Amazon Web Services Japan
NEDIA_SNIA_CXL_講演資料.pdf
by
Yasunori Goto
UEFIによるELFバイナリの起動
by
uchan_nos
Process Scheduler and Balancer in Linux Kernel
by
Haifeng Li
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
by
NTT DATA Technology & Innovation
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
クラウドでも非機能要求グレードは必要だよね
by
YoshioSawada
What's hot
PDF
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
PDF
データセンター向け高機能スイッチ Cisco Nexus スイッチ ガイド
by
シスコシステムズ合同会社
PDF
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
PPTX
Ansible ではじめるインフラのコード化入門
by
Sho A
PPTX
Yocto bspを作ってみた
by
wata2ki
PDF
삶이편해지는_백엔드_개발자_지식.pdf
by
Seung kyoo Park
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
今だからこそ見直そうAzureコスト最適化
by
Tomotaka Suzuki(御成門プログラマー)
PDF
FIFA 온라인 3의 MongoDB 사용기
by
Jongwon Kim
PDF
待ち事象から考える、Sql server の改善ポイント
by
Masayuki Ozawa
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
PDF
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
by
akira6592
PDF
github-actions.pdf
by
AbhaymithraReddy1
PDF
MQTTとAMQPと.NET
by
terurou
PDF
A5 SQL Mk-2の便利な機能をお教えします
by
ester41
PDF
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
PDF
クラウドとは何か
by
VirtualTech Japan Inc.
PDF
Go 製リアルタイムサーバーの Kubernetes での運用について
by
KairiOkumura
PPTX
MongoDBの監視
by
Tetsutaro Watanabe
PDF
The Yocto Project
by
rossburton
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
by
Atsushi Tanaka
データセンター向け高機能スイッチ Cisco Nexus スイッチ ガイド
by
シスコシステムズ合同会社
[AKIBA.AWS] VGWのルーティング仕様
by
Shuji Kikuchi
Ansible ではじめるインフラのコード化入門
by
Sho A
Yocto bspを作ってみた
by
wata2ki
삶이편해지는_백엔드_개발자_지식.pdf
by
Seung kyoo Park
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
今だからこそ見直そうAzureコスト最適化
by
Tomotaka Suzuki(御成門プログラマー)
FIFA 온라인 3의 MongoDB 사용기
by
Jongwon Kim
待ち事象から考える、Sql server の改善ポイント
by
Masayuki Ozawa
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
by
akira6592
github-actions.pdf
by
AbhaymithraReddy1
MQTTとAMQPと.NET
by
terurou
A5 SQL Mk-2の便利な機能をお教えします
by
ester41
PostgreSQLレプリケーション10周年!徹底紹介!(PostgreSQL Conference Japan 2019講演資料)
by
NTT DATA Technology & Innovation
クラウドとは何か
by
VirtualTech Japan Inc.
Go 製リアルタイムサーバーの Kubernetes での運用について
by
KairiOkumura
MongoDBの監視
by
Tetsutaro Watanabe
The Yocto Project
by
rossburton
Similar to PowerShellが苦手だった男がPowerShellを愛するようになるまで
PPTX
Powershell勉強会 v5 (こちらが最新です。)
by
Tetsu Yama
PPTX
Powershell基礎_20180521用
by
Tetsu Yama
PPTX
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
by
Tetsu Yama
PPTX
Powershell勉強会 v3 (もっと新しいバージョンがあります)
by
Tetsu Yama
PPTX
Powershell勉強会 v2 (もっと新しいバージョンがあります)
by
Tetsu Yama
PPTX
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
by
Tetsu Yama
PPTX
Power shellmemo
by
ytanno
PDF
はじめてのPowerShell
by
Trainocate Japan, Ltd.
PDF
20180123 power shell
by
Trainocate Japan, Ltd.
PPTX
運用構築技術者の為のPSプログラミング第2回
by
Shigeharu Yamaoka
PDF
Powershell のセキュリティ (大都会ver)
by
tsudaa
PPTX
運用構築技術者の為のPSプログラミング第1回
by
Shigeharu Yamaoka
PDF
Windows PowerShell 2.0 の基礎知識
by
shigeya
PDF
使ってみよう PowerShell
by
Kazuki Takai
PPTX
04 windows powershellスクリプト作成の基礎知識
by
s_hayashi
PPTX
PowerShell 小技集
by
sakuragi yuuto
PDF
Windows PowerShell 2.0 の基礎知識
by
shigeya
PDF
IT Pro のための PowerShell スクリプティング
by
Kazuki Takai
PPTX
Windows スクリプトセミナー 基本編
by
junichi anno
PPTX
Write-Help
by
和紀 大鷲
Powershell勉強会 v5 (こちらが最新です。)
by
Tetsu Yama
Powershell基礎_20180521用
by
Tetsu Yama
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
by
Tetsu Yama
Powershell勉強会 v3 (もっと新しいバージョンがあります)
by
Tetsu Yama
Powershell勉強会 v2 (もっと新しいバージョンがあります)
by
Tetsu Yama
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
by
Tetsu Yama
Power shellmemo
by
ytanno
はじめてのPowerShell
by
Trainocate Japan, Ltd.
20180123 power shell
by
Trainocate Japan, Ltd.
運用構築技術者の為のPSプログラミング第2回
by
Shigeharu Yamaoka
Powershell のセキュリティ (大都会ver)
by
tsudaa
運用構築技術者の為のPSプログラミング第1回
by
Shigeharu Yamaoka
Windows PowerShell 2.0 の基礎知識
by
shigeya
使ってみよう PowerShell
by
Kazuki Takai
04 windows powershellスクリプト作成の基礎知識
by
s_hayashi
PowerShell 小技集
by
sakuragi yuuto
Windows PowerShell 2.0 の基礎知識
by
shigeya
IT Pro のための PowerShell スクリプティング
by
Kazuki Takai
Windows スクリプトセミナー 基本編
by
junichi anno
Write-Help
by
和紀 大鷲
PowerShellが苦手だった男がPowerShellを愛するようになるまで
1.
1 PowerShell が苦手だった男が PowerShell を愛するようになるまで ガブ
/ @gab_km 2014/07/12 第 3 回 PowerShell 勉強会
2.
2 お前だれよ ● 拝承系 SIer
勤務のしがないエンジニア ● .NET 開発者、特に F# 界隈の人 ● Python や D 言語にも興味あり ● もちろん PowerShell もね!
3.
3 今日話すこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか
4.
4 かつての僕
5.
5 かつての僕 この時点 (2011/03/24) の
2 年前なので、 2009 年頃には PowerShell に手を出していた模様。
6.
6 何が苦手だったか という感じの躓き方をしていた。 当時の記憶を思い出してみると、 ● コマンド体系が bat
から結構変わっている ( ように見えた ) ● 今まで bat で出来ていたことが、 PowerShell だとすぐに出 来なかった
7.
7 今はどうか
8.
8 今はどうか これが去年 (2013) の春のこと。 1
年ちょっと、いろんなものを PowerShell で書くようにし ていたら、それなりに出来るようになってきた。
9.
9 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。
10.
10 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。 ↓ Python を覚えて、これらの起動時処理を Python で全て書き 直した。 (Python の勉強に役立った )
11.
11 実例その 1 当初 bat
で PC の起動時処理 ( メーラーや便利ツールの起動、 ファイルサーバーとの接続など ) を書いていた。 ↓ Python を覚えて、これらの起動時処理を Python で全て書き 直した。 (Python の勉強に役立った ) ↓ PowerShell の勉強のために、起動時処理を PowerShell で 改めて書き直した。
12.
12 実例その 2
13.
13 実例その 2 Chocolatey がなかなか良い感じなんだけど、某拝承系
SIer の作業環境はプロキシの壁の中。 なので、 chocolatey install がプロキシ経由でも上手く いくように Pull Request を投げてみた。
14.
14 実例その 2 Chocolatey がなかなか良い感じなんだけど、某拝承系
SIer の作業環境はプロキシの壁の中。 なので、 chocolatey install がプロキシ経由でも上手く いくように Pull Request を投げてみた。 ※2014/07/12 現在、絶賛放置中
15.
15 実例その 3
16.
16 実例その 3 # どこのメーカーかはお察し Get-ChildItem
| Where { $_.Name.StartsWith("MAKERNAME") } | ForEach { Rename-Item $_ -newname ($(Get-ItemProperty $_).LastWriteTime.ToString("yyyyMMdd_hhmm") + ".MP4") }
17.
17 何が分かって苦手じゃなくなったか この辺りができるように調べながらやり方を覚えていくことで PowerShell を書くことが苦手じゃなくなった。 ● ファイルの指定と実行 ●
ファイルに対する操作 ● パイプライン操作
18.
18 何が分かって苦手じゃなくなったか この辺りができるように調べながらやり方を覚えていくことで PowerShell を書くことが苦手じゃなくなった。 ● ファイルの指定と実行 ●
ファイルに対する操作 ● パイプライン操作 もし PowerShell に苦手意識を感じている方でも、この 3 つ ができれば、最初の大きなハードルが乗り越えられると思う。
19.
19 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
20.
20 ファイルの指定と実行 PS> notitle.ps1 カレントディレクトリに作成した notitle.ps1
というスク リプトファイル。 これを実行しようと上のように入力してみた。 うまく行けば “ Hello, there!” という文字列が表示され る。
21.
21 ファイルの指定と実行 PS> notitle.ps1 notitle.ps1 :
用語 'notitle.ps1' は、コマンドレット、関数、スクリ プト ファイル、または操作可能なプ ログラムの名前として認識されません。名前が正しく記述されていることを確認 し、パスが含まれている場合 はそのパスが正しいことを確認してから、再試行してください。 発生場所 行 :1 文字 :1 + notitle.ps1 + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (notitle.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS>
22.
22 ファイルの指定と実行 PS> notitle.ps1 notitle.ps1 :
用語 'notitle.ps1' は、コマンドレット、関数、スクリ プト ファイル、または操作可能なプ ログラムの名前として認識されません。名前が正しく記述されていることを確認 し、パスが含まれている場合 はそのパスが正しいことを確認してから、再試行してください。 発生場所 行 :1 文字 :1 + notitle.ps1 + ~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (notitle.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS> ターミナル上では補完が効く話ではあるけれど、単純に .bat から .ps1 に書き換えてる時にこのつらみが…。
23.
23 ファイルの指定 (1) 絶対パスを使う PS>
C:myposhnotitle.ps1
24.
24 ファイルの指定 (1) 絶対パスを使う PS>
C:myposhnotitle.ps1 Hello, there! PS> これは確実な方法だが、多少冗長な面は否めない。
25.
25 ファイルの指定 (2)'.' を使う PS>
.notitle.ps1
26.
26 ファイルの指定 (2)'.' を使う PS>
.notitle.ps1 Hello, there! PS> カレントディレクトリにあるファイルを指定したい場合、パス の先頭に '.' を付与する。
27.
27 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript ファイルを実行する際、先述の方法では上手くいかない場合が ある。
28.
28 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript C:myposhnotitle.ps1 PS>
29.
29 ファイルが実行できない場合 PS> $myScript =
“C:myposhnotitle.ps1” PS> $myScript C:myposhnotitle.ps1 PS> 実行後、周囲に漂うソウジャナイヨ感は、殺伐としたギョームにおける 一服の清涼剤となる。 # ならない
30.
30 ファイルの実行 (1) '&'
を使う PS> & $myScript Hello, there! PS> こういう場合、実行したいパスをアンパサンド (&) に渡すこ とで実行できる。 アンパサンドとパスは、間のスペースの有無にかかわらず動作 する。
31.
31 ファイルの実行 (2) '.'
を使う PS> . $myScript Hello, there! PS> 同じような場面で、ドット (.) を使うことで指定したパスに あるファイルを実行する。 この方法を「ドットソース形式での読み込み」と言う。
32.
32 ファイルの実行 (2) '.'
を使う PS> . $myScript Hello, there! PS> 同じような場面で、ドット (.) を使うことで指定したパスに あるファイルを実行する。 この方法を「ドットソース形式での読み込み」と言う。 詳しくは検索するか、会場にいる PowerShell のこわい人た ちに聞いてみてください ( ◜◡◝ )
33.
33 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
34.
34 ファイルに対する操作 ● コピー ● リネーム ●
削除 ファイルに対して、以下の操作を行いたいことが多かった。
35.
35 ファイルに対する操作 古き良きコマンドプロンプトのコマンドを使えなくはない。 … が、せっかく PowerShell
に手を出したんだから、コマン ドレットを使いたいという意識の高さがあった。 ● コピー ● リネーム ● 削除 ファイルに対して、以下の操作を行いたいことが多かった。
36.
36 ファイルのコピー (1) PS> Copy-Item
-Path .notitle.ps1 -Destination C:myetc PS> ls C:myetc | where Name -eq notitle.ps1 ディレクトリ : C:myetc Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2014/07/11 23:42 31 notitle.ps1 PS> とりあえず、 Copy-Item を使う。
37.
37 ファイルのコピー (2) PS> Get-ChildItem
C:myetc | % { $_.Name } PS> Copy-Item -Path C:myposhn* -Destination C:myetc PS> Get-ChildItem C:myetc | % { $_.Name } Copy-Item の -Path パラメータ、ワイルドカードをmgmg してくれるので、以下のような使い方ができる。
38.
38 ファイルのコピー (2) PS> Get-ChildItem
C:myetc | % { $_.Name } PS> Copy-Item -Path C:myposhn* -Destination C:myetc PS> Get-ChildItem C:myetc | % { $_.Name } notitle.ps1 nanimoyarukishinai.txt PS> Copy-Item の -Path パラメータ、ワイルドカードをmgmg してくれるので、以下のような使い方ができる。
39.
39 ファイルのリネーム PS> ls |
% { $_.Name } notitle.ps1 PS> Rename-Item -Path .notitle.ps1 -NewName foobar.ps1 PS> ls | % { $_.Name } foobar.ps1 PS> こちらも、とりあえず Rename-Item を使う。
40.
40 ファイルの削除 PS> ls |
% { $_.Name } notitle.ps1 PS> Remove-Item .notitle.ps1 PS> ls | % { $_.Name } PS> Remove-Item を使う。
41.
41 ファイルの削除 PS> ls |
% { $_.Name } notitle.ps1 PS> Remove-Item .notitle.ps1 PS> ls | % { $_.Name } PS> Remove-Item を使う。 PowerShell は「動詞 - 目的語」という名前でコマンドレッ トが定義されており、直感的に探しやすい。
42.
42 ● ファイルの指定と実行 ● ファイルに対する操作 ●
パイプライン操作
43.
43 パイプライン操作 「 PowerShell といえばパイプライン、
44.
44 パイプライン操作 「 PowerShell といえばパイプライン、 パイプラインといえば
F# PowerShell 」という関係。
45.
45 パイプライン操作 の 2 つに大別されると思う。
(※ 個人の感想です ) ● フィルター ● 逐次 「 PowerShell といえばパイプライン、 パイプラインといえば F# PowerShell 」という関係。 パイプラインでやりたい操作といえば
46.
46 パイプライン操作 - フィルター @("hoge",
"fuga", "bar") | where { $_.Length -eq 4 } # "hoge" # "fuga" パイプラインの基本操作といえば、やはりフィルター。 条件ブロックを渡した Where-Object を通すことで、その 条件にマッチした要素だけが残る。
47.
47 パイプライン操作 - フィルター @("hoge",
"fuga", "bar") | where { $_.Length -eq 4 } # "hoge" # "fuga" パイプラインの基本操作といえば、やはりフィルター。 条件ブロックを渡した Where-Object を通すことで、その 条件にマッチした要素だけが残る。 $_ はパイプライン先で要素を指す変数。 パイプライン操作を覚え始めた頃は、何故か覚えられなくてい つもぐぐっていた…。
48.
48 パイプライン操作 - 逐次
(1) @("hoge", "fuga", "bar") | foreach { $_.ToUpper() } # "HOGE" # "FUGA" # “BAR” パイプラインで渡されたコレクションの各要素に対し て、 ForEach-Object に渡したブロックの処理を行う。 皆さんがお使いの関数型言語でいうところの、 map や iter と だいたい同じ役割になる。
49.
49 パイプライン操作 - 逐次
(2) @(1 .. 3) | % { $_ + 2 } # 3 # 4 # 5 foreach には % という略記号が用意されているので便利。
50.
50 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか
51.
51 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか ● ファイルの指定と実行 ● ファイルに対する操作 ● パイプライン操作
52.
52 今日話したこと ● PowerShell が苦手→書けるようになった ●
どの辺りが分かれば苦手意識がなくなるか ● ファイルの指定と実行 ● ファイルに対する操作 ● パイプライン操作 すごい PowerShell いっぱい遊ぼう!
Download