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
880
PowerShell 使っている?@Niigata.LL
Niigata.LL で PowerShell についてしゃべりました。
kasacchiful
March 23, 2013
Tweet
Share
More Decks by kasacchiful
See All by kasacchiful
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
190
Amazon S3 TablesとAmazon S3 Metadataを動かしてみた / 20250125-niigata-5min-tech-lt
kasacchiful
0
20
dbt coreとFargateでデータ変換 / 20240928-jawsug-toyama-hokuriku-shinkansen
kasacchiful
1
98
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
350
AWSでIcebergを使ってデータウェアハウスを構築してみる / 20240810-jawsug-akita
kasacchiful
0
43
サーバーレスパターンを元にAWS CDKでデータ基盤を構築する / 20240731_classmethod_odyssey_online_build_a_data_infrastructures_using_aws_cdk_based_on_serverless_patterns
kasacchiful
0
510
AWS IoT 1-clickがサービス終了するので、SORACOMに移行した話 / 20240518-jawsug-niigata-iotlt-niigata
kasacchiful
0
280
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
590
AWSの各種サービス紹介と活用方法 − AI・ML活用デモを交えて − / 20231208aws-aiml-seminar
kasacchiful
0
540
Featured
See All Featured
Faster Mobile Websites
deanohume
306
31k
Done Done
chrislema
182
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Producing Creativity
orderedlist
PRO
344
40k
How GitHub (no longer) Works
holman
314
140k
Six Lessons from altMBA
skipperchong
27
3.6k
How to Ace a Technical Interview
jacobian
276
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
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ΛΘͳ͍ͱ ͍ͬͨͳ͍ʂ