Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Création d’un groupe de ressource Cluster en Powershell

 

Vous souhaitez créer en ligne de commande un groupe de ressource Cluster.

Pour cela, il faut utiliser la ligne de commande suivante :

([wmiclass] »root\MSCluster:MSCluster_ResourceGroup »).CreateGroup(“NomDuGroupe”, XXX)

Ou XXX représente l’identifiant du groupe de ressource que vous voulez créer.

Par exemple : pour créer un groupe de ressource Hyper-V réplica Broker, vous devez saisir l’ID 115 soit :

([wmiclass] »root\MSCluster:MSCluster_ResourceGroup »).CreateGroup(“NomDuGroupe”, 115)

 

Maintenant, pour créer un groupe de ressource DHCP Cluster, l’identifiant correspondant est le 102 soit :

([wmiclass] »root\MSCluster:MSCluster_ResourceGroup »).CreateGroup(“NomDuGroupe”, 102)

 

Ci-dessous, une capture d’écran qui vous donnera l’ID associé à un type de groupe de ressource Cluster.

 

image

Changement du nom de machine dans le fichier Unattend depuis WinPE 5 en Powershell

 

Vous avez appliqué une image wim sur votre poste depuis WinPe et vous avez besoin de changer le nom de machine qui sera utilisé par la phase Specialize du Sysprep avant de rebooter la machine (pour sa prise en compte).

Charger le fichier xml situé dans le répertoire Windows\Panther dans une variable. (positionné ici après le travail de généralisation du Sysprep)

$xml= »C:\Windows\Panther\unattend.xml »
$xml=get-content $xml

Ensuite via cette ligne de commande, saisissez le nom de votre Poste:

$xml.unattend.settings[1].component[1].computername= »NomDuPoste »

(il se peut que dans votre fichier unattend, le noeud “computername” soit positionné ailleurs. Il vous faudra alors parcourir votre variable $xml et identifier ou se trouvera le nœud.)

Maintenant sauvegarder votre fichier XML avec la modification apportée.

$xml.save(« C:\Windows\Panther\unattend.xml »)

Maintenant lorsque vous redémarrerez votre poste, après la passe spécialize et oobe, le hostname du poste sera celui qui aura été renseigné dans la modification apporté dans le fichier xml.

Vérification de droits d’accès à une ressource en Powershell via wmi

 

Vous souhaitez contrôler l’accès à un fichier / répertoire en ligne de commande.

Pour cela, vous pouvez utiliser la classe Win32_Directory qui contient une méthode GetEffectivePermission. Celle ci permet de déterminer si le compte dispose des autorisations qui seront spécifiés dans notre commande.

 

Tout d’abord, récupérer le répertoire (pour l’exemple) que vous désirez contrôler.

image

 

En regardant maintenant les propriétés via la commande (gwmi Win32_directory -filter « name = ‘c:\\temp' ») |gm , on peut voir l’accès à la méthode GetEffectivePermission.

image

 

Nous voulons contrôler si l’utilisateur courant dispose des droits d’accès en écriture sur le répertoire c:\temp.

Pour cela, il faut saisir la valeur décimale 2 pour la méthode GetEffectivePermission.

Si l’utilisateur à les droits en écriture sur cette ressource, la commande nous renverra True. Dans le cas contraire, la commande nous renverra False.

Exemple :

(gwmi Win32_directory -filter « name = ‘c:\\temp' »).GetEffectivePermission(X)

X correspondant au droit contrôlé.

image

L’utilisateur peut donc accéder en écriture dans le répertoire.

 

Ci dessous un tableau contenant les valeurs à indiquer à la fonction GetEffectivePermission() pour le contrôle d’un droit spécifique

image