Saltar al contenido

Powershell: no se puede encontrar un parámetro posicional que acepte el argumento “xxx”

Después de de una prolongada compilación de información dimos con la respuesta esta problema que tienen algunos los lectores. Te ofrecemos la respuesta y esperamos servirte de gran ayuda.

Solución:

Los cmdlets en powershell aceptan un montón de argumentos. Cuando se definen estos argumentos, puede definir una posición para cada uno de ellos.

Esto le permite llamar a un cmdlet sin especificar el nombre del parámetro. Entonces, para el siguiente cmdlet, la ruta attribute se define con una posición de 0, lo que le permite omitir escribir -Path al invocarlo y, como tal, ambos funcionarán.

Get-Item -Path C:tempthing.txt
Get-Item C:tempthing.txt

Sin embargo, si especifica más argumentos que parámetros posicionales definidos, obtendrá el error.

Get-Item C:tempthing.txt "*"

Como este cmdlet no sabe cómo aceptar el segundo parámetro posicional, obtiene el error. Puede solucionar esto diciéndole cuál debe ser el parámetro.

Get-Item C:tempthing.txt -Filter "*"

Supongo que está recibiendo el error en la siguiente línea de código, ya que parece ser el único lugar donde no está especificando correctamente los nombres de los parámetros, y tal vez esté tratando el = como un parámetro y $username como otro parámetro.

Set-ADUser $user -userPrincipalName = $newname

Intente especificar el nombre del parámetro para $usuario y eliminar el =

Tuve este problema después de convertir mi Write-Host cmdlets para Write-Information y me faltaban comillas y paréntesis alrededor de los parámetros. Las firmas de cmdlet evidentemente no son las mismas.

Write-Host this is a good idea $here
Write-Information this is a good idea $here <= MALO

Esta es la firma de cmdlet que se corrigió después de pasar 20-30 minutos investigando la pila de funciones…

Write-Information ("this is a good idea $here") <=BUENO

En mi caso fue el distinción Entre (En guión) y -(Guión) como en:

Add-Type –Path "C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.dll"

y:

Add-Type -Path "C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions16ISAPIMicrosoft.SharePoint.Client.dll"

Guiones, guiones y signos menos ¡Dios mío!

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *