none
DISTINGIR LA VERSION DE WINDOWS DE UN EQUIPO RRS feed

Respuestas

  • Aca tienes uno:

    http://gallery.technet.microsoft.com/scriptcenter/en-us/6e1b6724-3674-4487-b544-2706bfe0b0b5

     

    Saludos

    Param($computer = "localhost") 
     
    Function Get-OSVersion($computer,[ref]$osv) 
    { 
     $os = Get-WmiObject -class Win32_OperatingSystem ` 
        -computerName $computer 
     Switch ($os.Version) 
     { 
      "5.1.2600" { $osv.value = "xp" } 
      "5.1.3790" { $osv.value = "2003" } 
      "6.0.6001" 
            { 
             If($os.ProductType -eq 1) 
              { 
              $osv.value = "Vista" 
              } #end if 
             Else 
              { 
              $osv.value = "2008" 
              } #end else 
            } #end 6001 
      "6.1.7600" 
            { 
             If($os.ProductType -eq 1) 
              { 
              $osv.value = "Win7" 
              } #end if 
             Else 
              { 
              $osv.value = "2008R2" 
              } #end else 
            } #end 7600 
       DEFAULT { "Version not listed" } 
     } #end switch 
    } #end Get-OSVersion 
     
    # *** entry point to script *** 
    $osv = $null 
    Get-OSVersion -computer $computer -osv ([ref]$osv) 
    $osv 
    

    • Marcado como respuesta Ismael Borche viernes, 1 de abril de 2011 2:02
    martes, 14 de diciembre de 2010 2:30
  • La extensión que tienes que poner en el archivo es ps1. Si quieres invocarlo desde un bat, debes hacerlo así:

     

    powershell -File c:\carpeta\script.ps1 -ExecutionPolicy Unrestricted

    Si lo quiereejecutar desde el propio PowerShell, debes poner la ruta y nombre del script, siendo el nombre con o sin extensión, da lo mismo (si fuese c:\carpeta\script.ps1, podrías invocarlo también como c:\carpeta\script). La ruta siempre se debe pasar, aunque el inductor de PowerShell esté ubicado en la carpeta del script; en este caso, puedes poner .\script


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    • Marcado como respuesta Ismael Borche viernes, 1 de abril de 2011 2:02
    jueves, 16 de diciembre de 2010 9:42
    Moderador

Todas las respuestas

  • Aca tienes uno:

    http://gallery.technet.microsoft.com/scriptcenter/en-us/6e1b6724-3674-4487-b544-2706bfe0b0b5

     

    Saludos

    Param($computer = "localhost") 
     
    Function Get-OSVersion($computer,[ref]$osv) 
    { 
     $os = Get-WmiObject -class Win32_OperatingSystem ` 
        -computerName $computer 
     Switch ($os.Version) 
     { 
      "5.1.2600" { $osv.value = "xp" } 
      "5.1.3790" { $osv.value = "2003" } 
      "6.0.6001" 
            { 
             If($os.ProductType -eq 1) 
              { 
              $osv.value = "Vista" 
              } #end if 
             Else 
              { 
              $osv.value = "2008" 
              } #end else 
            } #end 6001 
      "6.1.7600" 
            { 
             If($os.ProductType -eq 1) 
              { 
              $osv.value = "Win7" 
              } #end if 
             Else 
              { 
              $osv.value = "2008R2" 
              } #end else 
            } #end 7600 
       DEFAULT { "Version not listed" } 
     } #end switch 
    } #end Get-OSVersion 
     
    # *** entry point to script *** 
    $osv = $null 
    Get-OSVersion -computer $computer -osv ([ref]$osv) 
    $osv 
    

    • Marcado como respuesta Ismael Borche viernes, 1 de abril de 2011 2:02
    martes, 14 de diciembre de 2010 2:30
  •  

    Buenas!

    Gracias por la respuesta.He instalado powershell en mi equipo, ¿como hago para ejecutar el script?

    Entiendo que tengo que copiar el contenido del scrip en un fichero txt por ejemplo y luego renombrarlo. ¿es correcto? si es así ¿que extensión le tengo que dar finalmente al archivo? 

     

    martes, 14 de diciembre de 2010 6:26
  • La extensión que tienes que poner en el archivo es ps1. Si quieres invocarlo desde un bat, debes hacerlo así:

     

    powershell -File c:\carpeta\script.ps1 -ExecutionPolicy Unrestricted

    Si lo quiereejecutar desde el propio PowerShell, debes poner la ruta y nombre del script, siendo el nombre con o sin extensión, da lo mismo (si fuese c:\carpeta\script.ps1, podrías invocarlo también como c:\carpeta\script). La ruta siempre se debe pasar, aunque el inductor de PowerShell esté ubicado en la carpeta del script; en este caso, puedes poner .\script


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    • Marcado como respuesta Ismael Borche viernes, 1 de abril de 2011 2:02
    jueves, 16 de diciembre de 2010 9:42
    Moderador