2014-09-09 4 views
0

내 cmdlet 함수를 호출 할 때만 별칭을 사용할 수 있습니까? 함수의 매개 변수에만 별칭 사용

예를 들어 두 번째 매개 변수에 대한이 경우 내 코드

Function Deploy-Citrix { 
[cmdletBinding(SupportsShouldProcess=$True)] 
Param(

[Parameter(Mandatory=$true)] 
[Alias("component")] 
[ValidateNotNullOrEmpty()] 
     [string]$componentparam, 

[Parameter(Mandatory=$true)] 
[Alias("ip")] 
[ValidateNotNullOrEmpty()] 
     [string]$ipaddressparam, 
     ) 

, 나는 별명 -ip를 사용할 수 있지만 나 또한 -ipaddressparam을 사용할 수 있습니다.

Deploy-citrix -componentparam "toto" -ipaddressparam "172.22.0.100" 
Deploy-citrix -component "toto" -ip "172.22.0.100" 

둘 다 사용할 수 있지만 첫 번째는 사용하지 않으려면 별칭 만 사용하고 싶습니다.

나는 내 변수의 이름을 바꿀 수 있지만 전체 스크립트에서 변수를 만지기를 원하지 않는다는 것을 알고있다.

어떻게 할 수 있습니까? 당신의 목표는 긴 형식을 허용하지 않으면 내가 파워 쉘의 V4.0을

감사

+1

왜 사용하지 않을 매개 변수 이름을 가진 함수를 만들겠습니까? – mjolinor

답변

3

을 사용하고

, 당신은 매개 변수의 이름을 변경하고, 별칭을 제거하는 수 밖에 없다.

스크립트 변경을 최소화하려면 함수 내에 변수를 만들 수 있습니다.

Function Deploy-Citrix { 
    [cmdletBinding(SupportsShouldProcess=$True)] 
    Param(
     [Parameter(Mandatory=$true)] 
     [ValidateNotNullOrEmpty()] 
     [string]$ip) 

    $ipaddressparam = $ip 
    ...