精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 Windows Server 2003 和 Windows XP 中管理磁盤配額

系統(tǒng) Windows
本文概述 Windows Server 2003 和 Windows XP 中提供的新功能,可以使用這些功能來編寫腳本以管理整個企業(yè)中的磁盤配額和磁盤配額設(shè)置。

概述 Windows Server 2003 和 Windows XP 中提供的新功能,可以使用這些功能來編寫腳本以管理整個企業(yè)中的磁盤配額和磁盤配額設(shè)置。

磁盤配額簡史

每次聽到一句古老的諺語,通常都會很容易體會到它的忠告中所蘊(yùn)含的一絲一毫的真理。三思而后行?的確有道理。笨人難聚財(cái)?等一下,讓我們看看“腳本專家”的預(yù)算。可不是嗎?沒什么好爭辯的。捷足先登?我們恐怕只能對它信以為真。不過聽上去還是蠻有說服力的。

但還有這樣一句:許愿須當(dāng)心,實(shí)現(xiàn)恐添憂。什么?毫無道理嘛。既然得償所愿,又怎么會憑添煩憂呢?看到了吧:顯然即便是古語的作者也有不靈光的時候。(這離解釋清楚“魚與熊掌不可兼得”這句古語的含義還差得遠(yuǎn)呢。)

事實(shí)證明,使用 Windows 2000 之前版本的系統(tǒng)管理員對那句“許愿須當(dāng)心...”古語的含義有著深刻的認(rèn)識。回顧 Windows NT 時代,磁盤配額是每一位系統(tǒng)管理員最需要的功能之一,而 Windows NT 并不支持該功能。猜一猜發(fā)布 Windows 2000 時會發(fā)生什么情況?那還用說嘛,Microsoft 當(dāng)然唯您的馬首是瞻:Windows 2000 內(nèi)置(在 NTFS 卷上)對磁盤配額的完整支持。就如另一句古語所說的一樣:“求即得之”。

那么問題出在哪里呢?需要明確的是,磁盤配額自身并無任何問題,它們所發(fā)揮的作用與廣告中所宣傳的別無二致。問題出在,盡管系統(tǒng)管理員現(xiàn)在擁有了聽?wèi){其支配的功能強(qiáng)大的新工具,但著實(shí)缺乏能夠有效管理該工具的方法。他們只能以驅(qū)動器為單位來管理磁盤配額,而無法以簡便的方式了解計(jì)算機(jī)上的總體磁盤配額使用情況(即涵蓋計(jì)算機(jī)上所有驅(qū)動器的配額使用情況)。不僅如此:

而且還無法生成磁盤配額報(bào)告。

盡管可以管理遠(yuǎn)程計(jì)算機(jī)上的磁盤配額,卻只能通過略為難解的方法來實(shí)現(xiàn)。

由于腳本編寫選項(xiàng)只能在本地計(jì)算機(jī)上的單個驅(qū)動器中使用,因此會受到相同程度的限制。(順便提一句,如果對在 Windows 2000 中使用腳本來管理磁盤配額感興趣,請參見 Microsoft Windows 2000 Scripting Guide(Microsoft Windows 2000 腳本指南)中的“Managing Disk Quotas”(管理磁盤配額)。

換言之,系統(tǒng)管理員得到的正是他們所希望得到的功能:磁盤配額。問題是他們沒有表達(dá)同時想獲得磁盤配額管理工具的愿望。在 Windows 2000 中,磁盤配額曾經(jīng)是(現(xiàn)在也仍然是)一個非常有用的工具,但由于缺少管理工具而很難管理整個企業(yè)中的磁盤配額。

但要知道有這樣一句話:好事多磨。磁盤配額似乎就是這種情況。Windows 2000 為系統(tǒng)管理員提供了磁盤配額功能,但就管理整個企業(yè)中的配額使用情況而言,并沒有太大的幫助。在 Windows Server 2003(和 Windows XP)中,這種情況已有所改觀。現(xiàn)在,您可以方便地管理整個企業(yè)中的磁盤配額。這是因?yàn)椋琖indows Server 2003 和 Windows XP 中新增了兩個用于管理磁盤配額和磁盤配額設(shè)置的 WMI 類。

本文將詳細(xì)介紹這兩個 WMI 類并提供多個示例腳本,說明如何使用這些類來執(zhí)行各種管理任務(wù)。不過,在介紹上述內(nèi)容之前,我們需要插入一小段內(nèi)容,簡要介紹一下磁盤配額所基于的技術(shù)。

#p#

磁盤配額如何工作

磁盤配額是 NTFS 文件系統(tǒng)不可缺少的一個部分。每當(dāng)在 NTFS 卷上創(chuàng)建文件(或文件夾)時,系統(tǒng)就會為該文件或文件夾指定所有者(通常是最初創(chuàng)建該文件或文件夾的用戶)。在實(shí)際保存該文件之前,NTFS 會獲取文件所有者的用戶 ID,并將該信息存儲在文件的“標(biāo)準(zhǔn)信息”屬性(計(jì)算磁盤空間分配時將使用該屬性)中。隨后,NTFS 查找該用戶的磁盤配額項(xiàng),確定新分配的磁盤空間是否會導(dǎo)致該用戶超出分配的配額。如果超出,NTFS 將采取相應(yīng)的措施,這可能包括在系統(tǒng)事件日志中記錄一項(xiàng)內(nèi)容,或禁止用戶創(chuàng)建文件或文件夾。文件大小發(fā)生變化時,NTFS 會更新磁盤配額項(xiàng)來反映用戶所使用的總磁盤空間。所有上述操作都是在后臺執(zhí)行的,而且速度非常快,您根本察覺不到。

要想有效地管理磁盤配額,一定要知道配額不是以計(jì)算機(jī)為單位進(jìn)行配置的。實(shí)際上,磁盤配額與各個 NTFS 卷相關(guān)聯(lián)。每個驅(qū)動器具有不同的配額設(shè)置,對一個卷執(zhí)行的操作不會影響其他卷。例如,一臺計(jì)算機(jī)可能有一個硬盤,并被劃分為三個卷:驅(qū)動器 C、D 和 E。每個驅(qū)動器具有不同的配額設(shè)置。可以在驅(qū)動器 C 和 D 上啟用磁盤配額,而在驅(qū)動器 E 上禁用磁盤配額。同樣,可以在驅(qū)動器 C 上為用戶分配 50 MB 的磁盤空間,而在驅(qū)動器 D 上分配 100 MB 的磁盤空間。

換言之,在管理磁盤配額時,對一個卷執(zhí)行的操作不會對其他卷產(chǎn)生任何影響。如果在驅(qū)動器 C 上為用戶 A 分配了 50 MB 的磁盤空間,并不表示在驅(qū)動器 D 和 E 上也為用戶 A 分配 50 MB 的磁盤空間。如果在驅(qū)動器 D 上禁用了磁盤配額,驅(qū)動器 C 和 E 上的配額仍保持啟用狀態(tài)。如果您...好了,就是這個意思。還要記住一點(diǎn),也可以用戶為單位來配置磁盤配額,本文后面將對此進(jìn)行更詳盡的介紹。

除分配磁盤空間外,還可以指定配額警告級別,即觸發(fā)警報(bào)(在系統(tǒng)事件日志中記錄的一種事件,用于通知用戶已接近配額)的磁盤空間使用量。也可以確定用戶超過配額時系統(tǒng)所執(zhí)行的操作:

不執(zhí)行任何操作。

在系統(tǒng)事件日志中記錄事件。

拒絕授予用戶存儲更多數(shù)據(jù)的權(quán)限,直到他/她刪除了足夠多的文件以恢復(fù)到配額限制內(nèi)為止。

WMI 包含兩個用于在 NTFS 驅(qū)動器上管理磁盤配額的類。“Win32_QuotaSetting”類用于為每個驅(qū)動器配置配額設(shè)置;其中包括是否在驅(qū)動器上啟用配額以及對新用戶應(yīng)用的默認(rèn)配額和警告限制等設(shè)置。而“Win32_DiskQuota”類用于管理各個配額項(xiàng):它用于對各個用戶的配額項(xiàng)執(zhí)行枚舉、創(chuàng)建、修改和刪除操作。只需使用這兩個類,就幾乎可以完成能夠想到的所有磁盤配額管理任務(wù)。

#p#

用于管理磁盤配額的設(shè)置

如果您沒有閱讀前面講解部分的內(nèi)容,我們在這里再講解一次:Win32_QuotaSetting 類用于確定是否(為計(jì)算機(jī)上的某個或所有驅(qū)動器)啟用配額、為驅(qū)動器配置的默認(rèn)配額和警告限制以及用戶超過其配額時將執(zhí)行的管理操作(如果有)等事項(xiàng)。Win32_QuotaSetting 包含的屬性如下表所示。除“VolumePath”以外的所有其他屬性都是讀/寫屬性,即您并不僅限于報(bào)告這些屬性的現(xiàn)有值。實(shí)際上,您可以使用腳本來修改這些屬性的值。

屬性

說明

DefaultLimit

此特定卷上的默認(rèn)配額限制 (KB)。

DefaultWarningLimit

此特定卷上的默認(rèn)配額警告限制 (KB)。

ExceededNotification

指定用戶超出配額時,是否在事件日志中寫入事件。(True/False)

State

此特定卷的配額管理級別。值如下:
0:不在此卷上啟用配額管理。
1:跟蹤配額,但不強(qiáng)制執(zhí)行限制值,用戶可以超過配額。
2:在此卷上跟蹤并強(qiáng)制執(zhí)行配額。

VolumePath

包含磁盤配額的卷的名稱。可以是卷名稱或卷路徑(如 D:\\)。使用路徑時,需要包含兩個反斜杠 (\\)。

WarningExceededNotification

指定超出警告限制時,是否在事件日志中寫入事件。(True/False)

還可以將這些相同屬性映射到 NTFS 驅(qū)動器“屬性”對話框中的用戶界面元素:

imageFile

那么,到底可以使用 Win32_QuotaSetting 完成哪些任務(wù)呢?可能最常見的任務(wù)就是連接到計(jì)算機(jī),并確定計(jì)算機(jī)的 NTFS 卷上是否已啟用了磁盤配額(如果啟用了,則確定配額設(shè)置的配置情況)。要返回計(jì)算機(jī)的配額設(shè)置信息,只需綁定到 Win32_QuotaSetting 類,然后回顯每個屬性的值:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colQuotaSettings = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting")

For Each objQuotaSetting in colQuotaSettings Wscript.Echo "Default Limit: " & objQuotaSetting.DefaultLimit Wscript.Echo "Default Warning Limit: " & _ objQuotaSetting.DefaultWarningLimit Wscript.Echo "Exceeded Notification: " & _ objQuotaSetting.ExceededNotification Wscript.Echo "State: " & objQuotaSetting.State Wscript.Echo "Volume Path: " & objQuotaSetting.VolumePath Wscript.Echo "Warning Exceeded Notification: " & _ objQuotaSetting.WarningExceededNotification Next

以上腳本返回計(jì)算機(jī)上所有 NTFS 卷的配額設(shè)置信息。倘若只需要有關(guān)驅(qū)動器 D 的配額設(shè)置信息,該怎么辦呢?如果是這樣,只需在 WQL 查詢中添加一個 WHERE 子句即可,它用于限定只返回驅(qū)動器 D 的數(shù)據(jù):

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colQuotaSettings = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting Where VolumePath = 'D:\\'")

For Each objQuotaSetting in colQuotaSettings Wscript.Echo "Default Limit: " & objQuotaSetting.DefaultLimit Wscript.Echo "Default Warning Limit: " & _ objQuotaSetting.DefaultWarningLimit Wscript.Echo "Exceeded Notification: " & _ objQuotaSetting.ExceededNotification Wscript.Echo "State: " & objQuotaSetting.State Wscript.Echo "Volume Path: " & objQuotaSetting.VolumePath Wscript.Echo "Warning Exceeded Notification: " & _ objQuotaSetting.WarningExceededNotification Next

請注意,在指定驅(qū)動器 D 時,必須包含額外一個斜杠,即“D:\\”。因?yàn)?\ 是 WMI 中的保留字符,所以每次在 WHERE 子句中使用它時,都必須將其“轉(zhuǎn)義”(在它的前面添加一個斜杠)。

#p#

啟用和禁用磁盤配額

Win32_QuotaSetting 簡化了磁盤配額的啟用和禁用操作;使用 WMI 腳本來執(zhí)行這些任務(wù)特別有用,因?yàn)樵谶h(yuǎn)程計(jì)算機(jī)上執(zhí)行腳本與在本地計(jì)算機(jī)上執(zhí)行腳本一樣簡便。腳本也是一種很好的磁盤配額管理方法,因?yàn)樗哂幸韵蚂`活性:可以只為一個卷啟用磁盤配額,也可以為計(jì)算機(jī)上的所有卷都啟用磁盤配額。做何選擇完全取決于您。

可通過處理“State”屬性的值來打開或關(guān)閉磁盤配額。State 接受以下三個可能的值:

0:關(guān)閉磁盤配額。

1:跟蹤磁盤配額,但不強(qiáng)制執(zhí)行磁盤配額。換言之,操作系統(tǒng)將跟蹤配額信息,但允許用戶隨意超出其配額限制。

2:跟蹤并強(qiáng)制執(zhí)行磁盤配額。在這種情況下,不允許用戶超出其磁盤配額;如果用戶試圖保存文件,則會導(dǎo)致超出其配額限制,但由于磁盤空間不足而被拒絕訪問。

以下腳本將計(jì)算機(jī)配置為跟蹤并強(qiáng)制執(zhí)行計(jì)算機(jī)上的驅(qū)動器 C 的磁盤配額:

Const ENFORCE_QUOTAS = 2

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting Where VolumePath = 'C:\\'")

For Each objDisk in colDisks objDisk.State = ENFORCE_QUOTAS objDisk.Put_ Next

該腳本先是定義一個常量“ENFORCE_QUOTAS”并為其分配值 2,然后連接到 WMI 服務(wù),并使用以下這行代碼來檢索驅(qū)動器 C 的配額設(shè)置:

Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting Where VolumePath = 'C:\\'")

為啟用配額,此腳本將“State”屬性的值設(shè)置為 ENFORCE_QUOTAS,然后調(diào)用“Put_”方法將此更改寫入操作系統(tǒng)。

如果要在某個驅(qū)動器上禁用磁盤配額,該怎么辦呢?在這種情況下,只需將“State”屬性的值設(shè)置為 0 即可。為此,請創(chuàng)建一個名為 DISABLE_QUOTAS 的常量,將該常量的值設(shè)置為 0,然后將 State 屬性的值設(shè)置為 DISABLE_QUOTAS。編寫完的腳本與以下內(nèi)容極為相似:

Const DISABLE_QUOTAS = 0
 
StrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting Where VolumePath = 'C:\\'")

For Each objDisk in colDisks objDisk.State = DISABLE_QUOTAS objDisk.Put_ Next

請注意,禁用磁盤配額時,不會丟棄現(xiàn)有的配額信息。例如,進(jìn)行的任何配額設(shè)置或創(chuàng)建的任何配額項(xiàng)仍會存在。不過,不會強(qiáng)制執(zhí)行這些設(shè)置,也不會更新具有配額項(xiàng)的每個用戶的磁盤空間使用情況。如果后來重新啟用了磁盤配額,則會自動恢復(fù)先前的設(shè)置和配額項(xiàng),而不必重新創(chuàng)建它們。就像我們這些“腳本專家”喜歡說的:儉則不匱。

#p#

修改磁盤配額設(shè)置

Win32_QuotaSetting 類的優(yōu)點(diǎn)之一是,它的大部分屬性都是讀/寫屬性;換言之,不但可以使用腳本來檢索 DefaultLimit 和 DefaultWarningLimit 等屬性的值,而且還可以使用腳本來修改這些屬性值。

例如,以下腳本修改計(jì)算機(jī)上所有 NTFS 驅(qū)動器的 DefaultLimit 和 DefaultWarningLimit 設(shè)置:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colQuotaSettings = objWMIService.ExecQuery _
    ("Select * from Win32_QuotaSetting")

For Each objQuotaSetting in colQuotaSettings objQuotaSetting.DefaultLimit = 10000000 objQuotaSetting.DefaultWarningLimit = 9000000 objQuotaSetting.Put_ Next

如以上所示,只需分配一個新值 (KB),然后調(diào)用“Put_”方法,將這些新的配額設(shè)置寫入操作系統(tǒng)。請注意,執(zhí)行此操作時,修改過的配額設(shè)置只應(yīng)用于新用戶;新設(shè)置不會應(yīng)用于在該驅(qū)動器上已有磁盤配額項(xiàng)的用戶。例如,假設(shè)有三個用戶在驅(qū)動器上擁有磁盤配額項(xiàng):

用戶

配額限制

警告限制

KMyer

100 MB

90 MB

PAckerman

200 MB

180 MB

RWilliams

400 MB

350 MB

假設(shè)運(yùn)行一個腳本,對默認(rèn)配額設(shè)置進(jìn)行如下更改:將配額限制更改為 50 MB,將警告限制更改為 40 MB。這些值將應(yīng)用于在該驅(qū)動器上保存文件或創(chuàng)建文件夾的所有新用戶。不過,上表中所示的三個用戶的配額設(shè)置不會受到影響;即使他們的配額限制遠(yuǎn)高于規(guī)定的最大值 50 MB,其現(xiàn)有設(shè)置也會保持不變。但這也沒關(guān)系:畢竟,配額設(shè)置是將應(yīng)用于所有新用戶的默認(rèn)值(除非另行指定)。換言之,完全允許個別用戶的配額設(shè)置高于或低于默認(rèn)值。

但如果真的要將同樣的值應(yīng)用于這三個用戶,該怎么辦呢?在這種情況下,必須更改每個用戶各自配額項(xiàng)的值。恰好,下一部分就要討論這方面的內(nèi)容。

#p#

管理單個用戶的磁盤配額項(xiàng)

每次新用戶在啟用了磁盤配額的驅(qū)動器上保存文件時,系統(tǒng)就會為該用戶創(chuàng)建一個配額項(xiàng)。該配額項(xiàng)跟蹤為該用戶指定的配額和警告限制以及該用戶當(dāng)前占用的磁盤空間大小。事實(shí)上,配額項(xiàng)與 WMI 類“Win32_DiskQuota”極其相似,可以使用該類來創(chuàng)建、刪除、修改以及報(bào)告單個配額項(xiàng)。Win32_DiskQuota 類的屬性如下表所示:

屬性

說明

DiskSpaceUsed

此特定用戶當(dāng)前使用的磁盤空間 (KB)。

Limit

為此特定用戶設(shè)置的限制。此屬性是讀/寫屬性。

QuotaVolume

存儲配額項(xiàng)的卷。

Status

磁盤配額的當(dāng)前狀態(tài)。值如下:
0。正常:用戶在其配額限制內(nèi)。
1。警告:用戶已超出警告限制,但尚未超出其配額限制。
2。超出:用戶超出了其配額限制。

User

與配額項(xiàng)關(guān)聯(lián)的用戶。

WarningLimit

為此特定用戶設(shè)置的警告限制。此屬性是讀/寫屬性。

還可以將這些屬性映射到“配額項(xiàng)”對話框中的用戶界面元素:

imageFile 

附注。如何找到“配額項(xiàng)”對話框呢?在“我的電腦”文件夾中,右鍵單擊所需的磁盤驅(qū)動器,然后單擊“屬性”。在“屬性”對話框中,單擊“配額”選項(xiàng)卡,然后單擊“配額項(xiàng)”。

如果您尚不清楚磁盤配額的應(yīng)用范圍,在此說明一下,它應(yīng)用于用戶所擁有的文件和文件夾。(順便說一句,文件和文件夾只能歸用戶所有,而不能歸組所有,這就是只能為用戶指定磁盤配額的原因,但有一種例外情況。)以下是另外幾條值得注意的說明:

磁盤配額基于文件所有權(quán)。假設(shè)用戶 A 創(chuàng)建了一個不包含任何內(nèi)容的新文件。用戶 A 因而占用 0 MB 的磁盤空間。不過,假設(shè)用戶 B(擁有該文件的讀/寫訪問權(quán)限)打開了該文件,并在其中填滿了從 Internet 下載的圖片。文件大小將增長到 40 MB,所有這些空間都算作用戶 A(文件所有者)占用的空間。
當(dāng)然,某些應(yīng)用程序會自動將文件的所有者更改為上次修改文件的用戶。在這種情況下,40 MB 的磁盤空間將算作用戶 B 占用的空間,而唯一的原因是用戶 B 現(xiàn)在是文件的所有者。

磁盤配額基于未壓縮的文件大小。文件壓縮并不會改變文件所有者占用的磁盤空間大小。(是啊,我們知道:我們希望自己能夠做到,但沒有效果。)

磁盤配額難以捉摸:啟用配額時,向用戶報(bào)告的可用空間基于其配額限制,而不是驅(qū)動器大小。例如,假設(shè)在一個 50 GB 的驅(qū)動器上為用戶分配了 1 GB 的配額空間。如果用戶立即檢查驅(qū)動器上的可用空間大小,將被告知有 1 GB 的可用空間,即基于其配額的可用空間大小。用戶并不知道驅(qū)動器上的其他 49 GB 磁盤空間。

默認(rèn)情況下,管理員擁有的驅(qū)動器磁盤空間大小不受限制(當(dāng)然啦,要受實(shí)際磁盤空間大小的限制);事實(shí)上,啟用磁盤配額時,將在配額項(xiàng)表中自動添加 Administrators 組并為其分配不限大小的磁盤空間。最好不要更改此默認(rèn)值。如果將 Administrators 組從配額項(xiàng)表中刪除,或限制管理員可以使用的磁盤空間大小,則可能會大大削弱您管理計(jì)算機(jī)的能力。

附注。由管理員創(chuàng)建的任何文件均歸 Administrators 組所有,而非歸個別管理員所有。這便是我們在前面提到的那個例外。可以為 Administrators 組配置磁盤配額項(xiàng),但不能為任何其他組配置磁盤配額項(xiàng)。(沒錯,這的確不公平。但看一看我們的《古語類編》,根本找不到包含“生活是公平的”內(nèi)容的古語。)
 
前面我們講過,在 Windows 2000 中實(shí)現(xiàn)磁盤配額的主要障礙之一是缺少有用的管理工具。例如,假設(shè)要生成一份報(bào)告,顯示計(jì)算機(jī)上所有驅(qū)動器的所有磁盤配額項(xiàng)。在 Windows 2000 中,沒有簡便的實(shí)現(xiàn)方法。其一,干脆不要考慮使用“磁盤配額項(xiàng)”實(shí)用工具,因?yàn)闊o法使用該工具來打印信息,甚至無法將數(shù)據(jù)保存到文本文件中。其二,盡管可以編寫使用“Shell”對象的腳本,但需要包含大量的代碼,其目的僅僅是為了識別和連接到計(jì)算機(jī)上的所有驅(qū)動器。真麻煩,或許并不值得這樣做。(讓那句“不勞無獲”見鬼去吧。)

那么在 Windows 2003 中實(shí)現(xiàn)起來是否會容易一些呢?以下是專用于實(shí)現(xiàn)該目的的腳本:它返回計(jì)算機(jī)上所有驅(qū)動器的所有配額項(xiàng)的相關(guān)信息,只通過幾行代碼就實(shí)現(xiàn)了該目的:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colDiskQuotas = objWMIService.ExecQuery("Select * from Win32_DiskQuota") For Each objQuota in colDiskQuotas Wscript.Echo "Disk Space Used: " & objQuota.DiskSpaceUsed Wscript.Echo "Limit: " & objQuota.Limit Wscript.Echo "Quota Volume: " & objQuota.QuotaVolume Wscript.Echo "Status: " & objQuota.Status Wscript.Echo "User: " & objQuota.User Wscript.Echo "Warning Limit: " & objQuota.WarningLimit Wscript.Echo Next

不錯,是吧?但還可以變得更好。因?yàn)檫@是 WMI,所以可以創(chuàng)建一些查詢,以便返回一組更具體的信息。例如,可能需要獲得超出配額限制的所有用戶(即“Status”屬性值為 2 的所有配額項(xiàng))的集合。如果是這樣,只需使用類似于以下內(nèi)容的 WQL 查詢:

Set colDiskQuotas = objWMIService.ExecQuery _
    ("Select * from Win32_DiskQuota Where Status = 2")

以下是另一個示例查詢,它返回占用的磁盤空間超過 1,000,000 KB 的所有用戶(不考慮其配額設(shè)置)的列表:

Set colDiskQuotas = objWMIService.ExecQuery _
    ("Select * from Win32_DiskQuota Where DiskSpaceUsed > 1000000")

以上代碼再次證明,在管理像磁盤配額這樣的內(nèi)容方面,腳本是一種非常好的方法。只需花費(fèi)相對較少的時間,就可以創(chuàng)建一個完全按照預(yù)期方式工作的管理工具。

順便提一句,用戶達(dá)到其配額級別時,將在發(fā)生配額沖突的計(jì)算機(jī)上的系統(tǒng)事件日志中記錄一個事件。不過,不會向用戶發(fā)出任何種類的通知。用戶根本不知道他/她已接近其配額限制,直到他們嘗試保存文件,但由于磁盤空間不足而被拒絕訪問時,才會意識到這種情況。

為什么要提到這一點(diǎn)呢?因?yàn)槟梢暂p松編寫一個腳本以返回超出警告限制或配額限制的用戶列表,然后讓該腳本向每個用戶發(fā)送電子郵件,通知他們出現(xiàn)的情況,可能還會提供有關(guān)如何釋放更多磁盤空間的建議。請嘗試?yán)貌僮飨到y(tǒng)內(nèi)置的磁盤配額管理工具來實(shí)現(xiàn)該目的。

#p#

檢索單個磁盤配額項(xiàng)

至此可以明顯地看出,Windows Server 2003 和 Windows XP 中新增的 WMI 類可簡化對磁盤配額設(shè)置與配額項(xiàng)的總體管理(即對計(jì)算機(jī)上所有驅(qū)動器的磁盤配額設(shè)置與配額項(xiàng)進(jìn)行管理)。不過,也可以對各個配額項(xiàng)進(jìn)行管理。例如,以下腳本(我們得承認(rèn),看上去有點(diǎn)兒嚇人)檢索用戶 fabrikam\kenmyer 在計(jì)算機(jī)驅(qū)動器 C 上的配額限制:

strComputer = "."

strDrive = "C:"
strDomain = "fabrikam"
strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set objQuota = objWMIService.Get _
    ("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=" & chr(34) & strDrive & chr(34) & "'," & _
        "User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _
            ",Name=" & chr(34) & strUser & chr(34) & "'")

Wscript.Echo objQuota.Limit

事實(shí)上,腳本的大部分內(nèi)容非常淺顯易懂,但有一個明顯的例外情況:用于檢索配額項(xiàng)的 WQL 查詢。您可能注意到了,該查詢滿是 & 號、單引號、雙引號及各種標(biāo)點(diǎn)。看上去不太雅觀(盡管古語有云,情人眼里出西施),但這正是 WMI 跟蹤各個配額項(xiàng)的方式。例如,以下是 Wbemtest 中配額項(xiàng)實(shí)例的外觀:

imageFile 

換言之,不論好壞(是的,情況可能會變得很糟),磁盤配額項(xiàng)的鍵屬性都是“Win32_DiskQuota”、“Win32_LogicalDisk”及“Win32_Account”類的組合,而且這種情況根本無法避免。

但不必為此擔(dān)心。以上腳本在設(shè)計(jì)時考慮了如何更簡便地進(jìn)行修改和使用。WQL 查詢顯得如此神秘的部分原因是,我們使用了變量來表示驅(qū)動器、用戶及用戶域。要使用該腳本,只需給表示這些屬性的三個變量分配相應(yīng)的值即可:

strDrive = "C:"
strDomain = "fabrikam"
strUser = "kenmyer"

修改磁盤配額項(xiàng)

Limit 和 WarningLimit 屬性都是讀/寫屬性:這意味著,可以使用腳本來修改其中任何一個屬性的值。例如,以下腳本修改用戶 fabrikam\kenmyer 的驅(qū)動器 C“Limit”值:

strComputer = "."
 
strDrive = "C:"
strDomain = "fabrikam"
strUser = "kenmyer"
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
 
Set objQuota = objWMIService.Get _
    ("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=" & chr(34) & strDrive & chr(34) & "'," & _
        "User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _
            ",Name=" & chr(34) & strUser & chr(34) & "'")

objQuota.Limit = 11111111 objQuota.Put_

同往常一樣,應(yīng)確保在分配新值后調(diào)用“Put_”方法。如果不調(diào)用 Put_,并不會生成任何錯誤,但也不會對配額項(xiàng)進(jìn)行任何更改。

當(dāng)然,也可以更改驅(qū)動器上所有用戶的“Limit”。下面的腳本正好可以實(shí)現(xiàn)此目的:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colDiskQuotas = objWMIService.ExecQuery _
    ("Select * from Win32_DiskQuota Where QuotaVolume = 'C:\\'")

For Each objQuota in colDiskQuotas objQuota.Limit = 11111111 objQuota.Put_ Next

#p#

刪除磁盤配額項(xiàng)

有時,磁盤配額管理僅僅是求解簡單的數(shù)學(xué)等式。例如,假設(shè)有 100 個用戶和 100 GB 的可用磁盤空間。只要您愿意,完全可以將可用磁盤空間大小除以用戶數(shù),因而為每個用戶分配 1 GB 的磁盤空間。

當(dāng)然,只有在相關(guān)數(shù)字有效時,這種計(jì)算才有用處。如果實(shí)際上有 50 個用戶,則可能為每個用戶少分配了磁盤空間;如果有 200 個用戶,則分配的磁盤空間超過實(shí)際存在的磁盤空間。因此,需要密切注意驅(qū)動器的可用磁盤空間大小和配額項(xiàng)數(shù)。要完成后一項(xiàng)任務(wù),需要經(jīng)常刪除無效的配額項(xiàng),例如,組織中不再存在的用戶或不再具有驅(qū)動器訪問權(quán)限的用戶的配額項(xiàng)。(您需要手動完成此項(xiàng)任務(wù),因?yàn)槊看蝿h除用戶帳戶時并不會自動刪除配額項(xiàng)。)所幸的是,這是另一項(xiàng)可以使用腳本來執(zhí)行的任務(wù)。

要刪除配額項(xiàng),只需連接到該項(xiàng),然后調(diào)用“Delete_”方法;甚至不必調(diào)用 Put_,即可將更改寫入操作系統(tǒng)。在調(diào)用 Delete_ 時,即會刪除配額項(xiàng)。

以下腳本刪除用戶 fabrikam\kenmyer 在驅(qū)動器 C 上的配額項(xiàng):

strComputer = "."
 
strDrive = "C:"
strDomain = "fabrikam"
strUser = "kenmyer"
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
 
Set objQuota = objWMIService.Get _
    ("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.DeviceID=" & chr(34) & strDrive & chr(34) & "'," & _
        "User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _
            ",Name=" & chr(34) & strUser & chr(34) & "'")
  objQuota.Delete_

請記住,刪除配額項(xiàng)不會影響用戶在驅(qū)動器上存儲文件的能力。假設(shè)您刪除了 Ken Myer 的配額項(xiàng),而后不久 Ken 嘗試在該驅(qū)動器上存儲文件。是否會拒絕 Ken 訪問該驅(qū)動器呢?不會。他可以保存文件,系統(tǒng)將為他創(chuàng)建一個全新的配額項(xiàng)。如果要禁止用戶在驅(qū)動器上保存文件,則必須使用 NTFS 權(quán)限,而不是磁盤配額。

還要記住,如果任何用戶仍是驅(qū)動器上文件的所有者,就無法刪除其配額項(xiàng)。要刪除配額項(xiàng),必須先刪除這些文件,移動這些文件或取得這些文件的所有權(quán)。

創(chuàng)建新的磁盤配額項(xiàng)

如上所述,不必為可能在驅(qū)動器中保存文件的每個新用戶創(chuàng)建新的配額項(xiàng)。這便是默認(rèn)配額及默認(rèn)警告限制存在的原因。用戶保存文件時,操作系統(tǒng)會查找用戶及其配額設(shè)置。如果用戶尚無配額項(xiàng),操作系統(tǒng)會根據(jù)默認(rèn)設(shè)置自動創(chuàng)建一個新的配額項(xiàng)。這大大簡化了磁盤配額管理。

不過,您有時可能不想對用戶應(yīng)用這些默認(rèn)設(shè)置。例如,您可能希望給美工分配較多的磁盤空間,而給接待員分配較少的磁盤空間。在與此類似的情況下,可以等到美工在磁盤上保存文件,并因而根據(jù)默認(rèn)設(shè)置生成新的配額項(xiàng),然后再使用腳本修改這些設(shè)置。也可以事先使用腳本創(chuàng)建一個配額項(xiàng),從一開始就為該用戶分配更多的磁盤空間,這樣可能會節(jié)約一些時間,省卻一些麻煩。

這里再先給您提個醒:用于創(chuàng)建新配額項(xiàng)的腳本看上去有點(diǎn)兒古怪。不過,示例腳本在設(shè)計(jì)時也考慮了使用簡便性:您只需為驅(qū)動器、用戶名和域分配相應(yīng)的值,即可照搬使用此腳本。

strComputer = "."

strDrive = "C:"
strDomain = "fabrikam"
strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set objAccount = objWMIService.Get _
    ("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")
Set objDisk = objWMIService.Get _
    ("Win32_LogicalDisk.DeviceID='" & strDrive & "'")
Set objQuota = objWMIService.Get _
    ("Win32_DiskQuota").SpawnInstance_

objQuota.QuotaVolume = objDisk.Path_.RelPath objQuota.User = objAccount.Path_.RelPath objQuota.Limit = 10485760 objQuota.WarningLimit = 8388608 objQuota.Put_

是啊,我們知道:此腳本比我們一直使用的腳本略為復(fù)雜一些。這在很大程度上是因?yàn)椋覀冃枰獎?chuàng)建表示用戶帳戶 (objAccount) 和創(chuàng)建配額項(xiàng)時所在的驅(qū)動器 (objDisk) 的對象引用。可以使用以下兩行代碼來執(zhí)行這項(xiàng)操作:

Set objAccount = objWMIService.Get _
    ("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'") Set objDisk = objWMIService.Get _ ("Win32_LogicalDisk.DeviceID='" & strDrive & "'")

創(chuàng)建這兩個對象引用后,即可使用“SpawnInstance_”方法來創(chuàng)建空白配額項(xiàng)。然后,只需指定 QuotaVolume、User、Limit 及 WarningLimit 屬性的值即可。此處的難點(diǎn)是,在設(shè)置 QuotaVolume 和 User 屬性的值時使用兩個對象引用的 Path_.RelPath 屬性。磁盤驅(qū)動器和用戶的 Path_.RelPath 值與以下內(nèi)容類似:

Win32_LogicalDisk.DeviceID="C:"
Win32_UserAccount.Domain="fabrikam",Name="kenmyer"

使用 Path_.RelPath 屬性是為了圖方便:與使用由令人頭痛的串接字符串(包含各種 & 號、單引號和雙引號)組成的其他屬性相比,使用該屬性略為簡潔一些。

當(dāng)然,接下來使用 Put_ 方法實(shí)際創(chuàng)建配額項(xiàng)。

要知道有這樣一句話:天下無不散之宴席,它同樣適用于本文。如果您在使用腳本來管理磁盤配額方面有什么問題或意見,請將它們發(fā)送到 scripter@microsoft.com。同時,我們期望能夠證明那條“魚與熊掌不可兼得”古語是錯誤的。祝我們好運(yùn)吧。

原文地址

查看更多相關(guān)文章

 

責(zé)任編輯:yangsai 來源: 微軟TechNet中文站
相關(guān)推薦

2011-07-15 16:30:19

WINS

2020-09-27 15:08:29

Windows XPWindows微軟

2013-11-28 13:52:43

微軟Windows XPServer 2003

2012-09-06 16:26:29

2013-07-09 09:14:08

Windows XPOffice 2003

2012-11-15 15:33:27

Windows Ser

2009-03-30 15:52:24

Windows Emb

2009-12-02 13:36:28

2010-05-28 11:02:04

2010-07-26 09:07:32

Windows SerWindows SerLinux

2015-07-14 09:40:33

Windows Ser退役

2011-07-06 08:58:56

2010-04-20 14:06:07

NTFS權(quán)限

2020-09-27 10:05:20

Windows 代碼系統(tǒng)

2009-06-19 08:31:59

Windows 7微軟操作系統(tǒng)

2010-08-30 11:03:48

DHCP服務(wù)器Windows 200Windows Ser

2010-11-01 06:28:51

2009-09-24 11:02:24

打印服務(wù)器

2014-09-12 09:32:37

2009-09-04 08:42:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

懂色aⅴ精品一区二区三区| 先锋av资源站| 激情六月综合| 亚洲精品一区二区三区婷婷月 | 欧美夫妇交换xxx| 怡红院成人在线| 亚洲色图欧美激情| 欧美激情论坛| 午夜精品久久久久久久96蜜桃| 中文亚洲免费| 欧美超级免费视 在线| 菠萝菠萝蜜网站| 国产日韩一区二区三免费高清| 香蕉乱码成人久久天堂爱免费| 日韩精品久久一区| 人妻一区二区三区免费| 久久精品国产77777蜜臀| 久久久久久久久久久国产| 成年人看的免费视频| 林ゆな中文字幕一区二区| 欧美日韩aaa| 激情五月开心婷婷| 爱福利在线视频| 亚洲欧洲另类国产综合| 人禽交欧美网站免费| 亚洲经典一区二区三区| 精品一区二区三区免费| 国产97在线|日韩| 日本三级理论片| 亚洲欧美日韩高清在线| 一区国产精品视频| 老鸭窝一区二区| 激情小说一区| 日韩欧美一二三区| 午夜大片在线观看| av在线不卡精品| 日韩欧美在线视频| 欧美黑人经典片免费观看 | 97免费中文视频在线观看| 永久免费看片直接| 日韩三级在线| 国产亚洲精品久久| 亚洲码无人客一区二区三区| 美女福利一区| 亚洲精品电影网| 精品人妻在线视频| а√中文在线天堂精品| 日韩三级免费观看| 熟妇无码乱子成人精品| av在线播放一区二区| 欧美日韩在线播放三区四区| 中文字幕第36页| 欧美日韩视频免费观看| 欧美在线你懂的| 狠狠躁狠狠躁视频专区| 国产一区二区精品调教| 欧美日韩综合不卡| 亚洲免费黄色网| 国产精品99久久免费| 欧美一区二区三区视频在线| 99国产精品免费视频| 日韩三级久久| 精品国产1区2区3区| 欧美极品jizzhd欧美仙踪林| 免费看久久久| 亚洲人午夜精品免费| 蜜桃无码一区二区三区| 日韩av有码| 久久深夜福利免费观看| 青青草原免费观看| 99在线热播精品免费99热| 欧美一级片免费在线| 一二三区免费视频| 久久国产视频网| 不卡日韩av| 香蕉视频成人在线| 欧美激情综合五月色丁香小说| 亚洲精品在线免费| 宅男在线观看免费高清网站| 亚洲图片一区二区| 韩国一区二区av| 日本成人在线网站| 亚洲国产日韩一区| 精品一区二区三区蜜桃在线| 91精品久久久久久久蜜月| 久久久久久久久国产| 欧美成人一区二区三区四区| 久草热8精品视频在线观看| 国产精品免费视频一区二区| 国产资源在线看| 亚洲精品日韩综合观看成人91| 精品人妻少妇一区二区| 99久久婷婷国产综合精品首页| 欧美一区二区三区视频在线观看| 日本japanese极品少妇| 外国成人激情视频| 欧美专区福利在线| 精品国自产拍在线观看| 欧美激情一区二区三区不卡| 日韩精品免费一区| 日韩国产网站| 亚洲福利视频在线| 欧美色图亚洲视频| 久久狠狠婷婷| 国产精品国产亚洲精品看不卡15| 国产精品久久久久一区二区国产| 亚洲欧美日韩中文播放| av网址在线观看免费| 哺乳一区二区三区中文视频| 色综合伊人色综合网站| 国产成人无码精品久在线观看| 精品一区二区三区香蕉蜜桃| 久久久久久亚洲精品不卡4k岛国 | 97精品一区二区视频在线观看| 中文字幕男人天堂| 91丨九色丨蝌蚪丨老版| www.夜夜爱| 精品一区91| 少妇高潮久久77777| 中文字幕国产在线观看| 成人免费毛片高清视频| 小泽玛利亚av在线| 九九久久国产| 最近中文字幕日韩精品 | а√天堂8资源在线| 正在播放亚洲一区| 在线观看免费黄色网址| 噜噜爱69成人精品| 好吊妞www.84com只有这里才有精品 | 男的插女的下面视频| 韩国三级大全久久网站| www.亚洲男人天堂| 一级特黄特色的免费大片视频| 久久免费午夜影院| 欧美日韩激情视频在线观看| av毛片精品| 欧美国产日韩一区二区在线观看| 国产人妖一区二区| 一区二区中文视频| 中文字幕1234区| 天天做综合网| 91久久嫩草影院一区二区| 色网站在线看| 欧美二区三区的天堂| 5566中文字幕| 捆绑调教一区二区三区| 三年中国中文在线观看免费播放| 日本一区二区三区中文字幕| www.欧美免费| 午夜免费福利视频| 亚洲综合av网| 黄色免费看视频| 国产精品尤物| 视频一区二区精品| 国产一区二区三区四区五区3d| 视频在线观看一区二区| 国产又粗又黄又爽| 亚洲精品videosex极品| 色哟哟视频在线| 午夜一区不卡| 亚洲第一综合| 成人av在线播放| 欧美高清videos高潮hd| 国模人体一区二区| 日韩欧美国产成人| 亚洲男女在线观看| 日韩电影一区二区三区四区| 亚洲三区四区| 日韩免费高清视频网站| 国模gogo一区二区大胆私拍| 欧美一区二区少妇| 欧美精品乱人伦久久久久久| www欧美com| 成人97人人超碰人人99| www.四虎成人| 天天综合精品| 久久国产手机看片| 激情久久一区二区| 欧美激情va永久在线播放| 亚洲av成人精品毛片| 在线观看欧美日本| 精品97人妻无码中文永久在线| a美女胸又www黄视频久久| 无码人妻丰满熟妇区五十路百度| 91综合在线| 精品免费二区三区三区高中清不卡| 日本免费一区二区三区四区| 久久这里只有精品99| 亚洲 欧美 自拍偷拍| 欧美另类久久久品| 日韩黄色一级大片| 日韩理论片在线| 中文字幕xxx| 狠狠色狠狠色综合系列| 国产二区视频在线播放| 91精品国产自产拍在线观看蜜| 久久久久se| 日韩成人在线看| 国产精品免费小视频| 爱草tv视频在线观看992| 日韩有码在线电影| 精品视频一二三| 精品噜噜噜噜久久久久久久久试看 | 成a人片在线观看www视频| 日韩欧美黄色影院| 国产精品成人久久久| 亚洲成人av一区二区三区| 色婷婷粉嫩av| 国产日韩精品一区二区三区在线| 亚洲一级Av无码毛片久久精品| 麻豆高清免费国产一区| 激情综合在线观看| 亚洲巨乳在线| 国产精品日韩三级| 99免费精品| 色综合影院在线观看| 欧美1区二区| 国产不卡一区二区在线观看| 日韩一区二区三区四区五区 | 色偷偷88888欧美精品久久久| 特黄视频在线观看| 日韩欧美一区二区免费| 国产一区二区视频免费观看| 欧美亚洲国产怡红院影院| 成人免费看片98欧美| 亚洲综合图片区| 亚洲成人生活片| 18成人在线视频| 少妇视频一区二区| 亚洲国产精品传媒在线观看| 性欧美13一14内谢| 91网址在线看| 青青草视频成人| 久久久99久久精品欧美| 亚洲av无码国产精品久久| 99re在线精品| theav精尽人亡av| 99精品久久只有精品| 久久久老熟女一区二区三区91| 国产精品亚洲成人| 久久久久久综合网| 国产一区二区免费视频| 亚洲网中文字幕| 国产精品亚洲专一区二区三区 | 超碰在线免费97| 欧美亚洲免费在线一区| 亚洲精品国产欧美在线观看| 欧美三级午夜理伦三级中视频| 免费无码国产精品| 在线观看一区日韩| 中文字幕在线2018| 欧美精品在线观看一区二区| 96日本xxxxxⅹxxx17| 欧美一区二区三区视频| 性猛交富婆╳xxx乱大交天津| 精品国产电影一区二区| 西西人体44www大胆无码| 亚洲美女在线视频| 最近高清中文在线字幕在线观看| www.日韩视频| 国产乱妇乱子在线播视频播放网站| 欧美精品久久久久久久久| 国产福利片在线观看| 日韩美女av在线免费观看| 91在线亚洲| 亚洲永久免费观看| 高清一区二区三区| 欧美日韩国产一二| 91久久国产| 欧美 丝袜 自拍 制服 另类| 久久精品盗摄| 国产无遮挡猛进猛出免费软件 | 欧美日韩高清一区二区不卡| 国产免费高清av| 日韩成人在线观看| 伊人免费在线| 国内精久久久久久久久久人| 欧美精品高清| 亚洲最大成人免费视频| 亚欧日韩另类中文欧美| 中文字幕剧情在线观看一区| 亚洲黄色高清| 国产aaaaa毛片| 成人丝袜视频网| www.涩涩爱| 欧美日韩国内自拍| 91av国产精品| 亚洲奶大毛多的老太婆| √天堂8在线网| 日韩免费高清在线观看| 色www免费视频| 欧美3p在线观看| 国内少妇毛片视频| 奇米影视一区二区三区小说| 国产精九九网站漫画| 久久精品在线免费观看| 欧美人与禽zozzo禽性配| 91国产免费观看| 亚洲毛片在线播放| 色婷婷综合久久久久| 在线看片福利| 99热最新在线| 久久久综合色| 国产女女做受ⅹxx高潮| 国产精品1024久久| 五月婷六月丁香| 精品欧美激情精品一区| 国产哺乳奶水91在线播放| 亚洲香蕉成人av网站在线观看 | 日本精品在线视频| 日韩中文字幕无砖| 中国成人在线视频| 视频一区视频二区在线观看| 岛国精品资源网站| 亚洲黄色片在线观看| 亚洲一区二区三区网站| 亚洲乱码av中文一区二区| 久久免费电影| 91亚洲精品丁香在线观看| 久久一区91| 99视频在线视频| 久久久久综合网| 老熟妇仑乱一区二区av| 亚洲大尺度美女在线| caopo在线| 91视频免费网站| 99re久久最新地址获取| 亚欧在线免费观看| 久久影视一区二区| 中文字幕免费在线观看视频| 亚洲缚视频在线观看| 欧美大片黄色| 成人自拍爱视频| 亚欧精品在线视频| 不卡av在线网| 日本一级淫片免费放| 日韩亚洲国产中文字幕欧美| 黄色片网站在线| 91九色在线视频| 亚洲h色精品| 在线观看中文av| 亚洲精品成人精品456| 成人av一区二区三区在线观看| 久久伊人精品天天| 久久三级中文| 黄色网在线视频| 丁香一区二区三区| 69精品久久久| 亚洲精品美女在线| 中文日产幕无线码一区二区| 美女被啪啪一区二区| 久久亚洲风情| 成年人免费视频播放| 91麻豆精品国产91久久久久久久久 | 国产69精品一区二区亚洲孕妇| 国产一级在线免费观看| 欧美精品一区二区三区高清aⅴ| 91美女主播在线视频| 欧美精品人人做人人爱视频| 日日摸夜夜添夜夜添国产精品| 阿v天堂2014| 777a∨成人精品桃花网| 久久亚洲资源| 美女被啪啪一区二区| 麻豆精品一二三| 在线免费日韩av| 亚洲黄色成人网| 欧亚一区二区| 无码人妻精品一区二区三区99v| 丁香婷婷综合激情五月色| 国产精品黄色大片| 中文字幕久久亚洲| 日韩中文字幕在线一区| 国产中文字幕免费观看| 中文字幕高清不卡| 精品国产无码AV| 18性欧美xxxⅹ性满足| 久久综合av| 精品影片一区二区入口| 欧洲av一区二区嗯嗯嗯啊| 久久亚洲天堂| 麻豆亚洲一区| 国产精品资源在线| 久久久精品福利| 久久国产视频网站| 国产精品一在线观看| 欧美一区二区三区影院| 色噜噜偷拍精品综合在线| 菠萝菠萝蜜在线观看| 欧美乱偷一区二区三区在线| 国产一区二区三区观看| 无码任你躁久久久久久久| 欧美超级乱淫片喷水| 国产一区二区三区四区五区传媒| 波多野结衣在线免费观看| 色系网站成人免费| 黄色大片在线| 在线无限看免费粉色视频| 91美女在线视频| 超碰免费在线97|