قم بإدراج جميع الأجهزة والأقسام ووحدات التخزين في Powershell

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

  •  12-09-2019
  •  | 
  •  

سؤال

لدي مجلدات متعددة (كما هو الحال مع الجميع تقريبًا في الوقت الحاضر):على نظام التشغيل Windows يتم تحديدها في النهاية على أنها C:، D:وما إلى ذلك وهلم جرا.كيف يمكنني إدراج كل هذه العناصر على جهاز Unix باستخدام "ls /mnt/" باستخدام Powershell؟

هل كانت مفيدة؟

المحلول

للحصول على كافة محركات أقراص نظام الملفات، يمكنك استخدام الأمر التالي:

gdr -PSProvider 'FileSystem'

gdr هو اسم مستعار ل Get-PSDrive, ، والذي يتضمن كافة "محركات الأقراص الافتراضية" الخاصة بالتسجيل، وما إلى ذلك.

نصائح أخرى

الحصول على الحجم

ستحصل:DriveLetter، وFileSystemLabel، وFileSystem، وDriveType، وHealthStatus، وSizeRemaining، وSize

على ويندوز بوويرشيل:

Get-PSDrive 
[System.IO.DriveInfo]::getdrives()
wmic diskdrive
wmic volume

أيضا الأداة المساعدة dskwipe : http://smithii.com/dskwipe

dskwipe.exe -l

أولاً، على نظام Unix الذي تستخدمه mount, ، لا ls /mnt:أشياء كثيرة لم يتم تركيبها /mnt.

على أية حال، هناك mountvol أمر DOS، الذي يستمر في العمل في Powershell، وهناك أمر Powershell الخاص Get-PSDrive.

هذا قديم جدًا، لكني وجدت ما يلي جديرًا بالملاحظة:

PS N:\> (measure-command {Get-WmiObject -Class Win32_LogicalDisk|select -property deviceid|%{$_.deviceid}|out-host}).totalmilliseconds
...
928.7403
PS N:\> (measure-command {gdr -psprovider 'filesystem'|%{$_.name}|out-host}).totalmilliseconds
...
169.474

بدون خصائص التصفية، في نظام الاختبار الخاص بي، من 4319.4196 مللي ثانية إلى 1777.7237 مللي ثانية.ما لم أكن بحاجة إلى إرجاع كائن PS-Drive، سألتزم بـ WMI.

يحرر:أعتقد أن لدينا الفائز:ps n:> (measure-command {[system.io.driveinfo] :: getDrives () | ٪ {$ ​​_. name} | Out-host}). to‌ talmilliseconds 110.9819

على الرغم من أن هذا ليس خاصًا بـ "powershell" ...يمكنك بسهولة سرد محركات الأقراص والأقسام باستخدام diskpart، حجم القائمة

PS C:\Dev> diskpart

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: Box

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     D                       DVD-ROM         0 B  No Media
Volume 1         C = System   NTFS   Partition    100 MB  Healthy    System
Volume 2     G   C = Box      NTFS   Partition    244 GB  Healthy    Boot
Volume 3     H   D = Data     NTFS   Partition    687 GB  Healthy
Volume 4     E   System Rese  NTFS   Partition    100 MB  Healthy

لدينا وحدات تخزين متعددة لكل محرك أقراص (بعضها مثبت على أدلة فرعية على محرك الأقراص).يعرض هذا الرمز قائمة بنقاط التثبيت وتسميات وحدة التخزين.من الواضح أنه يمكنك أيضًا استخراج المساحة الحرة وما إلى ذلك:

gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
  echo "$(echo $_.name) [$(echo $_.label)]"
}

الأمر Run:

Get-PsDrive -PsProvider FileSystem

لمزيد من المعلومات انظر:

alt text

وظيفة ملاحظة:> get-psdrive

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top