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 使っている?@Niigata.LL
Search
kasacchiful
March 23, 2013
1
890
PowerShell 使っている?@Niigata.LL
Niigata.LL で PowerShell についてしゃべりました。
kasacchiful
March 23, 2013
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
WorkersでDiscord botを試してみた / 20250822workers-tech-talk-niigata
kasacchiful
0
20
地域コミュニティへの「感謝」と「恩返し」 / 20250726jawsug-tochigi
kasacchiful
0
130
Amazon Q Developer for CLI を使って PHP Conference 新潟 2025 参加者向けにグルメサイトを構築した話 / 20250620niigata-5min-tech
kasacchiful
1
89
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
340
生成AIでメタデータを生成してみた / 20250525generate-metadata-using-generative-ai
kasacchiful
0
67
Strands Agents SDK で AIエージェント作成 を試してみた / 20250525strands-agents
kasacchiful
0
250
いろんな世界を見てみよう / 20250508ninno_tech_fest
kasacchiful
0
40
Amazon Q Developer for CLIのある生活 / 20250427ai_craft_hacks_niigata1
kasacchiful
1
92
AWSのコンテナサービス / jawsug-akita-aws-container-services
kasacchiful
0
87
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.2k
Navigating Team Friction
lara
188
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Adopting Sorbet at Scale
ufuk
77
9.5k
Balancing Empowerment & Direction
lara
2
570
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
PowerShell ͬͯΔʁ ּݪɹ @kasacchiful
ීஈWindowsͬͯ·͔͢ʁ ࣄͰWindowsͬͯ·͔͢ʁ PowerShell ͬͨ͜ͱ͋Γ·͔͢ʁ
Windows͍ͬͯΔͳΒ PowerShellΛΘͳ͍ͱ ͍ͬͨͳ͍ʂ
࣍ ࣗݾհ PowerShellͬͯԿʁ ར ࣄྫ
ࣗݾհ ּݪɹʢ@kasacchifulʣ ৽ׁࢢࡏॅ SIerۈʢΠϯϑϥඋ͕ଟΊʣ JaSST৽ׁɹ࣮ߦҕһ ීஈMacɺࣄWindows Ruby͕͓ؾʹೖΓ ݱࡏɺපؾྍཆத…
PowerShellͬͯԿʁ
PowerShellͬͯԿʁ ੨͍ը໘ͷΠΧͭ͢ Windows7Ͱ2.0ɺ8Ͱ3.0͕ඪ४උ MSͱੑ͕ߴ͍ جຊShell͕ͩɺVBScriptͷସʹ͑Δ →ϓϩάϥϛϯάͰ͖Δͬͯ͜ͱʂ ࠓճPowerShell 2.0Λجʹ͓͠·͢
རʢݸਓతͳʣ
ར lsͬͯೖྗͰ͖Δ ͪΌΜͱදࣔ͞ΕΔ
ͦΕ͚ͩͰͳ͍
ར ΤΠϦΞε͕ొͰ͖Δ lsGet-ChildItemͷΤΠϦΞε dirGet-ChildItemͷΤΠϦΞε railsίϚϯυΛrͰొͰ͖ͳ͍
ͦΕ͚ͩͰͳ͍
ར CSVϑΝΠϧͷಡऔʗॻࠐ͕؆୯ Export-CsvɺImport-Csv σʔλ࿈ܞ͕CSVͳͷ͕ɺ͍͔ʹ SIerͬΆ͍͔ͳ
ͦΕ͚ͩͰͳ͍
ར ActiveDirectoryɺSQL Serverͷૢ࡞͕ߦ͑Δ Windows Server 2008 R2͔Β ActiveDirectoryૢ࡞ADSIΑΓ؆୯
ͦΕ͚ͩͰͳ͍
ར εΫϦϓτϑΝΠϧʹอଘɺ࣮ߦͰ͖Δ ֦ுࢠʮ.ps1ʯ όονϑΝΠϧVBScriptॻ͘͘Β͍ͳΒ PowerShellͷํ͕ศར
ͦΕ͚ͩͰͳ͍
ར .NET FrameworkͷΫϥεϥΠϒϥϦ͕ ͑Δ Windows FormWPF͑ͯ͠·͏ => ԿͰͰ͖ͦ͏͡ΌΜʂ
ͦΕ͚ͩͰͳ͍
ར ύΠϓ͕͑Δ UnixʗLinuxͰͨΓલ PowerShellͰɺ.NET FrameworkͷΦϒδΣΫτ͕͞ΕΔ
ύΠϓͷྫ ࠷ऴߋ৽͕ݱࡏͷ0:00:00ΑΓ30Ҏ্ܦաͨ͠ ʮ.logʯϑΝΠϧΛআ͢Δ ls “C:¥log” | where {($_.Name -match “.log$”)
-and ($_.LastWriteTime -lt (Get-Date -Hour 0 -Minute 0 -Second 0).AddDays(-30))} | rm
ͦΕ͚ͩͰͳ͍
ར ΦϒδΣΫτࢦϓϩάϥϛϯά ϓϩτλΠϓϕʔε ΧελϜΦϒδΣΫτΛ࡞ͯ͠ϓϩύςΟͱ ϝιουΛՃ͢Δํ๏ͰՄೳ
ΦϒδΣΫτࢦϓϩάϥϛϯάͷྫ $i = 1; $i.PSObject.Members.Add( (New-Object System.Management.Automation.PSScriptMethod “Hello”, {param($msg); “Hello,
$msg $this.”}) ); $i.Hello(“My name is”) => Hello, My name is 1.
ͦΕ͚ͩͰͳ͍
͚ͩͲ͍ͷͰলུ ʮPowerShell ISEʯͱ͍͏։ൃڥ͕͑Δ σόοάػೳ͕ඪ४උ Windows 7ΫϥΠΞϯτ͔ΒϦϞʔτͷWindows 2008 R2αʔόϦϞʔ τཧػೳ ύΠϓͱ࿈ܞ֤ͯ͠छϑΟϧλػೳ͕ڧྗ
୯ମςετπʔϧ͑ΔʢPSUnitͳͲʣ ྫ֎ॲཧʮtryʯʮcatchʯʮfinallyʯ etc.
ͳΜ͔ͩLLͬΆ͍Ͱ͢ΑͶ
ࣄྫ
ࣄྫ ৬һཧ༻ActiveDirectoryͷҟಈॲཧ ҟಈ͢Δͱॴଐ͢Δ෦ॺʹରԠ͢ΔOUͱηΩϡϦςΟάϧʔϓΛCSV࿈ܞ ͱPowerShellͰ͝Γ͝Γมߋ Ϣʔβͷ৽نొɺมߋɺআΔ
ࣄྫ ਓࣄڅ༩γεςϜ ౷߹ೝূγεςϜ ใܥAD جװܥAD ͦͷଞαϒγεςϜ ͜ͷ࿈ܞ෦
ͬͨ͜ͱ ౷߹ೝূγεςϜ͔ΒCSVϑΝΠϧΛड͚औΔ ใܥActiveDirectoryαʔόͰɺͦΕΛPowerShellͰ͝Γ͝Γ ใܥADΛมߋ
εΫϦϓτͰͬͨ͜ͱ 1.ϑΝΠϧબμΠΞϩάදࣔ • Windows Form ͔Β FileDialogݺग़ 2.CSVऔࠐ 3.ActiveDirectoryૢ࡞ 4.ϩάग़ྗ
• Τϥʔ͕ग़ͨΒɺPowerShellͷਖ਼نදݱͰ֬ೝ
Windows͍ͬͯΔͳΒ PowerShellΛΘͳ͍ͱ ͍ͬͨͳ͍ʂ