He intentado adjuntando la siguiente en una instrucción if para que yo pueda ejecutar otro comando, si este tiene éxito:

Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'" | Foreach-Object {
        $Localdrives += $_.Path

pero no puedo averiguar cómo hacerlo. Incluso he intentado crear una función, pero no pude averiguar cómo comprobar si la función se había completado satisfactoriamente.

InformationsquelleAutor Sune | 2012-01-01

2 Comentarios

  1. 10

    usted puede probar :

    $res = get-WmiObject -Class Win32_Share -Filter "Description='Default share'"
    if ($res -ne $null)
    {
      foreach ($drv in $res)
      {
        $Localdrives += $drv.Path
      }
    }
    else
    {
      # your error
    }
  2. 56

    Probar el $? variable automática:

    $share = Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'"
    
    if($?)
    {
       "command succeeded"
       $share | Foreach-Object {...}
    }
    else
    {
       "command failed"
    }

    De about_Automatic_Variables:

    $?
       Contains the execution status of the last operation. It contains
    TRUE if the last operation succeeded and FALSE if it failed.
    ...
    
    $LastExitCode
       Contains the exit code of the last Windows-based program that was run.
    • Yo he optado por la primera solución de este tiempo, pero esta es sin duda una gran manera de hacerlo. Gracias una vez más Shay:)
    • Lo siento Shay : Prueba get-WmiObject -Class Win32_Share -Filter "Description='glurp'" , pero en este caso $? es verdad y no hay ningún compartir con esta descripción.
    • El comando no devuelve un error por lo que $? se establece en $true. Este es el mismo: dir *.NoSucheExtension, el resultado no es nada y no es considerado como un error. El uso de @JPBlanc de la solución cuando se desea probar si el comando devuelve ningún resultado.
    • esto debe ser aceptado respuesta, ya que es más relacionadas con la pregunta genérica
    • PS novato pregunta: es "command succeeded" la misma como Write-Output "command succeeded" (o algún otro Write-* de comandos)?

Dejar respuesta

Please enter your comment!
Please enter your name here