Crear una función con variables de llamada opcionales.

¿Hay una manera de crear un parámetro en una función de PowerShell a la que tenga que llamar para tenerlo en cuenta?

Un ejemplo dado por commandlet (el negrita es lo que quiero hacer):

Invoke-Command -computername Server01 -Scriptblock {...}

Aquí hay un ejemplo de lo que quiero hacer con la función

Function DoStuff($computername, -arg2, -domain $domain)
    Test-parameter(-domain) if (-domain -eq $true) {
        use $domain
    }
    Else {
        $domain = "Domain1"
    }
    test-parameter($arg2) {
        if ($arg2 -eq $true) {
            Do something
        }
        else {
            Do the opposite
        }
    }

Así que en resumen:

Si "-arg2" está presente, quiero que suceda algo en el script. Si "-Domain" está presente y tiene un argumento con él, quiero que se use en lugar del argumento set.

Respuestas a la pregunta(3)

Su respuesta a la pregunta