{"id":949,"date":"2010-06-22T02:09:39","date_gmt":"2010-06-21T17:09:39","guid":{"rendered":"http:\/\/livedevil.net\/?p=949"},"modified":"2010-06-22T02:09:39","modified_gmt":"2010-06-21T17:09:39","slug":"powershell-%ea%b0%9c%ec%b2%b4object%ec%99%80-%ed%8c%8c%ec%9d%b4%ed%94%84%eb%9d%bc%ec%9d%b8-pipeline","status":"publish","type":"post","link":"https:\/\/talsu.net\/?p=949","title":{"rendered":"Powershell \uac1c\uccb4(Object)\uc640 \ud30c\uc774\ud504\ub77c\uc778 (pipeline)"},"content":{"rendered":"<p>\ub2e4\ub978 \uc5ec\ub7ec Shell\ub4e4\uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c Powershell \uc5ed\uc2dc \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc9c0\uc6d0 \ud55c\ub2e4. \uc5ec\uae30\uc11c \ud30c\uc774\ud504\ub77c\uc778\uc774\ub780 \uba85\ub839\ub4e4\uc774 \uc774\uc5b4 \uc9c0\uba74\uc11c \uc55e \uba85\ub839\uc758 \ucd9c\ub825\uc774 \ub4a4 \uba85\ub839\uc758 \uc785\ub825\uc774 \ub418\ub294 \ubc29\uc2dd\uc744 \ub9d0\ud55c\ub2e4.<\/p>\n<p>\uba85\ub839 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uacfc \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \ucd9c\ub825\uc744 \uc9c1\uc811(\ubcc0\uc218 \ub4f1\uc744 \ud1b5\ud574) \uc804\ub2ec\ud558\ub294 \ubc29\uc2dd\uc740 \ud070 \ucc28\uc774\uc810\uc774 \uc788\ub2e4.<br \/>\n\ud30c\uc774\ud504\ub77c\uc778\uc744 \uc0ac\uc6a9 \ud560 \ub54c\uc5d0\ub294 \uc55e\uc758 \uba85\ub839\uc774 \uc644\uc804\ud788 \ub05d\ub0a0\ub54c(\ubaa8\ub4e0 \ucd9c\ub825\uc774 \uc885\ub8cc\ub420\ub54c) \uae4c\uc9c0 \ub300\uae30 \ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c. \uc55e\ub4a4\uc758 \uba85\ub839\uc774 \ud558\ub098\uc758 \uba85\ub839\ucc98\ub7fc \uc5f0\uacb0\ub418\uc5b4 \ucd9c\ub825\uc774 \ub098\uc62c\ub54c \ub9c8\ub2e4 \uac01 \ud56d\ubaa9\uc774 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c \uc804\ub2ec \ub418\uc5b4 \uac1c\ubcc4\uc801\uc73c\ub85c \ub3d9\uc791 \ud55c\ub2e4. \ubb3c\ub860 \ucd5c\uc885 \ucd9c\ub825\ub3c4 \ud56d\ubaa9\ub9c8\ub2e4 \uc989\uc2dc \ud655\uc778 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>Text\ub97c \uc785 \ucd9c\ub825 \ud558\ub294 \ud0c0 Shell\ub4e4\uacfc \ub2e4\ub974\uac8c  .Net Framework \uae30\ubc18\uc778 Powershell\uc740 \ubaa8\ub4e0 \uc785 \ucd9c\ub825\uc758 \uac1c\uccb4\ub85c \uc774\ub8e8\uc5b4\uc9c4\ub2e4. Text\ub77c \ud560 \uc9c0\ub77c\ub3c4 \uadf8\uac83\uc740 String \uac1c\uccb4\uc774\ub2e4. \ub530\ub77c\uc11c \ud30c\uc774\ud504\ub77c\uc778\uc73c\ub85c \uc804\ub2ec\ub418\ub294 \ud56d\ubaa9\uc5ed\uc2dc \uc77c\ubc18\uc801\uc778 Text\uac00 \uc544\ub2c8\ub77c. \ucd9c\ub825\uc5d0 \ud574\ub2f9 \ub418\ub294 \uac1c\uccb4\uc774\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4 \uba54\ubaa8\uc7a5(notepad)\uc744 \ub744\uc6b0\uace0 \uba54\ubaa8\uc7a5 Process\ub97c \ucc3e\uae30 \uc704\ud574 \ub2e4\uc74c \uba85\ub839\uc744 \uc785\ub825 \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\nGet-Process -Name notepad\n<\/pre>\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 (\ube44\uc2b7\ud558\uac8c) \uacb0\uacfc\uac00 \ubcf4\uc77c \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\nHandles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName\n-------  ------    -----      ----- -----   ------     -- -----------\n    107       9     3080       9120   112     0.02   4256 notepad\n<\/pre>\n<p>\uc774\uac83\uc740 \ub2e8\uc21c\ud55c \ud14d\uc2a4\ud2b8 \ucd9c\ub825\uc774 \uc544\ub2c8\ub77c. \uc2e4\uc81c \uba54\ubaa8\uc7a5\uc758 .Net Process \uac1c\uccb4(System.Diagnostics.Process)\uac00 \ubc18\ud658\ub41c \uac83\uc774\ub2e4. \uac8c\ub2e4\uac00 \ub9ac\ud134 \ubc1b\uc740 \uac1c\uccb4\uc758 Property\ub97c get, set \ud558\uac70\ub098 Method\ub3c4 \uc790\uc720\ub86d\uac8c \ud638\ucd9c \ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>\uac1c\uccb4\uc758 \uad6c\uc870\ub97c \ud30c\uc545 \ud558\uae30 \uc704\ud574\uc120 Get-Member \uba85\ub839\uc744 \uc774\uc6a9 \ud560 \uc218 \uc788\ub294\ub370 \ub2e4\uc74c\uacfc \uac19\uc774 \ud30c\uc774\ud504 \ub77c\uc778\uc73c\ub85c \uc804\ub2ec \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\nGet-Process -Name notepad | Get-Member\n<\/pre>\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\ub97c \uc5bb\uc744 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\n   TypeName: System.Diagnostics.Process\n\nName                       MemberType     Definition\n----                       ----------     ----------\nHandles                    AliasProperty  Handles = Handlecount\nName                       AliasProperty  Name = ProcessName\nNPM                        AliasProperty  NPM = NonpagedSystemMemorySize\nPM                         AliasProperty  PM = PagedMemorySize\nVM                         AliasProperty  VM = VirtualMemorySize\nWS                         AliasProperty  WS = WorkingSet\nDisposed                   Event          System.EventHandler Disposed(System.Object,\nErrorDataReceived          Event          System.Diagnostics.DataReceivedEventHandler\nExited                     Event          System.EventHandler Exited(System.Object, S\nOutputDataReceived         Event          System.Diagnostics.DataReceivedEventHandler\nBeginErrorReadLine         Method         System.Void BeginErrorReadLine()\nBeginOutputReadLine        Method         System.Void BeginOutputReadLine()\nCancelErrorRead            Method         System.Void CancelErrorRead()\nCancelOutputRead           Method         System.Void CancelOutputRead()\n...\n<\/pre>\n<p>TypeName \ud56d\ubaa9\uc774 System.Diagnostics.Process \uc774\uace0 \ubaa8\ub4e0 Member\ub4e4\uc744 \ud655\uc778 \ud560 \uc218 \uc788\uc744 \uac83\uc774\ub2e4. Get-Member\ub85c \uc804\ub2ec\ud558\uc9c0 \uc54a\uace0 \ucd9c\ub825 \ud588\uc744 \ub54c \ud56d\ubaa9\ub4e4\uc774 AliasProperty\ub85c \uc9c0\uc815\ub418 \uc788\uc74c\uc744 \uc8fc\ubaa9\ud558\uc790.<\/p>\n<p>\uc774 \uac1c\uccb4\uc758 Kill() Method\ub97c \ud638\ucd9c\ud558\uc5ec notepad\ub97c \ub2eb\uc544 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\n$NotePadProc = Get-Process -Name notepad\n<\/pre>\n<p>$NotePadProc \ub294 \uc774\uc81c notepad Process\uac1c\uccb4\uc774\ub2e4. \ub9cc\uc57d notepad \uac00 \ud558\ub098\uc774\uc0c1 \uc788\uc5c8\ub2e4\uba74 Collection(Array) \ud615\ud0dc\ub85c \uc874\uc7ac \ud560 \uac83\uc774\ub2e4.<\/p>\n<p>Pipeline\uacfc Foreah-Object \ub97c \uc774\uc6a9\ud558\uc5ec notepad Process\ub97c \ubaa8\ub450 \ub2eb\uc544\ubcf4\uc790.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\n$NotePadProc | Foreach-Object { $_.Kill() }\n<\/pre>\n<p>$_\ub294 Collection\uc694\uc18c \uc911 \ud558\ub098\uc774\ub2e4. \uc989 $_\uc5d0 \uc218\ud589\ud558\uba74 Collection\uc758 \ubaa8\ub4e0 \uc694\uc18c\uc5d0 \uc218\ud589 \ud55c\ub2e4.<\/p>\n<p>\ub9cc\uc57d notepad Process\uac00 \ud558\ub098\ub9cc \uc788\uc5c8\ub2e4\uba74 \ub2e4\uc74c \uba85\ub839\uc73c\ub85c\ub3c4 \ucda9\ubd84\ud558\ub2e4.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\n$NotePadProc.Kill()\n<\/pre>\n<p>\uc704 \ubc29\ubc95 \ub9d0\uace0\ub3c4 Process \ub97c \uc911\uc9c0 \uc2dc\ud0a4\ub294 Cmdlet\uc778 Stop-Process \ub97c \ud65c\uc6a9 \ud560 \uc218 \uc788\ub2e4. \uc774\ubc88\uc5d0\ub3c4 \uc5ed\uc2dc Get-Process\ub85c Process\uac1c\uccb4\ub97c \uc5bb\uace0 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc774\uc6a9\ud558\uc5ec \uc804\ub2ec \ud574 \ubcf4\uc790.<\/p>\n<p>\uba3c\uc800 notepad\ub97c \uc5ec\ub7ec\uac8c \uc2e4\ud589 \uc2dc\ud0a4\uace0 \ub2e4\uc74c\uc744 \uc2e4\ud589 \ud55c\ub2e4.<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\nGet-Process notepad | Stop-Process\n<\/pre>\n<p>\ubaa8\ub4e0 notepad\ub4e4\uc774 \uc885\ub8cc \ub420 \uac83\uc774\ub2e4.<\/p>\n<p>\uc5ec\uae30\uc11c \uc8fc\uc758 \ud560 \uc810\uc740 Get-Process \uc5d0\uc11c notepad\ud56d\ubaa9\uc774 \ud558\ub098\uc529 \ubc1c\uacac \ub420\ub54c \ub9c8\ub2e4 \uc989\uc2dc Stop-Process\ub85c \uc804\ub2ec\ub418\uc5b4 \ucc98\ub9ac \ub418\uace0 Get-Process\ub294 \uacc4\uc18d \ub2e4\uc74c notepad\ub97c \ucc3e\uc544\uc11c Stop-Process\ub85c \uc804\ub2ec \ud55c\ub2e4\ub294 \uac83\uc774\ub2e4..<\/p>\n<p>\ub2e4\uc2dc notepad\ub97c \uc5ec\ub7ec\uac8c \uc2e4\ud589\uc2dc\ud0a4\uace0 \uc774\ubc88\uc5d4 Pipeline \uc5c6\uc774 \uc218\ud589\ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps decode:true\">\n$NoteProcs = Get-Process notepad\nStop-Process $NoteProcs\n<\/pre>\n<p>\uc5d0\ub7ec\uac00 \ubc1c\uc0dd \ud560 \uac83\uc774\ub2e4. \uc774\uc720\ub294 Stop-Process \uba85\ub839\uc740 Process Id\ub97c \uc785\ub825\uc73c\ub85c \ubc1b\ub294\ub370 $NoteProcs\uc774 Process \uac00 \uc544\ub2cc Collection(Object[]) \uc774\uae30 \ub54c\ubb38\uc774\ub2e4. \ud30c\uc774\ud504 \ub77c\uc778 \uc0c1\uc5d0\uc11c\ub294 Process\ub97c \ubc1c\uacac \ud560\ub54c\ub9c8\ub2e4 Stop-Process\ub85c \uc804\ub2ec \ub418\uc5c8\uc9c0\ub9cc \uc5ec\uae30\uc120 \uc774\ubbf8 Get-Process Cmdlet\uc774 notepad Process\ub4e4\uc744 \ubaa8\ub450 \ucc3e\uc544 Collection\uc73c\ub85c \ubc18\ud658\ud55c \uc0c1\ud0dc\uc774\ub2e4.<\/p>\n<p>\uc774\uc0c1\ud0dc\uc5d0\uc11c \uc81c\ub300\ub85c \ucc98\ub9ac \ud558\uae30 \uc704\ud574\uc120 \ub2e4\uc74c\uacfc \uac19\uc774 \ud558\ub098\uc529 Stop-Process\ub85c \uc804\ub2ec \ud574 \uc918\uc57c \ud55c\ub2e4.<\/p>\n<pre class=\"lang:ps decode:true\">\n$NoteProcs = Get-Process notepad\n\nForeach ($proc in $NoteProcs)\n{\n\tStop-Process $proc.Id\n}\n\nStop-Process $NoteProcs\n<\/pre>\n<p>\ud639\uc740<\/p>\n<pre class=\"lang:ps decode:true\">\n$NoteProcs = Get-Process notepad\n$NoteProcs | Foreach-Object { Stop-Process $_.Id }\n<\/pre>\n<p>\uc774\uc640 \uac19\uc774 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc798 \ud65c\uc6a9\ud558\uba74 \ubcf5\uc7a1\ud55c Command\ub97c \uac04\uacb0\ud558\uac8c \uc791\uc131 \ud560 \uc218 \uc788\uace0 \uc5ec\ub7ec \uacfc\uc815\uc774 \ub3d9\uc2dc\uc5d0 \uc77c\uc5b4 \ub098\uae30 \ub54c\ubb38\uc5d0 \uc0c1\ud669\uc5d0 \ub530\ub77c \ub354 \uc88b\uc740 \ud37c\ud3ec\uba3c\uc2a4\ub97c \uae30\ub300 \ud560 \uc218\ub3c4 \uc788\ub2e4. \uac8c\ub2e4\uac00 \uac1c\ubcc4\uc801\uc73c\ub85c \uc989\uc2dc \ucc98\ub9ac \ub418\uae30 \ub54c\ubb38\uc5d0 \uce90\uc26c \ud558\ub294 \ubd80\ubd84\uc774 \uc801\uc5b4 \ub9ac\uc18c\uc2a4\ub97c \uc808\uc57d \ud558\ub294 \ud6a8\uacfc\ub3c4 \uae30\ub300 \ud560 \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Powershell Object and Pipeline<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[27],"tags":[118,125,126,182,187,481,237],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pXV5a-fj","_links":{"self":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/949"}],"collection":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=949"}],"version-history":[{"count":0,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/949\/revisions"}],"wp:attachment":[{"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}