Comment faire pour définir la valeur de Registre Partmgr attributs à l’aide de PowerShell

Résumé

La clé de Registre partmgr.sys attributs affecte le comportement de mise en ligne d’un disque donné, et la valeur correspond aux valeurs de stratégie SAN dans VDS comme indiqué sur le site MSDN (http://msdn.microsoft.com/en-us/library/bb525577(VS.85).aspx).


typedef enum _VDS_SAN_POLICY {   VDS_SP_UNKNOWN         = 0x0,
VDS_SP_ONLINE = 0x1,
VDS_SP_OFFLINE_SHARED = 0x2,
VDS_SP_OFFLINE = 0x3
} VDS_SAN_POLICY;

Cette valeur est initialement définie lorsqu’un disque est identifié basée sur la valeur de la stratégie SAN en place à la fois.   La stratégie SAN détermine si un disque nouvellement découvert est mis en ligne ou qu’il reste hors connexion, et s’il est effectué en lecture-écriture ou reste en lecture seule.  Lorsqu’un disque est hors connexion, la disposition du disque peut être lu, mais aucun périphérique de volume n’est fournies par Plug-and-Play (PnP).  Cela signifie qu’aucun système de fichiers ne peut être monté sur le disque.  Lorsqu’un disque est en ligne, un ou plusieurs périphériques de volume sont installés pour le disque.

Cette stratégie peut être affichée à l’aide de l’utilitaire DISKPART comme suit :

1. Cliquez sur Démarrer, sur exécuter, tapez cmdet appuyez sur ENTRÉE.
2. dans la fenêtre de ligne de commande, tapez diskpartet appuyez sur ENTRÉE.
3. Tapez SANet appuyez sur ENTRÉE. Cette commande renvoie la stratégie SAN de jeu en cours.
4. Tapez exitet appuyez sur ENTRÉE.

Définition d’une valeur de 0 (VDS_SP_UNKNOWN) sera mappée à VDS_SP_ONLINE, une valeur de 0 ou de 1 peut être utilisée pour mettre un disque en ligne.

Ce script modifie la valeur de Registre attributs située dans HKLM\System\CurrentControlSet\Enum\SCSI\ < périphérique > \ < instance > \Device Parameters\Partmgr

Pour plus d’informations sur l’écriture de scripts pour Windows PowerShell, reportez-vous au site Web de Microsoft suivant :
Informations générales sur l’écriture de scripts de Windows PowerShell

Informations concernant le Registre

Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows

La variable de chaîne de fournisseur est utilisée pour limiter la modification de la valeur à un sous-ensemble de disques de correspondance l’identificateur d’un fournisseur spécifique. Vérifiez le Registre pour la chaîne Ven_ & disque vérifier quelle valeur doit être utilisée.

$val = 0$vendor = Read-Host "Enter Vendor String"
$devIDs = Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\Enum\SCSI\Disk*Ven_$vendor*\*\Device Parameters\"

foreach ($id in $devIDs)
{
$error.Clear()
$regpath = $id.PSPath + "\Partmgr\"
Set-ItemProperty -path $regpath -Name Attributes -Value $val -ErrorAction SilentlyContinue

if ($error) # didn't find the path, create it and try again
{
New-Item -Path $id.PSPath -Name Partmgr
Set-ItemProperty -path $regpath -Name Attributes -Value $val -ErrorAction SilentlyContinue
$error.Clear()
}

Get-ItemProperty -Path $regpath -Name Attributes -ErrorAction SilentlyContinue | Select Attributes | fl | Out-String -Stream
}

Propriétés

ID d'article : 2849097 - Dernière mise à jour : 9 janv. 2017 - Révision : 1

Commentaires