title: Use Alias only for parameters in function
body: <p>How can i use alias only when i call my cmdlet function ? </p>
  
  <p>This is my code</p>
  
  <pre><code>Function Deploy-Citrix {
  [cmdletBinding(SupportsShouldProcess=$True)]
  Param(
  
   [Parameter(Mandatory=$true)]
   [Alias("component")]
   [ValidateNotNullOrEmpty()]
          [string]$componentparam,
  
   [Parameter(Mandatory=$true)]
   [Alias("ip")]
   [ValidateNotNullOrEmpty()]
          [string]$ipaddressparam,
          )
  </code></pre>
  
  <p>In this case for the second parameter for example, i can use the alias <code>-ip</code> but i can also use <code>-ipaddressparam</code>. </p>
  
  <pre><code>Deploy-citrix -componentparam "toto" -ipaddressparam "172.22.0.100"
  Deploy-citrix -component "toto" -ip "172.22.0.100"
  </code></pre>
  
  <p>I can use both, but i want to disable the first one, i want to have alias only.</p>
  
  <p>I know i can rename my variable, but i don't want to touch them in the whole script.</p>
  
  <p>How can i achieve that?</p>
  
  <p>I'm using Powershell V4.0</p>
  
  <p>Thanks</p>