PowerShellã®åºæ¬ãåŠã¶
ãã®èšäºã¯ã ç¡æã®PowerShellãããªã³ãŒã¹ãšActive Directory Fundamentalsããã®ã¬ãã¹ã³ã®ããã¹ãçã§ãïŒå®å šãªã¢ã¯ã»ã¹ã«ã¯ç§å¯ã®èšèãããã°ãã䜿çšããŠãã ããïŒã
ãã®ãããªã³ãŒã¹ã¯äžçäžã§éåžžã«äººæ°ããããæåããActive Directoryãã£ã¬ã¯ããªãµãŒãã¹ã管çããããã®å®å šãªããŒã«ã»ãããäœæããããã®ãã¹ãŠã®æé ã説æããŸãã
PowerShellãšã³ã³ãŒãã£ã³ã°
æåã¯ãç¹ã«cmd.exeã³ãã³ãã©ã€ã³ãšãããããããããã¡ã€ã«ãïŒæ¡åŒµåã.batããã³.cmdã®ãã¡ã€ã«ïŒã䜿çšããããšã«æ £ããŠããå ŽåãPowerShellã§äœæ¥ãéå§ããã®ã¯é£ããã¿ã¹ã¯ã®ããã«æããŸãã ãããªã³ãŒã¹ã®2çªç®ã®ã¬ãã¹ã³ã®è³æã«åºã¥ããŠæžããããã®èšäºã§ã¯ãPowerShellã§ã¹ãã«ãæŽæ°ããæ¹æ³ãšçç±ã説æããPowerShellãšãã£ã¿ãŒã®èµ·åã®åºæ¬ãåæããã³ãã³ããèªåè£å®ããæ¹æ³ãšå°é£ãªç¶æ³ã§é¢é£æ§ãåŸãæ¹æ³ãåŠç¿ããŸããã«ããšäŸã
ã³ãã³ãå®è¡
PowerShellã³ã³ãœãŒã«ã¯ãããŸããŸãªã³ãã³ãããªã¢ã«ã¿ã€ã ã§å®è¡ã§ãã察話åç°å¢ã§ãã ããã§ã¯ãæåã«ã¡ã¢åž³ã§ã¹ã¯ãªãããç·šéããå¿ èŠã¯ãããŸããããã®åŸãã³ãã³ãã©ã€ã³ã§ã¹ã¯ãªãããå®è¡ããã ãã§ãæéãå€§å¹ ã«ç¯çŽã§ããŸãã
çŸåšã1æ¥ä»¥äžååšããçµç¹ã§äœæ¥ããŠããå Žåã¯ãcmd.exeã³ãã³ãã©ã€ã³ããå®è¡ããæ¯æ¥ã®å°ããªã¹ã¯ãªããããã§ã«ããã€ãããå¯èœæ§ããããŸãã ãããŠããã¯çŽ æŽããããã¥ãŒã¹ã§ãïŒ ãã®ãããPowerShellããããããã¹ãŠãç°¡åã«å®è¡ã§ããŸãã ãã€ã¯ããœããã«ããèšèšäžã®æ±ºå®ã¯æ¬åœã«è³¢æãªãã®ã§ãã£ãããã管çè ã«ãšã£ãŠæ°ãããœãªã¥ãŒã·ã§ã³ãžã®ç§»è¡ã容æã«ãªããŸããã
å€èŠ³ã§ã¯ãPowerShellãšãã£ã¿ãŒã¯ãcmd.exeã³ãã³ãã©ã€ã³ç°å¢ãšåãããã«èŠããæ©èœããŸãã æ¢ã«ææããŠãããã¯ããã¯ãšã¹ãã«ã¯ãPowerShellã§å€æŽããããšãªãæ©èœããŸãã ãŸããã¹ãã«ãåäžããã1åéãã®ã¿ã¹ã¯ã®å®è¡ããããèªååããã管çã®æäŸãžã®ç§»è¡ã«åãçµãã§ããå Žåã¯ãã³ãã³ãã©ã€ã³ã§ã¯ãªãPowerShellãèµ·åããã®ãè¯ãæ¹æ³ã§ãã
pingãipconfigãnslookupãªã©ãäžè¬çã«äœ¿çšããããã¹ãŠã®ãŠãŒãã£ãªãã£ã¯ãæåŸ ã©ããã«æ©èœããŸãã
PowerShellã³ãã³ããèŠã€ããæ¹æ³
PowerShellã¯ã匷åã§ããããã人ã ã¯PowerShellã倧奜ãã§ãã ãããããã®ãã¯ãŒã¯ãå®å šã«ç°åžžãªéã®çµã¿èŸŒã¿æ©èœã«ç±æ¥ããŠããŸãã PowerShellã«äœããã¹ãããäŒããããã«ãããããçš®é¡ã®ã³ãã³ããã³ãã³ãã¬ããããã©ã°ããã£ã«ã¿ãŒããã®ä»ã®æ¹æ³ãèŠããŠããã®ã¯äžå¯èœã§ãããããããå®çšçã§ã¯ãããŸããã
幞ããªããšã«ãããã€ãã®ããŒã«ããšãã£ã¿ãŒã«çµã¿èŸŒãŸããŠãããããã«å¯ŸåŠããã®ã«åœ¹ç«ã¡ãŸãã
TabããŒãæŒããŠã³ãã³ããèªåè£å®ãã
ããŸããŸãªã³ãã³ããã³ãã³ãã®æ£ç¢ºãªã¹ãã«ãèšæ¶ããå¿ èŠã¯ãããŸããã ãã€ã€ã«
get-c
ããã§ãTabããŒãæŒãããšã«ããããã§ã«å ¥åããæåã§å§ãŸããã¹ãŠã®äœ¿çšå¯èœãªã³ãã³ããå埩åŠçã§ããŸãã ããã«ãåç §ããããšããŠããã³ãã³ãã®æ¬æã®ã©ã®éšåã§ãæ©èœããŸããã³ãã³ãã®ååãšãã©ã°ãããã«ã¯ãã¡ã€ã«ã·ã¹ãã äžã®å®å šãªãã¹ã®å®æã§ãã
Get-Command
ã¿ãè£å®ã¯æ£åžžã«æ©èœããŸãããå¿ èŠãªã³ãã³ãã®æ£ããååãããããªãå Žåã¯ã©ããªããŸããïŒ ãã®å Žåãã³ãã³ãã䜿çšããŠä»ã®äœ¿çšå¯èœãªã³ãã³ããèŠã€ããããšãã§ããŸãïŒGet-Commandã
ããŒã åãæ¢ãå Žåãæ§æã«ã¯åè©ãšåè©ãããããšã«æ³šæããããšãéèŠã§ãã éåžžã次ã®ãããªåè©-ååŸãèšå®ãè¿œå ãæ¶å»ãèªã¿åããšæžã蟌ã¿ãããã³åè©-ãããã¯ãŒã¯ããã³ã¢ããªã±ãŒã·ã§ã³å ã®ãã¡ã€ã«ããµãŒããŒããŸãã¯ãã®ä»ã®ãšã³ãã£ãã£ã
Get-Commandã¯ãã³ã³ãã¥ãŒã¿ãŒã§äœ¿çšå¯èœãªã³ãã³ããèŠã€ããŠåŠç¿ããããã®ããŒã«ã§ãã
PowerShellã®ã³ãã³ãæ§æ
誰ããPerlã¹ã¯ãªããèšèªããå®è¡å¯èœãªã³ãŒãè¡ããã®ãã€ãºãïŒå ã ãå®è¡å¯èœãªè¡ãã€ãºãïŒãšåŒãã§ããŸãã-éåžžã«äŸ¿å©ãªããŒã«ã§ãéåžžã«äžéæãªæ§æã§ããããããã£ãŠããããåŠç¿ããããã®é«ãå ¥åãããå€ããããŸãã
ãã ãããããèŠããšãWindowsã®åŸæ¥ã®ã³ãã³ãã©ã€ã³ã¯ããã»ã©é ããããŸããã ååããfooãã§å§ãŸããã£ã¬ã¯ããªå ã®ãã¹ãŠã®ãã¡ã€ã«ãæ€çŽ¢ããäžè¬çãªã¿ã¹ã¯ãèããŸãã
CMD: FOR /D /R %G IN (âFoo*â) DO @ECHO %G
FORããã³DOã¯ããããã«ãŒãã§ããããšã瀺ããŸãã
/ Dãã©ã°ã¯ããã¹ãŠã®ãã©ã«ããŒã埪ç°ããããšã瀺ããŸã
/ Rãã©ã°ã¯ããµããã£ã¬ã¯ããªãå«ããã¹ãŠã®ãã¡ã€ã«ãšãã©ã«ããŒãå«ããããšã瀺ããŸã
èå³ã®ãããã¡ã€ã«ã®ã»ãããå®çŸ©ããæ€çŽ¢ãã¿ãŒã³ã¯ãINãã§ç€ºãããŸã
ECHOã¯ãã¹ã¯ãªãããåãµã€ã¯ã«ã®çµæã衚瀺ããæåŸã«è¡šç€ºããããšã瀺ããŸã
ïŒ Gã¯ã匷å¶ãã©ã¡ãŒã¿ãŒãã§ãããMicrosoftããã°ã©ããŒãéçºæã«ä»¥åã«æåAãDãFãNãPãSãTãããã³Xã䜿çšããŠããããã«éžæãããŸãããã«ã ããã«ãããè¿ãããå€æ°ïŒGãHãIãJãKãLãMïŒã®ãã¹åœ¢åŒã§äœ¿çšãããªãæåã®æ倧ã»ãããåŸãããŸããã€ãŸããããã¯ã©ã€ãããã¯ã§ãã
PowerShellã§åçã®ãã®ãæ¯èŒããŸãã
PowerShell: Get-ChildItem -Path C:\ -Filter 'Foo*'
çµæã¯åãã§ããããã®ãããªããªãäºçŽ°ãªäŸã§ãã£ãŠããäœãèµ·ãã£ãŠããã®ããç解ããã®ã¯ã¯ããã«ç°¡åã§ãã ããŒã ã®åèŠçŽ ãäœãããã©ã®ããã«ããããå€æŽã§ããããããã«æããã«ãªããŸãã ãããããäž¡æ¹ã®äŸã§ã¯ã€ã«ãã«ãŒãæåã*ãã䜿çšãããŠãããããããŸãããããã¹ãŠã®èŠçŽ ã¯ãFooãã§å§ãŸããæåŸã«äœãä»ã®ãã®ã§ãªããã°ãªããªãããšããã§ã«ããç¥ã£ãŠãããšæããŸãã
ããªãã®æ°åãåŸã ã«æ¹åããŠããã®ãæããŸããïŒ ã§ã¯ããã¹å ã®ãã¡ã€ã«ã®ã¿ïŒãã©ã«ããŒã§ã¯ãªãïŒãéžæããæ¹æ³ãç¥ãããå Žåã¯ã©ãã§ããããã ããã¥ã¢ã«ã調ã¹ãããšãã§ããŸããããããšãããªãã®èŠªåã§ããGoogleãããªããå©ããŠãããŸããããããšãã³ãã³ãã©ã€ã³ãããããç解ããããšããŸããïŒ ã¡ãã£ãšãããã³ãïŒPowerShellã䜿çšããŠããå Žåã¯ãã-ããšå ¥åããŠTabããŒãæŒããå¿ èŠãªãã©ã°ãã¹ã¯ããŒã«ããŠãæãããªè§£æ±ºçã衚瀺ããŸãã
1ã€ã®é·ãæååãšãªããžã§ã¯ã
ãµã€ãããªã³ã©ã€ã³ã§ãªããã°ã誰ããµã€ããå¿ èŠãšããŸããã ã ããããã人ã ã¯æœæ°ŽèŠãœããŒã®ãµããããŠããµãŒããŒã®å¯çšæ§ããpingãããããã«èšå€§ãªæéãè²»ããã®ã§ãïŒãããããåŒã°ããŠããŸã ïŒã
Pingã³ãã³ãããã®åºåã¯äŸ¿å©ã§ããïŒPowerShellã³ã³ãœãŒã«ã§ãpingã䜿çšã§ããŸãïŒãæçµçã«ã¯é·ããŠé·ãè¡ã«ãªããŸã-äžé£ã®æåãšæ°åã®éã«ããã€ãã®äžæããããŸãã
PowerShellã«ã¯Pingã«äŒŒãã³ãã³ãããããŸãããæ§é åãããæ¹æ³ã§ããŒã¿ãè¿ããŸãã ããã¯Test-Connectionã³ãã³ãã§ãã
以äžã¯ãå®å šã«ç°ãªãå®å šã«æ§é åããã圢åŒã§ãDCããµãŒããŒãšãã±ããã亀æãããã®ã³ãã³ãã®åäœã®çµæã§ãã
èªãã®ãã¯ããã«ç°¡åã§ããããšã¯èšããŸã§ããããŸããããäž»ãªããšã¯ããã®æ å ±ãå¥ã®ããŒã ã®å ¥åã«è»¢éããããã«å€§ããªæçšæ§ãäžããããšãã§ããããšã§ãïŒãã«ãããªã³ãŒã¹ã¯ãã®ããã«èšèšãããŠããŸãïŒããŸãã¯åçŽã«æ§æããããšã§ããã£ãšçã«ããªã£ãŠããŸãã
çµã¿èŸŒã¿ã®ãã«ã
ãã®ç¬éãŸã§ãTabã¢ããªã³ã䜿çšããŠç¹å®ã®ã³ãã³ããå®è¡ããããšã«çŠç¹ãåœãŠãŠããŸããããPowerShellã䜿ãå§ãããšããã«ãããè€éãªãã©ã¡ãŒã¿ãŒã§ããå€ãã®ã³ãã³ãããŸããŸãè€éã«ãªããŸãã Verb-Nounæ§æã圹ç«ã¡ãŸãããããã«å€ãã®å¯çšæ§ãæå ã«ãããŸãã
1.å®éã®ããã¥ã¡ã³ã
2.è±å¯ãªäŸ
ã³ãã³ãã¬ããã®ãã«ã
å®éã«ã¯ãGet-Commandã³ãã³ããçµã¿åãããŠïŒäœ¿çšãããã®ãèŠã€ããïŒãGet-Helpã䜿çšããŠãã®ç¹å®ã®ã³ãã³ãã®äœ¿çšæ¹æ³ã確èªããå¿ èŠããããŸãã
ãããè¡ãæ¹æ³ã®å®çšçãªäŸïŒã³ã³ãã¥ãŒã¿ãŒã§å®è¡äžã®ãã¹ãŠã®WindowsãµãŒãã¹ã決å®ããå¿ èŠããããšããŸãããã
éå§ããã«ã¯ããµãŒãã¹ãšå¯Ÿè©±ããã³ãã³ããæ¢ãããšãã§ããŸãã
Get-Command service
ããªãã¯æ£ããéãé²ãã§ãããšããã«ããããŸãã PowerShell Verb-Nounã³ãã³ãã®æšæºæ§æã«æ»ãããšãæ€èšããéããGet-Serviceãã³ãã³ããæ£ãã䜿çšããæ¹æ³ãç解ããããšæããŸãã
Get-Service Microsoftããã¥ã¡ã³ã
ãããè¡ãã«ã¯ããGet-Helpãã³ãã³ãã䜿çšããŸãã å ¥åãéå§
ãGet-Help-ããTabããŒãæŒããŸã
䜿çšå¯èœãªãªãã·ã§ã³ãããã«èŠã€ãããŸãã1ã€ã®ãååããæãé©ããŠãããããè©ŠããŠã¿ã䟡å€ããããŸãã
Get-Help -Name Get-Service
å®å šãªã³ãã³ãæ§æïŒããã³ãã£ã«ã¿ãŒã«åºã¥ããŠæå¹ãŸãã¯é€å€ã§ãããªãã·ã§ã³ïŒãããã«è¡šç€ºãããŸãã
ã³ãã³ããããã«è©³ãã調ã¹ãŠãåãã©ã¡ãŒã¿ãŒãŸã§è©³ãã説æããå Žåã¯ã次ã®ããã«å ¥åããŸãã
Get-Help -Name Get-Service - Parameter Name
PowerShellã®äŸã«é¢ãããã«ã
ç§ãã¡ã¯ç人éã§ãããGoogleãããã«äžå¿«æãäžããããšãªããç§ãã¡ã¯çããªãã¿ã®ãªããã®ãåŠã³ãå¿ èŠãªãã®ãå®çŸããããã«ç解ã§ãã圢ã«ãããšãã«å æããªããã°ãªããªãç¬èªã®å¿ççé害ãæã£ãŠããŸãã
ã-examplesããå ¥åãããããGet-Helpãã³ãã³ãã«ã-detailããã©ã°ãè¿œå ãããšãã³ãã³ãã®äœ¿çšäŸã衚瀺ãããŸãã
ããšãã°ãã³ãã³ãã®åºåã¯æ¬¡ã®ãšããã§ãã
Get-Help -Name Get-Service -Examples
ææ°ã®ç¶æ ã«ä¿ã€
å£ããäŸããŸãã¯ããã¥ã¡ã³ããšã©ãŒã®ããäŸãããæãããããšã§ãã å€ãã®å Žåãããã¯å€ãããã¥ã¡ã³ãã誀ã£ãäŸããŸãã¯æŽæ°ãããã©ã€ãã©ãªãåå ã§çºçããŸãã
ãããã®åé¡ãåé¿ããåæã«æ°ããäŸãšä¿®æ£ãååŸããã«ã¯ã次ã®ããã«å ¥åããŸãã
update-help
æŽæ°ãããã³ã³ããã¹ããã«ãã®ããŠã³ããŒãããã»ã¹ãéå§ãããŸãã