كيفية التحقق من محرك الأقراص هل هو افتراضي، بوويرشيل
-
21-12-2019 - |
سؤال
كيفية التحقق من محرك الأقراص هل هو افتراضي (تم إنشاؤه باستخدام subst
يأمر)؟
Get-VirtualDisk
لا يعمل (بوويرشيل 3.0)
المحلول
يمكنك استخراج الحرف الأول من كل سطر subst
الإخراج إلى صفيف وتحقق مما إذا كان محرك أقراص معين موجودًا في هذا الصفيف:
$substed = subst | % { $_.Substring(0,1) + ':' }
if ( $substed -contains 'x:' ) {
# do stuff
}
نصائح أخرى
يمكنك تحليل نتيجة التشغيل subst
للحصول على قائمة بالبدائل الموجودة مثل:
$substdrives = @{};
(subst) |% { $part = $_ -split '\\: => '; $substdrives[$part[0]] = $part[1] } ;
$substdrives | ft
subst
لا يقوم بإنشاء قرص افتراضي، لذلك Get-VirtualDisk
لن يعود محركات الأقراص هذه.
قد تكون قادرا على استخدام Get-PSDrive
وابحث عن محركات الأقراص حيث Description
الملكية تطابق Description
خاصية محرك أقراص آخر.على سبيل المثال، على نظامي لدي subst
ed Q يشير إلى مسار على محرك الأقراص C الخاص بي:
>get-psdrive |where-object {$_.provider -like "*filesystem"}|select name,description|ft -auto
Name Description
---- -----------
C OSDisk
D
E
P
Q OSDisk
U
لا تنتمي إلى StackOverflow