Цитата Iska:
утилита его не генерирует.
|
Все верно, она лишь устанавливает новый id для тома, увы, изначально неправильно выразился.
VolumeId для установки нового серийного номера тома использует DeviceIoControl, вызвать который посредством рефлексии можно следующим образом:
Код:
([AppDomain]::CurrentDomain.GetAssemblies() | Where-Object {
$_.ManifestModule.ScopeName.Equals('System.Data.dll')
}).GetType(
'System.Data.SqlTypes.UnsafeNativeMethods'
).GetMethod(
'DeviceIoControl', [Reflection.BindingFlags]40
).Invoke(...)
И если у пользователя достаточно прав, поменять id особой проблемы не составит.