Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Powershell のセキュリティ (大都会ver)
Search
tsuda.a
May 16, 2015
Programming
0
43
Powershell のセキュリティ (大都会ver)
Powershell のセキュリティ
tsuda.a
May 16, 2015
Tweet
Share
More Decks by tsuda.a
See All by tsuda.a
マジカルインクリメントと指数表記
tsudaahr
0
160
バックアップしていますか?
tsudaahr
0
100
RDB以前のファイル設計の話でもしようか(ぇ
tsudaahr
0
110
NPUわからん
tsudaahr
0
160
計算量オーダーの話
tsudaahr
1
370
クラウド初学者が抱える不安について
tsudaahr
0
240
キューとは何か
tsudaahr
0
210
等幅は死んだ(ぇ
tsudaahr
0
84
いくら眺めてもエラーの理由がわからないコードについて
tsudaahr
0
170
Other Decks in Programming
See All in Programming
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
280
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
CursorはMCPを使った方が良いぞ
taigakono
1
180
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
460
XP, Testing and ninja testing
m_seki
3
200
Select API from Kotlin Coroutine
jmatsu
1
190
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
110
Is Xcode slowly dying out in 2025?
uetyo
1
210
VS Code Update for GitHub Copilot
74th
1
410
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Scaling GitHub
holman
459
140k
A designer walks into a library…
pauljervisheath
207
24k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Thoughts on Productivity
jonyablonski
69
4.7k
Side Projects
sachag
455
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
A Modern Web Designer's Workflow
chriscoyier
694
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
Making Projects Easy
brettharned
116
6.3k
Why Our Code Smells
bkeepers
PRO
337
57k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Transcript
Powershell のセキュリティ @tsuda_ahr 2015/5/16 の懇親会
自己紹介
NemCa はこんな感じ 合点がいかない! この人のせい!!
バズったコンテンツ
そして #ハレ婚 の日にこんな記事が出ていてびびる http://internet.watch.impress.co.jp/docs/special/20150307_691658.html
インターネット怖い! ガクガクブルブル (((( ;゚Д゚))
ちなみに私のブログで参照された記事の上位…(汗
さて本題
約半年前、こんな会議が大都会でありました
そこで聞いた Powershell 話。 • ほとんど忘れましたけど。
簡単に言うと • 個人PCのセキュリティが厳しくなりました。 • Windows 7 で UAC で縛り。 しかし
Admin 権限がないので、解除できず。 • UAC を操作するには上司の立ち合いが必要。 • IDE とか入れられないのでプログラム組めない。 • ファイルのコピーすら満足に自動化できんじゃん? • そうだ、Windows なら Powershell があるんじゃね? という流れだった気がする。
やってみよう
.¥test.ps1 を実行
拒否られる
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
やっぱり拒否られる
要するにファイル指定で スクリプト実行するためには 管理者権限を強いられる!
オワタ \(^o^)/
ここまでが、忘年会議での話。
しかし、手入力する分には 実行できるよね?
そう、手入力はOKなわけです。
ということは ファイル指定で実行しなければ いける!
しかし毎度コマンドを 入力するのは面倒すぎる
そこで Function の活用ですよ!
こんな風にスクリプトを function にまとめておく function test() { Get-Process } function test2($a)
{ Write-Host "hello $a!" } test.ps1
Powershell を起動したときにコピペ!
あとは function を実行すれば繰り返しいける!
権限の範囲で 楽しい スクリプトライフを!
・・・
そうじゃない!
やっぱりファイル単位で整理して、 ファイル単位で指定したい!
たとえばこんなスクリプトファイルがある $a = $args[0] Get-Process | ? { $_.CPU -ge
$a } | select Cpu, ProcessName, MainWindowTitle, Path | sort cpu -Descending | ogv getHeavtProcess.ps1 ここがコマンドラインパラメーター
こうあってほしいが・・・
当然、現実はこう (汗
そこでこんなバッチファイルを作る powershell -command "$a=gc -raw %1; $a='{'+$a+"'}'; $b=Invoke-Expression $a; $b.Invoke(%2);
pause;" psexec.bat
するとこう! コマンドプロンプト
バッチファイル経由で Powershell Script が 起動できた!
バッチファイルでやっていること。 Powershell ① -command ② " $a=gc -raw %1; ③
$a='{'+$a+'}'; ④ $b=Invoke-Expression $a;⑤ $b.Invoke(%2); ⑥ pause; ⑦ " ①Powershellを起動する ②-command オプションで Scriptを 渡す。 ③第一引数に指定したファイルをテ キストで読み込む。 ④スクリプトブロックにするので { } で囲む。 ⑤文字列をスクリプトブロックとし て評価する。 ⑥スクリプトブロックの実行。 %2 をパラメーターとして渡す。 ⑦確認待ち。
結果、生成・実行される Powershell Script $a='{$a = $args[0] Get-Process | ? {
$_.CPU -ge $a } | select Cpu, ProcessName, MainWindowTitle, Path | sort cpu -Descending | ogv}'; $b=Invoke-Expression $a; $b.Invoke(10); pause; いわゆる eval
セキュリティとは 一体なんだったのか!
権限の範囲で 楽しい スクリプトライフを!
ここまでが、LT駆動 #10 (2015/1) での話。
ここから OSO 2015 懇親会ver の懇親会
powershell -ExecutionPolicy RemoteSigned そもそも、そんな謎な事しなくても・・・ Powershell の起動オプションを指定でいけるよ!
普通に使える!
いままでの苦労はなんだったのか _| ̄|◦
しかも、3年前にヒーロー島でその話聞いてた(汗 https://twitter.com/tsuda_ahr/status/183366319545131008
結論 みんな Powershell を使おう!
ご清聴ありがとうございました