Rename-Drive : Переименование устройств с помощью PowerShell и WMI

Шейн Бартон (Shane Burton) из Compellent попросил меня помочь ему с переименованием устройства в PowerShell. Для переименования устройства можно использовать разные классы WMI, Win32_Volume, и Win32_LogicalDisk. Устройство изменяется путем выбора имени свойства объекта WMI (Label в Win32_Volume и VolumeName в Win32_LogicalDisk) с последующим возвращением его в репозиторий WMI с помощью метода Put(). @", @" WMI и PowerShell вместе позволяют сделать множество отличных штук. Если вы хотите быстро найти, что можно сделать с помощью WMI в PowerShell, просмотрите мою раннюю заметку: Get-WmiHelp / Search-WMIHelp.

Вот моя функция Rename-Drive:

Rename-Drive

Краткое описание:

Переименовывает устройство с помощью WMI

Синтаксис:

Rename-Drive [[-deviceID] [<Object>]] [[-name] [<Object>]] [<CommonParameters>]

Подробное описание :

Использует класс Win32_LogicalDisk для переименования устройства с помощью WMI. Должна запускаться с правами администратора

Примеры:

 -------------------------- Пример 1 --------------------------

# Sets the name of C: to FooBar
Rename-Drive C: FooBar

    
    -------------------------- Пример 2 --------------------------

# Resets the name of C:
Rename-Drive C:

 

Текст функции Rename-Drive:

 function Rename-Drive {
              
    #.Synopsis
    #    Renames a drive with WMI
    #.Description 
    #    Uses the Win32_LogicalDisk class to rename a drive using WMI.  Must be running as administrator to use    
    #.Example    
    #    # Sets the name of C: to FooBar
    #    Rename-Drive C: FooBar
    #.Example
    #    # Resets the name of C:
    #    Rename-Drive C:     
    param($deviceID = "C:", $name)
$drive = Get-WmiObject "Win32_LogicalDisk WHERE DeviceID='$deviceID'"
    if (-not $drive) { return }                      
    $drive.VolumeName = $name
    $null = $drive.Put()

}

Надеюсь, это вам поможет,

Джеймс Брандейдж (James Brundage) [MSFT]

Перевод: Виктор Горбунков