Archive pour le Tag: ‘powershell

3 articles trouvés dans cette archive
Déc/1528

Bien que pour des raisons de facilités, on peut être tenté d’installer Hyper-V sur un Windows Server complet, les best-practices recommandent d’utiliser le mode Server Core. Le mode Server Core permet de limiter la surface d’attaque en terme de sécurité, le nombre de correctif à mettre mais aussi de limiter l’installation d’autres logiciel. Bien qu’il soit possible d’administrer l’hyperviseur à distance depuis une MMC d’un poste tierce (avec RSAT), il est nécessaire de connaitre les lignes de commandes qui vont bien (spécialement pour la configuration réseau), d’ou cet article.

Pour commencer

Ouvrir le console de configuration:

sconfig

Ouvrir une session PowerShell locale:

powershell

Ouvrir une session PowerShell distante depuis la session PowerShell locale (comme un ssh):

Enter-PSSession <computerName>

Rechercher une commande PowerShell (comme un help avec un grep):

Get-Command | select-string <commande>

Afficher l’aide d’un commande (comme un man):

Get-Help <commande>

Pour System Center, toutes les commandes ont la syntaxe:

[action]-sc[object]

Lire la suite…

Mar/113

Lors d’une mise à jour des serveurs Hyper-V, il faut mettre à jour les « Integration Services » dans toutes les VMs.

Vu sur le blog Virtualize the Enterprise de Peter Noorderijk, il a fait un script PowerShell pour récupérer la version des « Integration Services » des VMs sur un ensemble de serveurs Hyper-V.

Pour cela, il faut créer un fichier « servers.txt » et renseigner le nom d’un serveur Hyper-V par ligne.

Puis créer le fichier « CheckIS.ps1 » qui doit contenir le code PowerShell suivant:

1
2
3
4
5
6
7
8
9
10
11
function Get-IntegrationServicesVersion ($HVhost = $(throw “HVHost required”))
{
$kvps = Get-WmiObject -Namespace rootvirtualization -ComputerName $HVHost -QuerySelect GuestIntrinsicExchangeItems From Msvm_KvpExchangeComponent”
foreach ($kvp in $kvps)
    {
        $vmkvp = $Kvp.GuestIntrinsicExchangeItems
        $vmkvp | select-object @{Label=”VMHost”;Expression={$hvhost}},@{Label=”VMName”;Expression={([xml]$vmkvp[0]).instance.property[1].value}},@{Label=”ICVersion”;Expression={([xml]$vmkvp[14]).instance.property[1].value}} -first 1
    }
}
 
foreach ($hvhost in get-content servers.txt) {Get-IntegrationServicesVersion $hvhost}

Dans la fenêtre PowerShell, aller dans le répertoire contenant les 2 fichiers  et lancer la commande: .CheckIS.ps1

On récupère alors la liste des Hosts, des VMs et leur version d’Integration Services

PS: sur la capture d’écran, les Integration Services sont en version Hyper-V R2 (avant le SP1)

Juin/10300

J’ai rencontré ce problème sur une machine virtuelle déployée sur un Hyper-V, au moment où j’ai voulu créer un modèle via SCVMM. La machine virtuelle est restée figée sur l’état Sysprep en cours... et aucune action n’était disponible, hormis l’ affichage de la mise en réseau (ce qui ne sert pas beaucoup dans notre cas…).

Au niveau du Gestionnaire Hyper-V la VM n’était plus existante et malgré un redemarrage de la console SCVMM et même de la machine SCVMM, voici une vue de la console SCVMM avec la machine virtuelle restant figée :

Lire la suite…