À l'aide de PowerShell "Si", déclaration à la fonction de comparaison (version Windows)

Je suis actuellement à la création d'un AD de script que vous pouvez obtenir de l'ANNONCE des groupes d'une machine et de les transférer à une nouvelle machine (en cas de panne du système).

J'ai réussi à obtenir le script de sortir et de trouver la version de Windows que les deux machines sont en cours d'exécution par l'intermédiaire de leur hôte, cependant, je vais avoir un problème de création d'un " si " déclaration de comparer les deux versions de Windows.

L'idée est que si les sont de la même version (et donc la même version de package) les groupes seront copiés automatiquement, mais je ne peux pas pour la vie de me comprendre comment le faire.

Veuillez considérer ce code:

function W_version_current
{
    $current = Get-WmiObject Win32_OperatingSystem -computer $current_hostname.text | select buildnumber
    if ($current -match '7601')
    {
        "Windows 7"
    }
    elseif($current -match '2600')
    {
        "Windows XP"
    }
    elseif($current -eq $null)
    {
        "The box is empty"
    }
    else
    {
        "Function not supported"
    }
}

function W_version_target
{
    $target = Get-WmiObject Win32_OperatingSystem -computer $target_hostname.text | select buildnumber
    if ($var -match '7601')
    {
        "Windows 7"
    }
    elseif($target -match '2600')
    {
        "Windows XP"
    }
    elseif($target -eq $null)
    {
        "The box is empty"
    }
    else
    {
        "Function not supported"
    }
}

function compare_current_target
{
    if(W_version_current -eq W_version_target)
    {
        "Matching version of Windows detected"
    }
    else
    {
        "Versions of Windows do not match"
    }
}

Maintenant, il est vrai que toutes les variables ne sont pas accessibles à l'extérieur de fonctions?

Si oui, que puis-je faire?

InformationsquelleAutor obious | 2012-04-19