كيفية التحقق من محرك الأقراص هل هو افتراضي، بوويرشيل

StackOverflow https://stackoverflow.com//questions/24038472

سؤال

كيفية التحقق من محرك الأقراص هل هو افتراضي (تم إنشاؤه باستخدام 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 خاصية محرك أقراص آخر.على سبيل المثال، على نظامي لدي substed Q يشير إلى مسار على محرك الأقراص C الخاص بي:

>get-psdrive |where-object {$_.provider -like  "*filesystem"}|select name,description|ft -auto

Name Description
---- -----------
C    OSDisk
D
E
P
Q    OSDisk
U
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top