{"id":1225,"date":"2010-09-13T15:15:17","date_gmt":"2010-09-13T06:15:17","guid":{"rendered":"http:\/\/livedevil.net\/?p=1225"},"modified":"2010-09-13T15:15:17","modified_gmt":"2010-09-13T06:15:17","slug":"powershell-parameter-attribute","status":"publish","type":"post","link":"https:\/\/talsu.net\/?p=1225","title":{"rendered":"Powershell &#8211; Parameter Attribute"},"content":{"rendered":"<p>Powershell Cmdlet, Function\uc744 \uc774\uc6a9 \ud558\ub2e4 \ubcf4\uba74 \uba85\ub839 \ub4a4\uc758 Parameter\ub97c \ud544\uc218 \uc801\uc73c\ub85c \uc785\ub825\uc744 \uc694\uad6c \ud560 \ub54c\uac00 \uc788\ub2e4. \ub610 \uba85\ub839\uc5b4 \ub4a4\uc5d0 -[parameter\uba85] \uc744 \ubd99\ud788\uc9c0 \uc54a\uace0 \uacf5\ubc31\uc73c\ub85c \uad6c\ubd84\ud558\uc5ec \uc785\ub825 \ud558\uba74 \uc790\ub3d9\uc73c\ub85c \uc21c\uc11c\ub300\ub85c Parameter\ub97c \uc778\uc2dd \ud558\ub294\ub370 \uc774\ub7f0 \ub3d9\uc791\ub4e4\uc740 Cmdlet, Function \ub0b4\ubd80\uc5d0 \uc9c4\uc785 \ud558\uae30 \uc804\uc5d0 Parameter Attribute \uc5d0 \uc758\ud574\uc11c \uc870\uc808 \ub41c\ub2e4.<\/p>\n<p>\uc989 \uaf2d \ud544\uc694\ub85c \ud558\ub294 Parameter\ub97c Cmdlet \uc548\uc5d0\uc11c $null \uccb4\ud06c\ub97c \ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c (\ud560 \uc218\ub3c4 \uc788\uaca0\uc9c0\ub9cc), Parameter Attribute \uc5d0 \uc758\ud574\uc11c \uac12\uc774 \uccb4\ud06c \ub418\uace0 \ud1b5\uacfc \ud558\uc9c0 \uc54a\uc73c\uba74 \uc790\ub3d9\uc73c\ub85c Parameter\ub97c \ubb3c\uc5b4 \ubcf8\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uc5b4<\/p>\n<pre class=\"lang:ps nums:false decode:true\">\nSet-ExecutionPolicy\n<\/pre>\n<p>\ub97c \uc785\ub825 \ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 ExecutionPolicy \ub97c \ubb3c\uc5b4 \ubcfc \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\nPS D:myScripts> Set-ExecutionPolicy\n\ncmdlet Set-ExecutionPolicy(\uba85\ub839 \ud30c\uc774\ud504\ub77c\uc778 \uc704\uce58 1)\n\ub2e4\uc74c \ub9e4\uac1c \ubcc0\uc218\uc5d0 \ub300\ud55c \uac12\uc744 \uc81c\uacf5\ud558\uc2ed\uc2dc\uc624.\nExecutionPolicy:\n<\/pre>\n<p>\ubb3c\ub860 \ub2f9\uc5f0\ud558\uac8c \ub290\uaef4 \uc9c4\ub2e4. \uc2e4\ud589 \uc815\ucc45(Execution Policy)\uc744 \uc124\uc815(Set) \ud55c\ub2e4\uace0 \ud588\ub294\ub370 \uc5b4\ub5a4 \uac12\uc73c\ub85c Set \ud560\uc9c0 \uc54c\ub824 \uc8fc\uc9c0 \uc54a\uc558\uae30 \ub54c\ubb38\uc5d0 \ub2f9\uc5f0\ud788 Cmdlet \uc774 ExecutionPolicy \uac12\uc744 \uc694\uad6c \ud55c\ub2e4.<\/p>\n<p>\uc774\uac83\uc740 Set-ExecutionPolicy Cmdlet \ub0b4\ubd80 Process \uc5d0 \uc815\uc758 \ub418\uc5b4 \uc788\ub294 \uac83\uc774 \uc544\ub2c8\uace0 Parameter Attribute \uc5d0 \uc758\ud574\uc11c \uccb4\ud06c \ub418\uace0 \ub610 \uc785\ub825\uc774 \uc694\uad6c \ub418\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>\uc608\uc81c\ub85c \uac04\ub2e8\ud55c \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc791\uc815\ud558\uba74\uc11c \uc5b4\ub5bb\uac8c Parameter Attribute\ub97c \uc0ac\uc6a9 \ud558\ub294\uc9c0 \uc54c\uc544 \ubcf4\uc790.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc785\ub825\ud55c \uc774\ub984\uacfc \uc77c\uce58\ud558\ub294 \ud30c\uc77c \ub610\ub294 \ub514\ub809\ud1a0\ub9ac\ub97c \ucc3e\ub294 \uc2a4\ud06c\ub9bd\ud2b8 Search-Item.ps1 \uc774\ub2e4.<\/p>\n<pre class=\"lang:ps decode:true\">\nparam ($Name)\n\nGet-ChildItem -Include $Name -Recurse\n<\/pre>\n<p>\uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc2e4\ud589 \ud574 \ubcf4\uc790. \ub9cc\uc57d \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc2e4\ud589\ud558\ub294 \ud604\uc7ac \uc704\uce58, \ub610\ub294 \ud558\uc704 \ub514\ub809\ud1a0\ub9ac\uc5d0 test \ub77c\ub294 \ud30c\uc77c\uc774 \uc788\ub2e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \uac80\uc0c9 \ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\n.Search-Item.ps1 -Name test\n<\/pre>\n<p>test \ub77c\ub294 \ud30c\uc77c\uc774 \uc874\uc7ac \ud558\uc9c0 \uc54a\uc73c\uba74 \uc544\ubb34 \uacb0\uacfc\ub3c4 \ubcfc \uc218 \uc5c6\uc744 \uac83\uc774\uace0 \uc788\ub2e4\uba74 \ub2e4\uc74c\uacfc \ube44\uc2b7\ud55c \uacb0\uacfc\ub97c \ubcfc \uc218 \uc788\uc744 \uac83\uc774\ub2e4.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\nMode                LastWriteTime     Length Name\n----                -------------     ------ ----\nd----      2010-03-24   \uc624\ud6c4 3:27            test\n<\/pre>\n<p>\uc774\ubc88\uc5d4 Parameter\ub85c \uc544\ubb34 \uac83\ub3c4 \uc785\ub825 \ud558\uc9c0 \uc54a\uace0 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc2e4\ud589 \ud574 \ubcf4\uc790.<\/p>\n<pre class=\"lang:default nums:false decode:true\">\n.Search-Item.ps1\n<\/pre>\n<p>\uc544\ub9c8\ub3c4 \ud604\uc7ac \uc704\uce58\ub97c \ud3ec\ud568\ud55c \ud558\uc704\uc758 \ubaa8\ub4e0 \ud30c\uc77c, \ub514\ub809\ud1a0\ub9ac\uac00 \ub098\uc62c \uac83\uc774\ub2e4. \ubd84\uba85 \uc798 \ubabb\ub41c \ub3d9\uc791\uc774\ub2e4.<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 Search-Item.ps1 \uc758 -Name Parameter\ub97c \uac15\uc81c\ub85c \uc785\ub825 \ud558\ub3c4\ub85d \ud558\ub294\uac83\uc774 \ud574\uacb0 \ubc29\ubc95\uc911 \ud558\ub098\uac00 \ub418\uaca0\ub2e4. \uc774 \ub54c Parameter Attribute\ub97c \uc720\uc6a9\ud558\uac8c \uc4f8 \uc218 \uc788\ub2e4.<\/p>\n<p>Search-Item.ps1\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uace0\uccd0 \ubcf4\uc790.<\/p>\n<pre class=\"lang:ps decode:true\">\nparam ([Parameter(Mandatory=$true)]$Name)\n\nGet-ChildItem -Include $Name -Recurse\n<\/pre>\n<p>Mandatory (\ud544\uc218) Property\ub97c true \ub85c \uc124\uc815 \ud588\ub2e4. \uc989 $Name Parameter\ub294 \ud544\uc218\ub85c \uc785\ub825 \ud574\uc57c \ub41c\ub2e4\ub294 \uc774\uc57c\uae30 \uc774\ub2e4. \ubb3c\ub860 $false\ub85c \uc124\uc815\ud558\uba74 \ubc18\ub300\uc758 \ud6a8\uacfc\uc774\ub2e4.<\/p>\n<p>\uadf8\ub9ac\uace0 \ub610 \ub2e4\uc2dc Parameter\ub97c \uc785\ub825\ud558\uc9c0 \uc54a\uace0 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc2e4\ud589 \uc2dc\ud0a4\uba74, \uc758\ub3c4 \ub300\ub85c Parameter\ub97c \uc694\uad6c \ud55c\ub2e4.<br \/>\n<\/br><\/p>\n<pre class=\"lang:default nums:false decode:true\">\nPS D:myScripts> .Search-Item.ps1\n\ncmdlet Search-Item.ps1(\uba85\ub839 \ud30c\uc774\ud504\ub77c\uc778 \uc704\uce58 1)\n\ub2e4\uc74c \ub9e4\uac1c \ubcc0\uc218\uc5d0 \ub300\ud55c \uac12\uc744 \uc81c\uacf5\ud558\uc2ed\uc2dc\uc624.\nName:\n<\/pre>\n<p>Parameter Attribute \uc5d0\ub294 Mandatory \uc774\uc678\uc5d0\ub3c4 \uba87\uac00\uc9c0 Property\uac00 \ub354 \uc788\ub294\ub370 \ub2e4\uc74c \ub9c1\ud06c\ub97c \ucc38\uace0 \ud55c\ub2e4.<br \/>\n<\/br><br \/>\n<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/system.management.automation.parameterattribute_properties(v=VS.85).aspx\">MSDN &#8211; ParamerterAttribute Properties<\/a><br \/>\n<\/br><br \/>\n\ub0b4\uac00 \uc990\uaca8 \uc4f0\ub294 Property \ub85c\ub294<\/p>\n<ol>\n<h4>HelpMessage<\/h4>\n<p> : \ud30c\ub77c\uba54\ud130 \uc124\uba85 \ub123\uae30<\/ol>\n<ol>\n<h4>Mandatory<\/h4>\n<p> : \ud544\uc218 Parameter<\/ol>\n<ol>\n<h4>Position<\/h4>\n<p> : Parameter \uc774\ub984\uc744 \uba85\uc2dc \ud558\uc9c0 \uc54a\uc744 \ub54c (-Name \uacfc \uac19\uc740.) Parameter\uc758 \uc704\uce58<\/ol>\n<ol>\n<h4>ValueFromPipeline<\/h4>\n<p> : true\ub85c \ud558\uba74 Pipeline\ub85c \ubc1b\uc740 \uac12\uc744 \ud574\ub2f9 Parameter\uc758 \uc785\ub825\uc73c\ub85c \ub123\uc744 \uc218 \uc788\ub2e4.<\/ol>\n<p>\uc774 \uc635\uc158\ub4e4\uc744 \uc801\ub2f9\ud788 \uc0ac\uc6a9\ud588\uc744 \ub54c Search-Item.ps1\uc740 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<h2>Search-Item.ps1<\/h2>\n<pre class=\"lang:ps decode:true\">\nparam (\n[Parameter(\n\tHelpMessage=\"Item Name\",\n\tMandatory=$true,\n\tPosition=0,\n\tValueFromPipeline=$true\n)]\n$Name,\n\n[Parameter(\n\tHelpMessage=\"Base Path\",\n\tPosition=1\n)]\n$BasePath = $(Get-Location)\n)\n\nGet-ChildItem -Path $BasePath -Include $Name -Recurse\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Powershell Cmdlet, Function\uc744 \uc774\uc6a9 \ud558\ub2e4 \ubcf4\uba74 \uba85\ub839 \ub4a4\uc758 Parameter\ub97c \ud544\uc218 \uc801\uc73c\ub85c \uc785\ub825\uc744 \uc694\uad6c \ud560 \ub54c\uac00 \uc788\ub2e4. \ub610 \uba85\ub839\uc5b4 \ub4a4\uc5d0 -[parameter\uba85] \uc744 \ubd99\ud788\uc9c0 \uc54a\uace0 \uacf5\ubc31\uc73c\ub85c \uad6c\ubd84\ud558\uc5ec \uc785\ub825 \ud558\uba74 \uc790\ub3d9\uc73c\ub85c \uc21c\uc11c\ub300\ub85c Parameter\ub97c \uc778\uc2dd \ud558\ub294\ub370 \uc774\ub7f0 \ub3d9\uc791\ub4e4\uc740 Cmdlet, Function \ub0b4\ubd80\uc5d0 \uc9c4\uc785 \ud558\uae30 \uc804\uc5d0 Parameter Attribute \uc5d0 \uc758\ud574\uc11c \uc870\uc808 \ub41c\ub2e4. \uc989 \uaf2d \ud544\uc694\ub85c \ud558\ub294 Parameter\ub97c Cmdlet \uc548\uc5d0\uc11c $null \uccb4\ud06c\ub97c [&hellip;]<\/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,25],"tags":[58,138,171,185,191,481,276,469],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pXV5a-jL","_links":{"self":[{"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/1225"}],"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=1225"}],"version-history":[{"count":0,"href":"https:\/\/talsu.net\/index.php?rest_route=\/wp\/v2\/posts\/1225\/revisions"}],"wp:attachment":[{"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/talsu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}