¿Cuál es el problema con los parámetros del conmutador de comandos de Powershell que requieren dos puntos?Powershell: dos puntos en los parámetros del comando
Considere el cmdlet de shell de administración de Exchange 2010 Move-ActiveMailboxDatabase. El modificador Confirm es una System.Management.Automation.SwitchParameter
y debe ser utilizado como tal,
Move-ActiveMailboxDatabase -Confirm:$false
Sin colon el comando no reconoce el interruptor no confirman como tal,
Move-ActiveMailboxDatabase -Confirm $false
¿Por qué? ¿Cuál es la diferencia que el colon hace allí? ¿Por qué Exchange2010 parece ser la única cosa que noté este comportamiento?
He navegado a través de Powershell en acción y Powershell 2.0, pero no encontré nada sobre esta sintaxis. Sin embargo, la resolución de alcance y los usos de acceso a objetos .Net están documentados en esos libros.
Mi Google-fu encontró un article que afirma que reenvía explícitamente los valores del parámetro de conmutación, pero no explica de qué se trata.
No la respuesta completa - No conozco el ejemplo de Buzones, pero en muchos otros casos (por ejemplo, 'Set-SMBServerConfiguration'), el efecto de' -Confirm: $ false' es diferente de su ausencia. Puedo usar '-Confirm: $ false' or' -Force'; de lo contrario, necesito confirmarlo. – Lamarth