SlideShare a Scribd company logo
Powershell のセキュリティ
@tsuda_ahr
2015/5/16
の懇親会
自己紹介
NemCa はこんな感じ
合点がいかない!
この人のせい!!
バズったコンテンツ
そして #ハレ婚 の日にこんな記事が出ていてびびる
http://internet.watch.impress.co.jp/docs/special/20150307_691658.html
インターネット怖い!
ガクガクブルブル (((( ;゚Д゚))
ちなみに私のブログで参照された記事の上位…(汗
http://ooltcloud.expressweb.jp/
さて本題
約半年前、こんな会議が大都会でありました
そこで聞いた 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 を使おう!
ご清聴ありがとうございました

More Related Content

PDF
スターマークの話
PDF
MySQL のユーザー定義変数と RDB のココロ
PDF
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
PDF
ドメイン名の話 (データベース/SQL)
PDF
マネジメントという道具(v0.0.1)
PPTX
資格は役に立つか
PDF
Windows でも時刻合わせがしたい!
PDF
ぬぎんくす問題
スターマークの話
MySQL のユーザー定義変数と RDB のココロ
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
ドメイン名の話 (データベース/SQL)
マネジメントという道具(v0.0.1)
資格は役に立つか
Windows でも時刻合わせがしたい!
ぬぎんくす問題

Similar to Powershell のセキュリティ (大都会ver) (20)

PPTX
Powershell勉強会 v5 (こちらが最新です。)
PPTX
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
PDF
PowerShellが苦手だった男がPowerShellを愛するようになるまで
PPTX
Powershell基礎_20180521用
PPTX
Powershell勉強会 v3 (もっと新しいバージョンがあります)
PPTX
Powershell勉強会 v2 (もっと新しいバージョンがあります)
PPTX
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
PDF
はじめてのPowerShell
PDF
20180123 power shell
PPTX
Power shellmemo
PDF
Windows PowerShell 2.0 の基礎知識
PDF
IT Pro のための PowerShell スクリプティング
PPTX
運用構築技術者の為のPSプログラミング第1回
PDF
使ってみよう PowerShell
PDF
たのしいPowershell Empire
PPTX
PowerShell de Azure
PDF
Windows PowerShell 2.0 の基礎知識
PPTX
04 windows powershellスクリプト作成の基礎知識
PDF
PowerShell 紹介
PPTX
運用構築技術者の為のPSプログラミング第2回
Powershell勉強会 v5 (こちらが最新です。)
Powershell勉強会 v4 (もっと新しいバージョンがあります。)
PowerShellが苦手だった男がPowerShellを愛するようになるまで
Powershell基礎_20180521用
Powershell勉強会 v3 (もっと新しいバージョンがあります)
Powershell勉強会 v2 (もっと新しいバージョンがあります)
Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります)
はじめてのPowerShell
20180123 power shell
Power shellmemo
Windows PowerShell 2.0 の基礎知識
IT Pro のための PowerShell スクリプティング
運用構築技術者の為のPSプログラミング第1回
使ってみよう PowerShell
たのしいPowershell Empire
PowerShell de Azure
Windows PowerShell 2.0 の基礎知識
04 windows powershellスクリプト作成の基礎知識
PowerShell 紹介
運用構築技術者の為のPSプログラミング第2回
Ad

More from tsudaa (10)

PDF
Json型の使い方
PDF
Python と私の事情
PDF
真理とは何か
PDF
Excelのどうでもよいtipsの紹介
PDF
昼の12時は午○何時?
PDF
全角チルダ問題
PDF
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
PDF
文字数はおいくら?(Ruby版)
PDF
法律の読み方とか
PDF
C++入門?
Json型の使い方
Python と私の事情
真理とは何か
Excelのどうでもよいtipsの紹介
昼の12時は午○何時?
全角チルダ問題
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
文字数はおいくら?(Ruby版)
法律の読み方とか
C++入門?
Ad

Powershell のセキュリティ (大都会ver)