18
Gerenciando co Uma visão geral dos novos XP, que permitem a gravaç configuração das cotas de d Um breve histórico sobre a Sempre que você ouve um palavras. Quem não escuta tem? Espere um pouco enq não podemos contestar iss ter fé. Mas ainda assim ele Observe este: Cuidado com menor sentido. Por que voc que até mesmo os autores longo tempo para explicar Entretanto, os administrad lançamento do Windows 2 “Cuidado com o que deseja desejos de qualquer admin NT não oferecia suporte. E Exatamente, a Microsoft co suporte completo às cotas ditado “Peça e receberás”. Então, qual era o problema cotas de disco, elas funcion administradores do sistema mas não sabiam a melhor m gerenciadas de unidade pa cotas em um computador ( de um computador). Não a Não era possível ge www.cdcbrasil.com.br/ncomputing BOLETIM TÉCNICO NComputing Brasil - #110412 otas de disco no Windows S e no Windows XP recursos encontrados no Windows Server 20 ção dos scripts responsáveis pelo gerenciame disco em toda a empresa. as cotas de disco ditado popular, reconhece facilmente a men a cuidado, escuta coitado? Faz sentido. Quem quanto consultamos o orçamento da Equipe so. Deus ajuda a quem cedo madruga? Bem, n e é bastante razoável. m o que deseja, pois pode conseguir. O quê? E cê desejaria algo que não o deixasse feliz? Ah de ditados populares têm um dia de folga. (O o ditado “Não se pode ter tudo o que deseja dores do sistema que já atuavam no mercado 2000 compreendem bem o significado do dita a”. Na época do Windows NT, um dos princip nistrador do sistema eram as cotas de disco, à advinha o que aconteceu no lançamento do onsiderou o seu desejo uma ordem: o Windo de disco (em volumes NTFS) prontas. De aco a? É importante ressaltar que não havia nada navam exatamente conforme o previsto. O pr a, que possuíam uma excelente ferramenta à maneira de gerenciá-la. As cotas de disco tinh ara unidade, uma forma complexa de chegar (ou seja, a utilização das cotas distribuída por apenas isso, mas: erar relatórios de cotas de disco. Server 2003 003 e no Windows ento e pela nsagem de suas m tudo quer nada de Scripts… Certo, neste teremos que Esse não faz o h, certo: parece O que levaria um a”.) o antes do ado popular pais itens da lista de às quais o Windows o Windows 2000? ows 2000 oferecia ordo com outro a de errado com as roblema era dos à sua disposição, ham de ser ao uso geral das r todas as unidades

NComputing Brasil - #110412 Gerenciando cotas de disco no ... · PDF filecotas em um computador ... deve às novas classes WMI, presentes no Windows Server 2003 e no Windows XP, criadas

  • Upload
    vuongtu

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Gerenciando cotas de disco no Windows Server 2003

Uma visão geral dos novos recursos encontrados no Windows Server 2003 e no Windows XP, que permitem a gravação dos scripts responsáveis pelo gerconfiguração das cotas de disco em toda a empresa. Um breve histórico sobre as cotas de discoSempre que você ouve um ditado popular, reconhece facilmente a mensagem de suas palavras. Quem não escuta cuidado, escuta coitado? Faz sentidotem? Espere um pouco enquanto consultamos o orçamento da Equipe de Scripts… Certo, não podemos contestar isso. Deus ajuda a quem cedo madruga? Bem, neste teremos que ter fé. Mas ainda assim ele é bastante razoável.Observe este: Cuidado com o que deseja, pois pode conseguir. O quê? Esse não faz o menor sentido. Por que você desejaria algo que não o deixasse feliz? Ah, certo: parece que até mesmo os autores de ditados populares têm um dia de folga. (O que levaria um longo tempo para explicar o ditado “Não se pode ter tudo o que deseja”.)Entretanto, os administradores do sistema que já atuavam no mercado antes do lançamento do Windows 2000 compreendem bem o significado do ditado popular “Cuidado com o que deseja”. Na época do Windows NT,desejos de qualquer administrador do sistema eram as cotas de disco, às quais o Windows NT não oferecia suporte. E advinha o que aconteceu no lançamento do Windows 2000? Exatamente, a Microsoft considerou o seu desejo usuporte completo às cotas de disco (em volumes NTFS) prontas. De acordo com outro ditado “Peça e receberás”. Então, qual era o problema? É importante ressaltar que não havia nada de errado com as cotas de disco, elas funcionavam exatamente conforme o previsto. O problema era dos administradores do sistema, que possuíam uma excelente ferramenta à sua disposição, mas não sabiam a melhor maneira degerenciadas de unidade para unidadcotas em um computador (ou seja, a utilização das cotas distribuída por todas as unidades de um computador). Não apenas isso, mas:

• Não era possível gerar relatórios de cotas de disco.

www.cdcbrasil.com.br/ncomputing

BOLETIM TÉCNICO NComputing Brasil - #110412

Gerenciando cotas de disco no Windows Server 2003 e no Windows XP

Uma visão geral dos novos recursos encontrados no Windows Server 2003 e no Windows XP, que permitem a gravação dos scripts responsáveis pelo gerenciamento e pela configuração das cotas de disco em toda a empresa.

Um breve histórico sobre as cotas de disco Sempre que você ouve um ditado popular, reconhece facilmente a mensagem de suas palavras. Quem não escuta cuidado, escuta coitado? Faz sentido. Quem tudo quer nada tem? Espere um pouco enquanto consultamos o orçamento da Equipe de Scripts… Certo, não podemos contestar isso. Deus ajuda a quem cedo madruga? Bem, neste teremos que ter fé. Mas ainda assim ele é bastante razoável.

do com o que deseja, pois pode conseguir. O quê? Esse não faz o menor sentido. Por que você desejaria algo que não o deixasse feliz? Ah, certo: parece que até mesmo os autores de ditados populares têm um dia de folga. (O que levaria um

licar o ditado “Não se pode ter tudo o que deseja”.)Entretanto, os administradores do sistema que já atuavam no mercado antes do lançamento do Windows 2000 compreendem bem o significado do ditado popular “Cuidado com o que deseja”. Na época do Windows NT, um dos principais itens da lista de desejos de qualquer administrador do sistema eram as cotas de disco, às quais o Windows NT não oferecia suporte. E advinha o que aconteceu no lançamento do Windows 2000? Exatamente, a Microsoft considerou o seu desejo uma ordem: o Windows 2000 oferecia suporte completo às cotas de disco (em volumes NTFS) prontas. De acordo com outro

Então, qual era o problema? É importante ressaltar que não havia nada de errado com as

onavam exatamente conforme o previsto. O problema era dos administradores do sistema, que possuíam uma excelente ferramenta à sua disposição, mas não sabiam a melhor maneira de gerenciá-la. As cotas de disco tinham de ser gerenciadas de unidade para unidade, uma forma complexa de chegar ao uso geral das cotas em um computador (ou seja, a utilização das cotas distribuída por todas as unidades de um computador). Não apenas isso, mas:

Não era possível gerar relatórios de cotas de disco.

Gerenciando cotas de disco no Windows Server 2003

Uma visão geral dos novos recursos encontrados no Windows Server 2003 e no Windows enciamento e pela

Sempre que você ouve um ditado popular, reconhece facilmente a mensagem de suas . Quem tudo quer nada

tem? Espere um pouco enquanto consultamos o orçamento da Equipe de Scripts… Certo, não podemos contestar isso. Deus ajuda a quem cedo madruga? Bem, neste teremos que

do com o que deseja, pois pode conseguir. O quê? Esse não faz o menor sentido. Por que você desejaria algo que não o deixasse feliz? Ah, certo: parece que até mesmo os autores de ditados populares têm um dia de folga. (O que levaria um

licar o ditado “Não se pode ter tudo o que deseja”.) Entretanto, os administradores do sistema que já atuavam no mercado antes do lançamento do Windows 2000 compreendem bem o significado do ditado popular

um dos principais itens da lista de desejos de qualquer administrador do sistema eram as cotas de disco, às quais o Windows NT não oferecia suporte. E advinha o que aconteceu no lançamento do Windows 2000?

ma ordem: o Windows 2000 oferecia suporte completo às cotas de disco (em volumes NTFS) prontas. De acordo com outro

Então, qual era o problema? É importante ressaltar que não havia nada de errado com as onavam exatamente conforme o previsto. O problema era dos

administradores do sistema, que possuíam uma excelente ferramenta à sua disposição, . As cotas de disco tinham de ser

e, uma forma complexa de chegar ao uso geral das cotas em um computador (ou seja, a utilização das cotas distribuída por todas as unidades

• Para gerenciar essas conecessário utilizar métodos um pouco obscuros.

• As opções de script eram igualmente limitadas, funcionando apenas em uma única unidade do computador local. (Se estiver interessado em usar scripts para gerenciar cotas de disco no Windows 2000, consulte a seçãode disco” no Guia de Scripts do Microsoft Windows 2000

Em outras palavras, os administradores do sistema conseguiram exatamente o que desejavam: cotas de disco. O problema é qugerenciamento para elas também. As cotas de disco eram, e ainda são, muito úteis no Windows 2000, mas a ausência de ferramentas de gerenciamento dificulta a sua administração em toda a empresa.

Você sabe o que eles dizem? As coisas boas acontecem para aqueles que sabem esperar. Isso parece se aplicar ao caso das cotas de disco. Os administradores do sistema conseguiram as cotas de disco com o Windows 2000, mas não tiveram ajuda para gerenciá-las em toda a empresa. Com mudou. Agora você pode gerenciar cotas de disco facilmente em toda a empresa. Isso se deve às novas classes WMI, presentes no Windows Server 2003 e no Windows XP, criadas para gerenciar as cotas de disco e suas c

Este artigo detalhará essas duas classes WMI e oferecerá diversos scripts de exemplo, que mostrarão como usá-las, para realizar todos os tipos de tarefas de gerenciamento. Contudo, é necessário fazer uma pequena pausa para falar sobre a tecnopelas cotas de discos.

Como as cotas de disco funcionamAs cotas de disco são uma parte integral do sistema de arquivos NTFS. Sempre que um arquivo (ou pasta) é criado em um volume NTFS, ele é atribuído a um proprietário (normalmente o uso criou). Antes que o arquivo seja salvo, o NTFS obtém a ID de usuário de seu proprietário e armazena as informações no atributo Informações Padrão do arquivo (usado para controlar a alocação de espaço em disco). Em seguida, o NTFS localiza a entusuário e determina se a nova alocação do espaço em disco fará com que ele exceda a sua cota. Se isso ocorrer, o NTFS realizará as etapas apropriadas, que podem incluir o logon em uma entrada do log de eventos do sistema ou evitar que o usuário crie um arquivo ou pasta. À medida que o arquivo muda de tamanho, o NFTS atualiza a entrada da cota de disco para refletir o espaço total em disco utilizado pelo usuário. Tudo isso acontece nos bastidores e de forma tão rápida que voperceber.

Antes de poder gerenciar as cotas de disco é importante entender que elas não estão configuradas em uma base computacional ampla. Ao contrário, as cotas de disco estão

www.cdcbrasil.com.br/ncomputing

Para gerenciar essas cotas em computadores remotos, embora fosse possível, era necessário utilizar métodos um pouco obscuros.

As opções de script eram igualmente limitadas, funcionando apenas em uma única unidade do computador local. (Se estiver interessado em usar scripts para gerenciar cotas de disco no Windows 2000, consulte a seção “Gerenciando cotas

Guia de Scripts do Microsoft Windows 2000.)

Em outras palavras, os administradores do sistema conseguiram exatamente o que desejavam: cotas de disco. O problema é que esqueceram de desejar ferramentas de gerenciamento para elas também. As cotas de disco eram, e ainda são, muito úteis no Windows 2000, mas a ausência de ferramentas de gerenciamento dificulta a sua administração em toda a empresa.

zem? As coisas boas acontecem para aqueles que sabem esperar. Isso parece se aplicar ao caso das cotas de disco. Os administradores do sistema conseguiram as cotas de disco com o Windows 2000, mas não tiveram ajuda para

las em toda a empresa. Com o Windows Server 2003 (e o Windows XP) isso gerenciar cotas de disco facilmente em toda a empresa. Isso se

deve às novas classes WMI, presentes no Windows Server 2003 e no Windows XP, criadas para gerenciar as cotas de disco e suas configurações.

Este artigo detalhará essas duas classes WMI e oferecerá diversos scripts de exemplo, que las, para realizar todos os tipos de tarefas de gerenciamento.

Contudo, é necessário fazer uma pequena pausa para falar sobre a tecno

Como as cotas de disco funcionam As cotas de disco são uma parte integral do sistema de arquivos NTFS. Sempre que um arquivo (ou pasta) é criado em um volume NTFS, ele é atribuído a um proprietário (normalmente o uso criou). Antes que o arquivo seja salvo, o NTFS obtém a ID de usuário de seu proprietário e armazena as informações no atributo Informações Padrão do arquivo (usado para controlar a alocação de espaço em disco). Em seguida, o NTFS localiza a entrada das cotas de disco para esse usuário e determina se a nova alocação do espaço em disco fará com que ele exceda a sua cota. Se isso ocorrer, o NTFS realizará as etapas apropriadas, que podem incluir o logon em uma entrada do

u evitar que o usuário crie um arquivo ou pasta. À medida que o arquivo muda de tamanho, o NFTS atualiza a entrada da cota de disco para refletir o espaço total em disco utilizado pelo usuário. Tudo isso acontece nos bastidores e de forma tão rápida que vo

Antes de poder gerenciar as cotas de disco é importante entender que elas não estão configuradas em uma base computacional ampla. Ao contrário, as cotas de disco estão

tas em computadores remotos, embora fosse possível, era

As opções de script eram igualmente limitadas, funcionando apenas em uma única unidade do computador local. (Se estiver interessado em usar scripts para

“Gerenciando cotas

Em outras palavras, os administradores do sistema conseguiram exatamente o que e esqueceram de desejar ferramentas de

gerenciamento para elas também. As cotas de disco eram, e ainda são, muito úteis no Windows 2000, mas a ausência de ferramentas de gerenciamento dificulta a sua

zem? As coisas boas acontecem para aqueles que sabem esperar. Isso parece se aplicar ao caso das cotas de disco. Os administradores do sistema conseguiram as cotas de disco com o Windows 2000, mas não tiveram ajuda para

o Windows Server 2003 (e o Windows XP) isso gerenciar cotas de disco facilmente em toda a empresa. Isso se

deve às novas classes WMI, presentes no Windows Server 2003 e no Windows XP, criadas

Este artigo detalhará essas duas classes WMI e oferecerá diversos scripts de exemplo, que las, para realizar todos os tipos de tarefas de gerenciamento.

Contudo, é necessário fazer uma pequena pausa para falar sobre a tecnologia responsável

As cotas de disco são uma parte integral do sistema de arquivos NTFS. Sempre que um arquivo (ou pasta) é criado em um volume NTFS, ele é atribuído a um proprietário (normalmente o usuário que o criou). Antes que o arquivo seja salvo, o NTFS obtém a ID de usuário de seu proprietário e armazena as informações no atributo Informações Padrão do arquivo (usado para controlar a

rada das cotas de disco para esse usuário e determina se a nova alocação do espaço em disco fará com que ele exceda a sua cota. Se isso ocorrer, o NTFS realizará as etapas apropriadas, que podem incluir o logon em uma entrada do

u evitar que o usuário crie um arquivo ou pasta. À medida que o arquivo muda de tamanho, o NFTS atualiza a entrada da cota de disco para refletir o espaço total em disco utilizado pelo usuário. Tudo isso acontece nos bastidores e de forma tão rápida que você nem vai

Antes de poder gerenciar as cotas de disco é importante entender que elas não estão configuradas em uma base computacional ampla. Ao contrário, as cotas de disco estão

ligadas a volumes NTFS individuais. Cada unidade possui configuraçõe as ações relacionadas a um volume não afetam os outros volumes. Por exemplo, um computador pode ter um único disco rígido dividido em três volumes: unidades C, D e E. Cada uma dessas unidades terá uma configuração de cotas individualas cotas de disco nas unidades C e D e não habilitávocê pode conceder aos usuários 50 MB de espaço em disco na unidade C e 100 MB na unidade D.

Em outras palavras, ao gerenciar cotas de disco, as açõafetam de forma alguma os outros volumes. Se você alocar 50 MB de espaço em disco para um usuário na unidade C, isso não significa que ele terá o mesmo espaço nas unidades D e E. Se você desabilitar as cotas de disco da unidae E permanecerão habilitadas. Lembrepor usuário. Isso será abordado mais detalhadamente a seguir neste artigo.

Além da alocação do espaço em disco, você também pode especificarcota, o volume de uso do espaço em disco que dispara um alerta (um evento gravado no log de eventos do sistema, informando que o usuário está próximo de atingir o limite da cota). Também é possível determinar a ação a ser realizada peexceder a cota:

• Nenhuma ação.

• Gravar um evento no log de eventos do sistema.

• Negar ao usuário o direito de armazenar dados adicionais até que alguns arquivos sejam removidos para restabelecer o limite da cota.

O WMI possui duas classes usadas para gerenciar cotas de disco nas unidades NTFS. A classe Win32_QuotaSettingunidade. Isso inclui medidas como a habilitação ou não das cotas na unidade, a cota padrão e os limites de aviso aclasse Win32_DiskQuota é destinada a gerenciar entradas de cota individuais: ela é usada para enumerar, criar, modificar e excluir entradas de cotas para usuários individuais. Com apenas essas duas classes é po Configurações de gerenciamento de cotas de discoSe você não leu a seção educacional acima, vamos repetir: a classe Win32_QuotaSetting é usada para determinar as situações em que as cotas estejame qualquer unidade de um computador), a cota padrão e os limites de aviso definidos para uma unidade e as ações administrativas, se houver, que serão realizadas caso um usuário exceda o seu limite de cota. A tabela abaixo mos

www.cdcbrasil.com.br/ncomputing

ligadas a volumes NTFS individuais. Cada unidade possui configurações de cota separadas e as ações relacionadas a um volume não afetam os outros volumes. Por exemplo, um computador pode ter um único disco rígido dividido em três volumes: unidades C, D e E. Cada uma dessas unidades terá uma configuração de cotas individual. Você pode habilitar as cotas de disco nas unidades C e D e não habilitá-las na unidade E. Da mesma forma, você pode conceder aos usuários 50 MB de espaço em disco na unidade C e 100 MB na

Em outras palavras, ao gerenciar cotas de disco, as ações realizadas em um volume não afetam de forma alguma os outros volumes. Se você alocar 50 MB de espaço em disco para um usuário na unidade C, isso não significa que ele terá o mesmo espaço nas unidades D e E. Se você desabilitar as cotas de disco da unidade D, as cotas das unidades C e E permanecerão habilitadas. Lembre-se que as cotas de disco também são configuradas por usuário. Isso será abordado mais detalhadamente a seguir neste artigo.

Além da alocação do espaço em disco, você também pode especificar um nível de aviso de cota, o volume de uso do espaço em disco que dispara um alerta (um evento gravado no log de eventos do sistema, informando que o usuário está próximo de atingir o limite da cota). Também é possível determinar a ação a ser realizada pelo sistema se o usuário

Gravar um evento no log de eventos do sistema.

Negar ao usuário o direito de armazenar dados adicionais até que alguns arquivos sejam removidos para restabelecer o limite da cota.

ses usadas para gerenciar cotas de disco nas unidades NTFS. A Win32_QuotaSetting é usada para configurar as definições de cota de cada

unidade. Isso inclui medidas como a habilitação ou não das cotas na unidade, a cota padrão e os limites de aviso aplicados aos novos usuários. Enquanto isso, a

é destinada a gerenciar entradas de cota individuais: ela é usada para enumerar, criar, modificar e excluir entradas de cotas para usuários individuais. Com apenas essas duas classes é possível realizar qualquer tarefa de gerenciamento necessária.

Configurações de gerenciamento de cotas de disco Se você não leu a seção educacional acima, vamos repetir: a classe Win32_QuotaSetting é usada para determinar as situações em que as cotas estejam habilitadas ou não (para toda e qualquer unidade de um computador), a cota padrão e os limites de aviso definidos para uma unidade e as ações administrativas, se houver, que serão realizadas caso um usuário exceda o seu limite de cota. A tabela abaixo mostra as propriedades da classe

es de cota separadas e as ações relacionadas a um volume não afetam os outros volumes. Por exemplo, um computador pode ter um único disco rígido dividido em três volumes: unidades C, D e E.

. Você pode habilitar las na unidade E. Da mesma forma,

você pode conceder aos usuários 50 MB de espaço em disco na unidade C e 100 MB na

es realizadas em um volume não afetam de forma alguma os outros volumes. Se você alocar 50 MB de espaço em disco para um usuário na unidade C, isso não significa que ele terá o mesmo espaço nas

de D, as cotas das unidades C se que as cotas de disco também são configuradas

por usuário. Isso será abordado mais detalhadamente a seguir neste artigo.

um nível de aviso de cota, o volume de uso do espaço em disco que dispara um alerta (um evento gravado no log de eventos do sistema, informando que o usuário está próximo de atingir o limite da

lo sistema se o usuário

Negar ao usuário o direito de armazenar dados adicionais até que alguns arquivos

ses usadas para gerenciar cotas de disco nas unidades NTFS. A é usada para configurar as definições de cota de cada

unidade. Isso inclui medidas como a habilitação ou não das cotas na unidade, a cota plicados aos novos usuários. Enquanto isso, a

é destinada a gerenciar entradas de cota individuais: ela é usada para enumerar, criar, modificar e excluir entradas de cotas para usuários individuais. Com

ssível realizar qualquer tarefa de gerenciamento necessária.

Se você não leu a seção educacional acima, vamos repetir: a classe Win32_QuotaSetting é habilitadas ou não (para toda

e qualquer unidade de um computador), a cota padrão e os limites de aviso definidos para uma unidade e as ações administrativas, se houver, que serão realizadas caso um usuário

tra as propriedades da classe

Win32_QuotaSetting. Todas essas propriedades, exceto a VolumePath, são de leitura/gravação, ou seja, significa que você não está limitado a apenas reportar seus valores existentes. Em vez disso, você pode usar scripts parapropriedades.

Propriedade

DefaultLimit

DefaultWarningLimit

ExceededNotification

State

VolumePath

WarningExceededNotification

Essas propriedades também podem susuário, encontrados na caixa de diálogo

www.cdcbrasil.com.br/ncomputing

Win32_QuotaSetting. Todas essas propriedades, exceto a VolumePath, são de leitura/gravação, ou seja, significa que você não está limitado a apenas reportar seus valores existentes. Em vez disso, você pode usar scripts para modificar

Descrição

Limite padrão (em KB) para cotas em um determinado volume.

Limite de aviso padrão (em KB) para cotas em um determinado

volume.

Indica se os eventos serão gravados ou não no log de eventos,

caso os usuários excedam suas cotas. (Verdadeiro/Falso)

Nível de gerenciamento de cota para um determinado volume. Os

valores são:

0: o gerenciamento de cotas não está habilitado nesse volume.

1: as cotas são rastreadas, mas o valor limite não é aplicado e os

usuários podem exceder seus limites.

2: as cotas são rastreadas e aplicadas nesse volume.

Nome do volume contendo as cotas de disco. Pode ser o nome ou

o caminho do volume (como D:\\). Ao usar um caminho, é

necessário acrescentar duas barras inversas (\

WarningExceededNotification Indica se o eventos serão gravados ou não no log de eventos,

quando o limite de aviso for excedido. (Verdadeiro/Falso)

Essas propriedades também podem ser mapeadas para os elementos da interface do usuário, encontrados na caixa de diálogo Propriedades de uma unidade NTFS:

Win32_QuotaSetting. Todas essas propriedades, exceto a VolumePath, são de leitura/gravação, ou seja, significa que você não está limitado a apenas reportar seus

o valor dessas

Limite padrão (em KB) para cotas em um determinado volume.

Limite de aviso padrão (em KB) para cotas em um determinado

ventos serão gravados ou não no log de eventos,

caso os usuários excedam suas cotas. (Verdadeiro/Falso)

Nível de gerenciamento de cota para um determinado volume. Os

: o gerenciamento de cotas não está habilitado nesse volume.

otas são rastreadas, mas o valor limite não é aplicado e os

: as cotas são rastreadas e aplicadas nesse volume.

Nome do volume contendo as cotas de disco. Pode ser o nome ou

Ao usar um caminho, é

\\).

Indica se o eventos serão gravados ou não no log de eventos,

quando o limite de aviso for excedido. (Verdadeiro/Falso)

er mapeadas para os elementos da interface do de uma unidade NTFS:

Para visualizar a versão em tela inteira desse gráfico,

O que você realmente podecomum é estabelecer uma conexão com um computador e descobrir se as cotas de disco foram habilitadas nos volumes NTFS do computador (e, em caso afirmativo, determinar como as definições de cota foram configuradas). Para retornar as informações de definição de cota para um computador, basta estabelecer ligação com a classe Win32_QuotaSetting e exibir novamente os valores de cada propriedade:

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colQuotaSettings = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting")

For Each objQuotaSetting in colQuotaSettings

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

Wscript.Echo "Default Warning Limit: " &

objQuotaSetting.Def

Wscript.Echo "Exceeded Notification: " &

objQuotaSetting.ExceededNotification

Wscript.Echo "State: " & objQuotaSetting.State

Wscript.Echo "Volume Path: " & objQuotaSetting.Volu mePath

Wscript.Echo "Warn ing Exceeded Notification: " & _

objQuotaSetting.WarningExceededNotification

Next

O script anterior retorna informações de definição de cota para todos os volumes NTFS em um computador. E se você quisesse saber apenas as informações relacionadadefinições de cota para a unidade D? Nesse caso, adicione uma cláusula WHERE à sua consulta WQL, que limite os dados retornados à unidade D:

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colQuotaSett ings = objWMIService.ExecQuery _

www.cdcbrasil.com.br/ncomputing

Para visualizar a versão em tela inteira desse gráfico,

O que você realmente pode fazer com a classe Win32_QuotaSetting? A tarefa macomum é estabelecer uma conexão com um computador e descobrir se as cotas de disco foram habilitadas nos volumes NTFS do computador (e, em caso afirmativo, determinar como as definições de cota foram configuradas). Para retornar as informações de

ção de cota para um computador, basta estabelecer ligação com a classe Win32_QuotaSetting e exibir novamente os valores de cada propriedade:

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

= objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting")

For Each objQuotaSetting in colQuotaSettings

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

Wscript.Echo "Default Warning Limit: " & _

objQuotaSetting.Def aultWarningLimit

Wscript.Echo "Exceeded Notification: " & _

objQuotaSetting.ExceededNotification

Wscript.Echo "State: " & objQuotaSetting.State

Wscript.Echo "Volume Path: " & objQuotaSetting.Volu mePath

ing Exceeded Notification: " & _

objQuotaSetting.WarningExceededNotification

O script anterior retorna informações de definição de cota para todos os volumes NTFS em um computador. E se você quisesse saber apenas as informações relacionadadefinições de cota para a unidade D? Nesse caso, adicione uma cláusula WHERE à sua consulta WQL, que limite os dados retornados à unidade D:

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

ings = objWMIService.ExecQuery _

com a classe Win32_QuotaSetting? A tarefa mais comum é estabelecer uma conexão com um computador e descobrir se as cotas de disco foram habilitadas nos volumes NTFS do computador (e, em caso afirmativo, determinar como as definições de cota foram configuradas). Para retornar as informações de

ção de cota para um computador, basta estabelecer ligação com a classe Win32_QuotaSetting e exibir novamente os valores de cada propriedade:

root \cimv2")

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

O script anterior retorna informações de definição de cota para todos os volumes NTFS em um computador. E se você quisesse saber apenas as informações relacionadas às definições de cota para a unidade D? Nesse caso, adicione uma cláusula WHERE à sua

root \cimv2")

("Select * from Win32_QuotaSetting Where VolumePath = 'D:

For Each objQuotaSetting in colQuotaSettings

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

Wscript.Echo "Default Warning Limit: " &

objQuotaSetting.DefaultWarningLimit

Wscript.Echo "Exceeded Notification: " &

objQuotaSetting.ExceededNotification

Wscript.Echo "State: " & objQuotaSetting.State

Wscript.Echo "Volume Path: " & objQuotaSetting.Vo

Wscript.Echo "Warning Exceeded Notification: " & _

objQuotaSetting.WarningExceededNotification

Next

Observe que é necessário incluir uma barra inversa extra ao especificar a unidade D (Como a barra invertida (\) é um caractefor precedida por outra barra invertida) sempre que for exibida em uma cláusula WHERE.

Habilitando e desabilitando as cotas de disco

A classe Win32_QuotaSetting facilita a habilitação e a desabilitação das coutilização dos scripts do WMI para realizar essas tarefas é especialmente útil, porque eles podem ser executados em computadores remotos como se fossem computadores locais. Os scripts também são uma excelente forma de gerenciar as cotas de oferecem flexibilidade para habilitácomputador. A escolha é sua.

Você pode ativar e desativar as cotas de disco, manipulando o valor da propriedadeEla aceita três valore possíveis:

• 0: as cotas de discos estão desativadas.

• 1: as cotas de discos são rastreadas, mas não são aplicadas. Em outras palavras, o sistema operacional manterá o controle das informações da cota, mas os usuários poderão exceder seu limite.

• 2: as cotas de discos sãopoderão exceder as cotas de disco, ou seja, caso um usuário queira salvar um arquivo que o fará exceder o limite da cota, uma mensagem informando que o espaço em disco é insuficiente será exibida.

www.cdcbrasil.com.br/ncomputing

("Select * from Win32_QuotaSetting Where VolumePath = 'D: \\ '")

For Each objQuotaSetting in colQuotaSettings

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

Wscript.Echo "Default Warning Limit: " & _

objQuotaSetting.DefaultWarningLimit

Wscript.Echo "Exceeded Notification: " & _

objQuotaSetting.ExceededNotification

Wscript.Echo "State: " & objQuotaSetting.State

Wscript.Echo "Volume Path: " & objQuotaSetting.Vo lumePath

Wscript.Echo "Warning Exceeded Notification: " & _

objQuotaSetting.WarningExceededNotification

Observe que é necessário incluir uma barra inversa extra ao especificar a unidade D () é um caractere reservado no WMI, ela pode ser “perdida” (se

for precedida por outra barra invertida) sempre que for exibida em uma cláusula WHERE.

Habilitando e desabilitando as cotas de disco

A classe Win32_QuotaSetting facilita a habilitação e a desabilitação das coutilização dos scripts do WMI para realizar essas tarefas é especialmente útil, porque eles podem ser executados em computadores remotos como se fossem computadores locais. Os scripts também são uma excelente forma de gerenciar as cotas de disco, porque oferecem flexibilidade para habilitá-las em um único volume ou para todos os volumes do computador. A escolha é sua.

Você pode ativar e desativar as cotas de disco, manipulando o valor da propriedadeEla aceita três valore possíveis:

: as cotas de discos estão desativadas.

: as cotas de discos são rastreadas, mas não são aplicadas. Em outras palavras, o sistema operacional manterá o controle das informações da cota, mas os usuários poderão exceder seu limite.

: as cotas de discos são rastreadas e aplicadas. Nesse caso, os usuários não poderão exceder as cotas de disco, ou seja, caso um usuário queira salvar um arquivo que o fará exceder o limite da cota, uma mensagem informando que o espaço em disco é insuficiente será exibida.

'")

Wscript.Echo "Default Limit: " & objQuotaSetting.De faultLimit

Observe que é necessário incluir uma barra inversa extra ao especificar a unidade D (D:\\). re reservado no WMI, ela pode ser “perdida” (se

for precedida por outra barra invertida) sempre que for exibida em uma cláusula WHERE.

A classe Win32_QuotaSetting facilita a habilitação e a desabilitação das cotas de disco. A utilização dos scripts do WMI para realizar essas tarefas é especialmente útil, porque eles podem ser executados em computadores remotos como se fossem computadores locais.

disco, porque las em um único volume ou para todos os volumes do

Você pode ativar e desativar as cotas de disco, manipulando o valor da propriedade State.

: as cotas de discos são rastreadas, mas não são aplicadas. Em outras palavras, o sistema operacional manterá o controle das informações da cota, mas os usuários

aplicadas. Nesse caso, os usuários não poderão exceder as cotas de disco, ou seja, caso um usuário queira salvar um arquivo que o fará exceder o limite da cota, uma mensagem informando que o

O script a seguir configura um computador para rastrear e aplicar as cotas de disco em uma unidade C:

Const ENFORCE_QUOTAS = 2

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C:

For Each objDisk in colDisks

objDisk.State = ENFORCE_QUOTAS

objDisk.Put_

Next

Primeiro o script define uma constante, ENFORCE_QUOTAS, e atribui a ela o valor 2. Então ele se conecta ao serviço WMI e recupera as definições de cota para a unidade C, usando esta linha de código:

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C:

Para habilitar cotas, o script define o valor da prENFORCE_QUOTAS e chama o métodooperacional.

E se você quiser desabilitarvalor da propriedade StateDISABLE_QUOTAS, defina o seu valor como 0 e o valor da propriedade State como DISABLE_QUOTAS. O script concluído terá um aspecto horrível como este:

Const DISABLE_QUOTAS = 0

StrComputer = "."

Set objWMIService = GetObject(

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C:

www.cdcbrasil.com.br/ncomputing

pt a seguir configura um computador para rastrear e aplicar as cotas de disco em

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

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C: \\ '")

For Each objDisk in colDisks

objDisk.State = ENFORCE_QUOTAS

Primeiro o script define uma constante, ENFORCE_QUOTAS, e atribui a ela o valor 2. Então a ao serviço WMI e recupera as definições de cota para a unidade C, usando

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C: \\ '")

Para habilitar cotas, o script define o valor da propriedade State para a constante ENFORCE_QUOTAS e chama o método Put_ para gravar essa alteração no sistema

desabilitar as cotas de disco em uma unidade? Nesse caso, basta definir o State como 0. Para fazê-lo, crie uma constante chamada

DISABLE_QUOTAS, defina o seu valor como 0 e o valor da propriedade State como DISABLE_QUOTAS. O script concluído terá um aspecto horrível como este:

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

Set colDisks = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting Where VolumePath = 'C: \\ '")

pt a seguir configura um computador para rastrear e aplicar as cotas de disco em

root \cimv2")

'")

Primeiro o script define uma constante, ENFORCE_QUOTAS, e atribui a ela o valor 2. Então a ao serviço WMI e recupera as definições de cota para a unidade C, usando

'")

para a constante para gravar essa alteração no sistema

as cotas de disco em uma unidade? Nesse caso, basta definir o lo, crie uma constante chamada

DISABLE_QUOTAS, defina o seu valor como 0 e o valor da propriedade State como DISABLE_QUOTAS. O script concluído terá um aspecto horrível como este:

root \cimv2")

'")

For Each objDisk in colDisks

objDisk.State = DISABLE_QUOTAS

objDisk.Put_

Observe que ao desabilitar as cotas de disco, as informações da cota existente não são descartadas. Por exemplo, qualquer configuração de cota que você tenha definido ou qualquer entrada de cota criada continuará existindo. Contudo, essas configurações não serão aplicadas e a utilização do espaço em disco para cada indivíduo com uma entrada de cota não será atualizada. Se posteriormente as cotas de disco forem reabilitadas, as configurações anteriores e as entradas de cota serão automaticamente restauradas, sem que seja necessário recriá-las. Não desperdice, não deseje, como nós da Equipe de Scripts costumamos dizer.

Modificando as configurações das cotas de disco

Uma das maiores vantagens da classe Win32_QuotaSetting é o fato de a maioria das propriedades ser de leitura/gravaçãde valores de propriedades como a DefaultLimit e a DefaultWarningLimit, mas também possibilita a sua modificação

Por exemplo, esse script modifica as configurações das propriedades DefaultLimit e DefaultWarningLimit para todas as unidades NTFS de um computador:

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colQuotaSettings = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting")

For Each objQuotaSetting in colQuotaSettings

objQuotaSetting.DefaultLimit = 10000000

objQuotaSetting.DefaultWarningLimit = 9000000

objQuotaSetting.Put_

Next

Como você pode ver, basta atribuir um novo valor (em KB) e chamar o métodogravar as novas configurações de cota no sistema operacional. Observe que ao fazer isso, as configurações revisadas da cota serão aplicadas apenas aos novos usuários e não aos usuários que já possuem entradas de cotas de disco na unidade. Por exemplo, suponha que você tem três usuários com entradas de cotas de disco em uma unidade:

www.cdcbrasil.com.br/ncomputing

For Each objDisk in colDisks

objDisk.State = DISABLE_QUOTAS

litar as cotas de disco, as informações da cota existente não são descartadas. Por exemplo, qualquer configuração de cota que você tenha definido ou qualquer entrada de cota criada continuará existindo. Contudo, essas configurações não

utilização do espaço em disco para cada indivíduo com uma entrada de cota não será atualizada. Se posteriormente as cotas de disco forem reabilitadas, as configurações anteriores e as entradas de cota serão automaticamente restauradas, sem

las. Não desperdice, não deseje, como nós da Equipe de Scripts

Modificando as configurações das cotas de disco

Uma das maiores vantagens da classe Win32_QuotaSetting é o fato de a maioria das propriedades ser de leitura/gravação, ou seja, o uso do script não se limita à recuperação de valores de propriedades como a DefaultLimit e a DefaultWarningLimit, mas também

modificação.

Por exemplo, esse script modifica as configurações das propriedades DefaultLimit e aultWarningLimit para todas as unidades NTFS de um computador:

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

Set colQuotaSettings = objWMIService.ExecQuery _

("Select * from Win32_QuotaSetting")

objQuotaSetting in colQuotaSettings

objQuotaSetting.DefaultLimit = 10000000

objQuotaSetting.DefaultWarningLimit = 9000000

Como você pode ver, basta atribuir um novo valor (em KB) e chamar o métodonovas configurações de cota no sistema operacional. Observe que ao fazer isso,

as configurações revisadas da cota serão aplicadas apenas aos novos usuários e não aos usuários que já possuem entradas de cotas de disco na unidade. Por exemplo, suponha

cê tem três usuários com entradas de cotas de disco em uma unidade:

litar as cotas de disco, as informações da cota existente não são descartadas. Por exemplo, qualquer configuração de cota que você tenha definido ou qualquer entrada de cota criada continuará existindo. Contudo, essas configurações não

utilização do espaço em disco para cada indivíduo com uma entrada de cota não será atualizada. Se posteriormente as cotas de disco forem reabilitadas, as configurações anteriores e as entradas de cota serão automaticamente restauradas, sem

las. Não desperdice, não deseje, como nós da Equipe de Scripts

Uma das maiores vantagens da classe Win32_QuotaSetting é o fato de a maioria das o, ou seja, o uso do script não se limita à recuperação

de valores de propriedades como a DefaultLimit e a DefaultWarningLimit, mas também

Por exemplo, esse script modifica as configurações das propriedades DefaultLimit e

root \cimv2")

Como você pode ver, basta atribuir um novo valor (em KB) e chamar o método Put_ para novas configurações de cota no sistema operacional. Observe que ao fazer isso,

as configurações revisadas da cota serão aplicadas apenas aos novos usuários e não aos usuários que já possuem entradas de cotas de disco na unidade. Por exemplo, suponha

cê tem três usuários com entradas de cotas de disco em uma unidade:

Usuário Limite de cota

KMyer 100 MB

PAckerman 200 MB

RWilliams 400 MB

Então você executa um script que altera as definições de cota padrão para um cota de 50 MB e um limite de aviso de 40 MB. Esses valores serão aplicados a qualquer novo usuário que salvar um arquivo ou criar uma pasta na unidade. Contudo, as definições de cota para os três usuários mencionados acimaconfigurações mesmo que possuam um limite de cota bem superior do que o máximo definido de 50 MB. Tudo bem: afinal, as definições de cota consistem em um valor padrão, que será aplicado a todos os novos usuáriosforma. Em outras palavras, é perfeitamente possível ter usuários individuais com valores de definições de cota maiores ou menores do que os valores padrão.

E se você quiser aplicar esses mesmos valores aos três usuários existentes? Nesse caso, será necessário alterar os valores de cada entrada de cota individual do usuário. E isso, por acaso, nos leva a próxima seção.

Gerenciando cotas de disco para usuários individuais

Sempre que um novo usuário salvar um arquivo em uma unidade em que as cotas ddisco foram habilitadas, uma entrada de cota é criada para ele. A entrada de cota mantém o controle dos limites de cota e de aviso, atribuídos ao usuário, bem como a quantidade de espaço em disco atualmente destinada a ele. Na verdade, a entrada de cota semelhante à classeWin32_DiskQuotamodificar e reportar entradas de cota individual. A tabela abaixo mostra as propriedades da classe Win32_QuotaSetting:

Propriedade Descrição

DiskSpaceUsed Número atual de KB (quilobytes) em uso por um determinado usuário.

Limit Definição de limite para determinado usuário. Essa propriedade é

leitura/gravação.

QuotaVolume Volume no qual a entrada de cota está armazenada.

www.cdcbrasil.com.br/ncomputing

Limite de cota Limite de aviso

100 MB 90 MB

200 MB 180 MB

400 MB 350 MB

Então você executa um script que altera as definições de cota padrão para um cota de 50 MB e um limite de aviso de 40 MB. Esses valores serão aplicados a qualquer novo usuário que salvar um arquivo ou criar uma pasta na unidade. Contudo, as definições de cota para os três usuários mencionados acima não serão afetadas, eleconfigurações mesmo que possuam um limite de cota bem superior do que o máximo definido de 50 MB. Tudo bem: afinal, as definições de cota consistem em um valor padrão, que será aplicado a todos os novos usuários a menos que seja especificad

. Em outras palavras, é perfeitamente possível ter usuários individuais com valores de definições de cota maiores ou menores do que os valores padrão.

aplicar esses mesmos valores aos três usuários existentes? Nesse caso, erá necessário alterar os valores de cada entrada de cota individual do usuário. E isso,

por acaso, nos leva a próxima seção.

Gerenciando cotas de disco para usuários individuais

Sempre que um novo usuário salvar um arquivo em uma unidade em que as cotas ddisco foram habilitadas, uma entrada de cota é criada para ele. A entrada de cota mantém o controle dos limites de cota e de aviso, atribuídos ao usuário, bem como a quantidade de espaço em disco atualmente destinada a ele. Na verdade, a entrada de cota

Win32_DiskQuota do WMI, que pode ser usada para criar, excluir, modificar e reportar entradas de cota individual. A tabela abaixo mostra as propriedades da classe Win32_QuotaSetting:

Descrição

atual de KB (quilobytes) em uso por um determinado usuário.

Definição de limite para determinado usuário. Essa propriedade é

leitura/gravação.

Volume no qual a entrada de cota está armazenada.

Limite de aviso

Então você executa um script que altera as definições de cota padrão para um limite de cota de 50 MB e um limite de aviso de 40 MB. Esses valores serão aplicados a qualquer novo usuário que salvar um arquivo ou criar uma pasta na unidade. Contudo, as definições

serão afetadas, eles manterão suas configurações mesmo que possuam um limite de cota bem superior do que o máximo definido de 50 MB. Tudo bem: afinal, as definições de cota consistem em um valor padrão,

a menos que seja especificado de outra . Em outras palavras, é perfeitamente possível ter usuários individuais com valores

aplicar esses mesmos valores aos três usuários existentes? Nesse caso, erá necessário alterar os valores de cada entrada de cota individual do usuário. E isso,

Sempre que um novo usuário salvar um arquivo em uma unidade em que as cotas de disco foram habilitadas, uma entrada de cota é criada para ele. A entrada de cota mantém o controle dos limites de cota e de aviso, atribuídos ao usuário, bem como a quantidade de espaço em disco atualmente destinada a ele. Na verdade, a entrada de cota é bastante

do WMI, que pode ser usada para criar, excluir, modificar e reportar entradas de cota individual. A tabela abaixo mostra as propriedades

atual de KB (quilobytes) em uso por um determinado usuário.

Definição de limite para determinado usuário. Essa propriedade é

Status Status atual da cota de disco. Os

0. OK: o usuário está dentro do limite de sua cota.

1. Aviso: o usuário excedeu o limite de aviso, mas ainda não ultrapassou

o limite de sua cota.

2. Excedido: o usuário excedeu o limite de sua cota.

User Usuário relacionado à entrada de cota

WarningLimit Definição do limite de aviso para determinado usuário. Essa propriedade

é leitura/gravação.

Essas propriedades também podem ser mapeadas para os elementos da interface do usuário, encontrados na caixa de diálogo Entradas de Cota:

Observação. Como encontrar a caixa de diálogoComputador, clique com o botão direito do mouse na unidade de disco desejada e clique emPropriedades. Na caixa de diálogoCota.

As cotas de disco se aplicam aos arquivos e pastas de propriedade de um usuário. (Os arquivos e as pastas pertencerão apenas a usuários e não a grupos, sem exceção, é por isso que as cotas de disco só podem ser atribuídas a usuários.) Eis algumas notas interessantes:

• As cotas de disco são baseadas na propriedade do arquivo. Imagine que o Usuário A criou um novo arquivo em branco. Então o Usuário A possui 0 MB de espaço em disco. Contudo, suponha que o Usuário B, com acesso leitura/gravação, abra o arquivo e insira nele várias imagens baixadas da Internet. O arquivo atinge um tamanho de 40 MB, toda a cota atribuída ao Usuário A, oÉ claro que alguns aplicativos alteram automaticamente o proprietário do arquivo e atribuem esse status ao últi

www.cdcbrasil.com.br/ncomputing

Status atual da cota de disco. Os valores são:

. OK: o usuário está dentro do limite de sua cota.

. Aviso: o usuário excedeu o limite de aviso, mas ainda não ultrapassou

o limite de sua cota.

. Excedido: o usuário excedeu o limite de sua cota.

Usuário relacionado à entrada de cota.

Definição do limite de aviso para determinado usuário. Essa propriedade

é leitura/gravação.

Essas propriedades também podem ser mapeadas para os elementos da interface do usuário, encontrados na caixa de diálogo Entradas de Cota:

. Como encontrar a caixa de diálogo Entradas de Cota? Na pasta Meu Computador, clique com o botão direito do mouse na unidade de disco desejada e clique

. Na caixa de diálogo Propriedades, clique na guia Cota

as de disco se aplicam aos arquivos e pastas de propriedade de um usuário. (Os arquivos e as pastas pertencerão apenas a usuários e não a grupos, sem exceção, é por isso que as cotas de disco só podem ser atribuídas a usuários.) Eis algumas notas

As cotas de disco são baseadas na propriedade do arquivo. Imagine que o Usuário A criou um novo arquivo em branco. Então o Usuário A possui 0 MB de espaço em disco. Contudo, suponha que o Usuário B, com acesso leitura/gravação, abra o

a nele várias imagens baixadas da Internet. O arquivo atinge um tamanho de 40 MB, toda a cota atribuída ao Usuário A, o proprietárioÉ claro que alguns aplicativos alteram automaticamente o proprietário do arquivo e atribuem esse status ao último usuário que modificou o arquivo. Nesse caso, os

. Aviso: o usuário excedeu o limite de aviso, mas ainda não ultrapassou

Definição do limite de aviso para determinado usuário. Essa propriedade

Essas propriedades também podem ser mapeadas para os elementos da interface do

? Na pasta Meu Computador, clique com o botão direito do mouse na unidade de disco desejada e clique

Cota e em Entradas de

as de disco se aplicam aos arquivos e pastas de propriedade de um usuário. (Os arquivos e as pastas pertencerão apenas a usuários e não a grupos, sem exceção, é por isso que as cotas de disco só podem ser atribuídas a usuários.) Eis algumas notas

As cotas de disco são baseadas na propriedade do arquivo. Imagine que o Usuário A criou um novo arquivo em branco. Então o Usuário A possui 0 MB de espaço em disco. Contudo, suponha que o Usuário B, com acesso leitura/gravação, abra o

a nele várias imagens baixadas da Internet. O arquivo atinge um proprietário do arquivo.

É claro que alguns aplicativos alteram automaticamente o proprietário do arquivo mo usuário que modificou o arquivo. Nesse caso, os

40 MB de espaço em disco seria cobrado do Usuário B, porque ele agora é o proprietário do arquivo.

• As cotas de disco se baseiam no tamanho descompactado de um arquivo. A compactação de um arquivo não alterpelo proprietário do arquivo. (Sim, sabemos: também pretendíamos fazer isso, mas não funcionaria.)

• As cotas de disco são inteligentes: quando elas são habilitadas, a quantidade de espaço em disco livre reportada no tamanho da unidade. Por exemplo, suponha que um usuário tenha recebido 1 GB de espaço de cota em uma unidade com 50 GB. Se o usuário verificar imediatamente a quantidade de espaço em disco disponível na uinformado que possui 1 GB livre, portanto, o espaço em disco disponível para o usuário está baseado em sua cota. Ele nunca saberá sobre os outros 49 GB de espaço em disco da unidade.

• Por padrão, os administradores possuem espaço em disco iunidade (limitado pela quantidade de espaço em disco real), na verdade, quando você habilita as cotas de disco, o grupo Administradores é automaticamente adicionado à tabela de entrada de cotas, recebendo espaço em disco ilimitado. Não é aconselhável alterar esse padrão. Se você remover o grupo Administradores da tabela de entrada de cotas ou se limitar o espaço em disco disponível para os administradores, a capacidade de gerenciamento do seu computador pode ser seriamente prejudicada.

Observação. Qualquer arquivo criado por um administrador é de propriedade do grupo

Administradores e não de apenas um administrador. Essa é a exceção mencionada

anteriormente. Você pode configurar uma entrada de cota de disco para o grupo

Administradores e não para qualquer outro grupo. (Sim, é injusto. Mas se consultarmos

rapidamente a lista de ditados populares, não encontraríamos um que dissesse “A vida é

justa”.)

Conforme observado anteriormente, um dos maiores obstáculos para implementar as cotas de disco no Windows 2000 foi a falta de ferramentas úteis para gerenciamento. Por exemplo, imagine que você quisesse gerar um relatório mostrando todas as entradas de cota de disco para todas as unidades de um computador. No Windows 2000, isso é bastante complicado. Se desejar imprimir informações ou salvar dados em um arquivo de texto, nem adianta usar o utilitário

www.cdcbrasil.com.br/ncomputing

40 MB de espaço em disco seria cobrado do Usuário B, porque ele agora é o proprietário do arquivo.

As cotas de disco se baseiam no tamanho descompactado de um arquivo. A compactação de um arquivo não altera a quantidade de espaço em disco utilizada pelo proprietário do arquivo. (Sim, sabemos: também pretendíamos fazer isso, mas não funcionaria.)

As cotas de disco são inteligentes: quando elas são habilitadas, a quantidade de espaço em disco livre reportada ao usuário é baseada em seu limite de cota e não no tamanho da unidade. Por exemplo, suponha que um usuário tenha recebido 1 GB de espaço de cota em uma unidade com 50 GB. Se o usuário verificar imediatamente a quantidade de espaço em disco disponível na uinformado que possui 1 GB livre, portanto, o espaço em disco disponível para o usuário está baseado em sua cota. Ele nunca saberá sobre os outros 49 GB de espaço em disco da unidade.

Por padrão, os administradores possuem espaço em disco ilimitado em uma unidade (limitado pela quantidade de espaço em disco real), na verdade, quando você habilita as cotas de disco, o grupo Administradores é automaticamente adicionado à tabela de entrada de cotas, recebendo espaço em disco ilimitado.

onselhável alterar esse padrão. Se você remover o grupo Administradores da tabela de entrada de cotas ou se limitar o espaço em disco disponível para os administradores, a capacidade de gerenciamento do seu computador pode ser seriamente prejudicada.

. Qualquer arquivo criado por um administrador é de propriedade do grupo

Administradores e não de apenas um administrador. Essa é a exceção mencionada

anteriormente. Você pode configurar uma entrada de cota de disco para o grupo

para qualquer outro grupo. (Sim, é injusto. Mas se consultarmos

rapidamente a lista de ditados populares, não encontraríamos um que dissesse “A vida é

Conforme observado anteriormente, um dos maiores obstáculos para implementar as no Windows 2000 foi a falta de ferramentas úteis para gerenciamento. Por

exemplo, imagine que você quisesse gerar um relatório mostrando todas as entradas de cota de disco para todas as unidades de um computador. No Windows 2000, isso é

o. Se desejar imprimir informações ou salvar dados em um arquivo de texto, nem adianta usar o utilitário Entradas de Cota de Disco. Da mesma forma, ao

40 MB de espaço em disco seria cobrado do Usuário B, porque ele agora é o

As cotas de disco se baseiam no tamanho descompactado de um arquivo. A a a quantidade de espaço em disco utilizada

pelo proprietário do arquivo. (Sim, sabemos: também pretendíamos fazer isso,

As cotas de disco são inteligentes: quando elas são habilitadas, a quantidade de ao usuário é baseada em seu limite de cota e não

no tamanho da unidade. Por exemplo, suponha que um usuário tenha recebido 1 GB de espaço de cota em uma unidade com 50 GB. Se o usuário verificar imediatamente a quantidade de espaço em disco disponível na unidade, ele será informado que possui 1 GB livre, portanto, o espaço em disco disponível para o usuário está baseado em sua cota. Ele nunca saberá sobre os outros 49 GB de

limitado em uma unidade (limitado pela quantidade de espaço em disco real), na verdade, quando você habilita as cotas de disco, o grupo Administradores é automaticamente adicionado à tabela de entrada de cotas, recebendo espaço em disco ilimitado.

onselhável alterar esse padrão. Se você remover o grupo Administradores da tabela de entrada de cotas ou se limitar o espaço em disco disponível para os administradores, a capacidade de gerenciamento do seu computador pode ser

. Qualquer arquivo criado por um administrador é de propriedade do grupo

Administradores e não de apenas um administrador. Essa é a exceção mencionada

anteriormente. Você pode configurar uma entrada de cota de disco para o grupo

para qualquer outro grupo. (Sim, é injusto. Mas se consultarmos

rapidamente a lista de ditados populares, não encontraríamos um que dissesse “A vida é

Conforme observado anteriormente, um dos maiores obstáculos para implementar as no Windows 2000 foi a falta de ferramentas úteis para gerenciamento. Por

exemplo, imagine que você quisesse gerar um relatório mostrando todas as entradas de cota de disco para todas as unidades de um computador. No Windows 2000, isso é

o. Se desejar imprimir informações ou salvar dados em um arquivo de . Da mesma forma, ao

mesmo tempo que você poderiaincluir uma quantidade considerável de código, somente para identificar e conectar todas as unidades do computador. Se não for complicado não vale a pena. (Parecido com o ditado “Sem dor, sem ganho”.)

Então seria mais fácil no Windows 2003? Bem, este é um script que fará exretornará as informações sobre todas as entradas de cota para todas as unidades de um computador com apenas algumas linhas de código:

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colDiskQu otas = objWMIService.ExecQuery("Select * from Win32 _DiskQuota")

For Each objQuota in colDiskQuotas

Wscript.Echo "Disk Space Used: " & objQuota.DiskSpa ceUsed

Wscript.Echo "Limit: " & objQuota.Limit

Wscript.Echo "Quota Volume: " & objQuota.Qu

Wscript.Echo "Status: " & objQuota.Status

Wscript.Echo "User: " & objQuota.User

Wscript.Echo "Warning Limit: " & objQuota.WarningLi mit

Wscript.Echo

Next

Excelente, hein? Mas vai ficar ainda melhor. Esse é o WMI que podeconsultas que retornam um conjunto de informações mais direcionado. Por exemplo, talvez você queira uma coleção de todos os usuários que excederam seus limites de cota (ou seja, todas as entradas de cota com a propriedadecaso, basta usar uma consulta WQL como esta:

Set colDiskQuotas = objWMIService.ExecQuery _

("Select * from Win32_DiskQuota Where Status = 2")

Este é outro exemplo de consulta, um que retorne uma lista de todos os usuários que, independentemente de suas definições de cota, usaram mais de 1 GB de espaço em disco:

Set colDiskQuotas = objWMIService.ExecQuery _

("Select * from Win32_DiskQuota Where DiskSpaceUsed > 1000000")

www.cdcbrasil.com.br/ncomputing

poderiaescrever um script usando o objeto Shelldade considerável de código, somente para identificar e conectar todas

as unidades do computador. Se não for complicado não vale a pena. (Parecido com o ditado “Sem dor, sem ganho”.)

Então seria mais fácil no Windows 2003? Bem, este é um script que fará exretornará as informações sobre todas as entradas de cota para todas as unidades de um computador com apenas algumas linhas de código:

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

otas = objWMIService.ExecQuery("Select * from Win32 _DiskQuota")

For Each objQuota in colDiskQuotas

Wscript.Echo "Disk Space Used: " & objQuota.DiskSpa ceUsed

Wscript.Echo "Limit: " & objQuota.Limit

Wscript.Echo "Quota Volume: " & objQuota.Qu otaVolume

Wscript.Echo "Status: " & objQuota.Status

Wscript.Echo "User: " & objQuota.User

Wscript.Echo "Warning Limit: " & objQuota.WarningLi mit

Excelente, hein? Mas vai ficar ainda melhor. Esse é o WMI que pode ser usado para criar consultas que retornam um conjunto de informações mais direcionado. Por exemplo, talvez você queira uma coleção de todos os usuários que excederam seus limites de cota (ou seja, todas as entradas de cota com a propriedade Status definida como 2). Nesse caso, basta usar uma consulta WQL como esta:

Set colDiskQuotas = objWMIService.ExecQuery _

("Select * from Win32_DiskQuota Where Status = 2")

Este é outro exemplo de consulta, um que retorne uma lista de todos os usuários que, ndentemente de suas definições de cota, usaram mais de 1 GB de espaço em disco:

Set colDiskQuotas = objWMIService.ExecQuery _

("Select * from Win32_DiskQuota Where DiskSpaceUsed > 1000000")

Shell, seria necessário dade considerável de código, somente para identificar e conectar todas

as unidades do computador. Se não for complicado não vale a pena. (Parecido com o

Então seria mais fácil no Windows 2003? Bem, este é um script que fará exatamente isso: retornará as informações sobre todas as entradas de cota para todas as unidades de um

root \cimv2")

otas = objWMIService.ExecQuery("Select * from Win32 _DiskQuota")

ser usado para criar consultas que retornam um conjunto de informações mais direcionado. Por exemplo, talvez você queira uma coleção de todos os usuários que excederam seus limites de cota

ida como 2). Nesse

Este é outro exemplo de consulta, um que retorne uma lista de todos os usuários que, ndentemente de suas definições de cota, usaram mais de 1 GB de espaço em disco:

("Select * from Win32_DiskQuota Where DiskSpaceUsed > 1000000")

Novamente, é isso que torna o script uma excelente forma de gecotas de disco. Investindo relativamente pouco tempo você pode criar uma ferramenta de gerenciamento que funciona exatamente como você precisa.

Casualmente, quando um usuário atinge o seu nível de cota, um evento é gravado no log de eventos do sistema no computador em que a violação do limite de cota ocorreu. Contudo, nenhuma notificação é enviada ao usuário. Ele nunca saberá que está se aproximando de seu limite de cota até tentar salvar um arquivo e tiver o acesso negado por falta de espaço em disco disponível.

Por que mencionamos isso? Bem, você poderia facilmente escrever um script para retornar uma lista com os usuários que excederam o limite de aviso ou de cota, e solicitar que esse script envie um email para cada usuário notificaaté oferecendo sugestões para que eles possam liberar mais espaço em disco. Tente fazer isso com as ferramentas de gerenciamento de cotas de disco incorporadas no sistema operacional.

Recuperando uma entrada única de cotas

Neste momento, já seria óbvio que as novas classes WMI encontradas no Windows Server 2003 e no Windows XP facilitam bastante o gerenciamento das configurações da cota de disco e das entradas de cota globalmente, ou seja, em todas as unidades de ucomputador. Contudo, também é possível gerenciar entradas de cota individuais. Por exemplo, o script a seguir, visualmente assustador, recupera o limite de cota para o usuário fabrikam\kenmyer na unidade C de um computador:

strComputer = "."

strDrive = "C:"

strDomain = "fabrikam"

strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:

Set objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & strDrive & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & chr(34) & "'")

www.cdcbrasil.com.br/ncomputing

Novamente, é isso que torna o script uma excelente forma de gerenciar itens como as cotas de disco. Investindo relativamente pouco tempo você pode criar uma ferramenta de gerenciamento que funciona exatamente como você precisa.

Casualmente, quando um usuário atinge o seu nível de cota, um evento é gravado no log ventos do sistema no computador em que a violação do limite de cota ocorreu.

Contudo, nenhuma notificação é enviada ao usuário. Ele nunca saberá que está se aproximando de seu limite de cota até tentar salvar um arquivo e tiver o acesso negado

espaço em disco disponível.

Por que mencionamos isso? Bem, você poderia facilmente escrever um script para retornar uma lista com os usuários que excederam o limite de aviso ou de cota, e solicitar que esse script envie um email para cada usuário notificando-os sobre sua situação, talvez até oferecendo sugestões para que eles possam liberar mais espaço em disco. Tente

com as ferramentas de gerenciamento de cotas de disco incorporadas no

Recuperando uma entrada única de cotas de disco

Neste momento, já seria óbvio que as novas classes WMI encontradas no Windows Server 2003 e no Windows XP facilitam bastante o gerenciamento das configurações da cota de disco e das entradas de cota globalmente, ou seja, em todas as unidades de ucomputador. Contudo, também é possível gerenciar entradas de cota individuais. Por exemplo, o script a seguir, visualmente assustador, recupera o limite de cota para o

kenmyer na unidade C de um computador:

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

Set objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & chr(34) & "'")

renciar itens como as cotas de disco. Investindo relativamente pouco tempo você pode criar uma ferramenta de

Casualmente, quando um usuário atinge o seu nível de cota, um evento é gravado no log ventos do sistema no computador em que a violação do limite de cota ocorreu.

Contudo, nenhuma notificação é enviada ao usuário. Ele nunca saberá que está se aproximando de seu limite de cota até tentar salvar um arquivo e tiver o acesso negado

Por que mencionamos isso? Bem, você poderia facilmente escrever um script para retornar uma lista com os usuários que excederam o limite de aviso ou de cota, e solicitar

os sobre sua situação, talvez até oferecendo sugestões para que eles possam liberar mais espaço em disco. Tente

com as ferramentas de gerenciamento de cotas de disco incorporadas no

Neste momento, já seria óbvio que as novas classes WMI encontradas no Windows Server 2003 e no Windows XP facilitam bastante o gerenciamento das configurações da cota de disco e das entradas de cota globalmente, ou seja, em todas as unidades de um computador. Contudo, também é possível gerenciar entradas de cota individuais. Por exemplo, o script a seguir, visualmente assustador, recupera o limite de cota para o

root \cimv2")

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) &

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

Wscript.Echo objQuota.Limit

Na verdade, a maioria dos scripts é bastante simples, com apenas uma exceção: a consuWQL usada para recuperar a entrada de cota. Como você pôde observar, a consulta é composta por E comercial, aspas simples e duplas e todos os tipos de sinais de pontuação. Não é uma bela visão (embora a belezacomo as entradas de cota individuais são rastreadas pelo WMI. Por exemplo, esta é a aparência de uma instância de entrada de cota no Wbemtest:

Em outras palavras, para o melhor ou para o pior (provavelmentepropriedade de uma entrada de cota de disco é uma amalgamação das classes Win32_DiskQuota,Win32_LogicalDiskisso.

Mas não se preocupe. O script anterior foi criado para facilitar modificações e usos. Parte do motivo de a consulta WQL tvariáveis para representar a unidade, o usuário e o domínio do usuário. Para usar o script, basta atribuir os valores corretos às três variáveis que representam essas propriedades:

strDrive = "C:"

strDomain = "fabrikam"

strUser = "kenmyer"

Modificando uma entrada das cotas de disco

As propriedades Limit e WarningLimit são leitura/gravação: isso significa que você pode usar um script para modificar os valores dessas propriedades. Por exemplo, este é script que modifica o valor da propriedadefabrikam\kenmyer:

www.cdcbrasil.com.br/ncomputing

Wscript.Echo objQuota.Limit

Na verdade, a maioria dos scripts é bastante simples, com apenas uma exceção: a consuWQL usada para recuperar a entrada de cota. Como você pôde observar, a consulta é composta por E comercial, aspas simples e duplas e todos os tipos de sinais de pontuação. Não é uma bela visão (embora a beleza esteja nos olhos de quem vê), mas é a manecomo as entradas de cota individuais são rastreadas pelo WMI. Por exemplo, esta é a aparência de uma instância de entrada de cota no Wbemtest:

Em outras palavras, para o melhor ou para o pior (provavelmente é o pior), a principal entrada de cota de disco é uma amalgamação das

Win32_LogicalDisk e Win32_Account. E não há como reverter

Mas não se preocupe. O script anterior foi criado para facilitar modificações e usos. Parte do motivo de a consulta WQL ter uma aparência tão criptográfica se deve à utilização de variáveis para representar a unidade, o usuário e o domínio do usuário. Para usar o script, basta atribuir os valores corretos às três variáveis que representam essas propriedades:

Modificando uma entrada das cotas de disco

As propriedades Limit e WarningLimit são leitura/gravação: isso significa que você pode usar um script para modificar os valores dessas propriedades. Por exemplo, este é script que modifica o valor da propriedade Limit da unidade C para o usuário

Na verdade, a maioria dos scripts é bastante simples, com apenas uma exceção: a consulta WQL usada para recuperar a entrada de cota. Como você pôde observar, a consulta é composta por E comercial, aspas simples e duplas e todos os tipos de sinais de pontuação.

nos olhos de quem vê), mas é a maneira como as entradas de cota individuais são rastreadas pelo WMI. Por exemplo, esta é a

o pior), a principal entrada de cota de disco é uma amalgamação das

. E não há como reverter

Mas não se preocupe. O script anterior foi criado para facilitar modificações e usos. Parte er uma aparência tão criptográfica se deve à utilização de

variáveis para representar a unidade, o usuário e o domínio do usuário. Para usar o script, basta atribuir os valores corretos às três variáveis que representam essas propriedades:

As propriedades Limit e WarningLimit são leitura/gravação: isso significa que você pode usar um script para modificar os valores dessas propriedades. Por exemplo, este é um

da unidade C para o usuário

strComputer = "."

strDrive = "C:"

strDomain = "fabrikam"

strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:

Set objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & strDrive & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & c

objQuota.Limit = 11111111

objQuota.Put_

Como sempre, verifique se chamou o métodométodo Put_ não for chamado, não haverá geração de erros e nenhuma mudança será realizada na entrada de cota.

Claro que você também poderia alterar a propriedadeunidade. Este é um script que fará exatamente isso:

strComputer = "."

Set objWMIService = GetObject("winmgmts:

Set colDiskQuotas = objWMIServi

("Select * from Win32_DiskQuota Where QuotaVolume = 'C:

For Each objQuota in colDiskQuotas

objQuota.Limit = 11111111

objQuota.Put_ Next

Excluindo uma entrada das cotas de disco

Às vezes, o gerenciamento das cotas de disco não envolveequações matemáticas simples. Por exemplo, imagine que você tem 100 usuários e 100 GB de espaço disponível em disco. Se desejasquantidade de espaço em disco disponível pelo número de usuários e, assim, alocar 1 GB para cada um deles.

Claro que esse tipo de cálculo é útil apenas se os números envolvidos forem válidos. Se você tiver 50 usuários, pode estar enganando a todos, mas se forem 200 você estará

www.cdcbrasil.com.br/ncomputing

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

objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & strDrive & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & c hr(34) & "'")

objQuota.Limit = 11111111

Como sempre, verifique se chamou o método Put_ depois de atribuir novos valores. Se o método Put_ não for chamado, não haverá geração de erros e nenhuma mudança será realizada na entrada de cota.

que você também poderia alterar a propriedade Limit para todos os usuários da unidade. Este é um script que fará exatamente isso:

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

Set colDiskQuotas = objWMIServi ce.ExecQuery _

("Select * from Win32_DiskQuota Where QuotaVolume = 'C: \\ '")

For Each objQuota in colDiskQuotas

objQuota.Limit = 11111111

Excluindo uma entrada das cotas de disco

o gerenciamento das cotas de disco não envolve mais do que solucionar equações matemáticas simples. Por exemplo, imagine que você tem 100 usuários e 100 GB de espaço disponível em disco. Se desejasse, você poderia simplesmente dividir a quantidade de espaço em disco disponível pelo número de usuários e, assim, alocar 1 GB

Claro que esse tipo de cálculo é útil apenas se os números envolvidos forem válidos. Se s, pode estar enganando a todos, mas se forem 200 você estará

root \cimv2")

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) &

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

depois de atribuir novos valores. Se o método Put_ não for chamado, não haverá geração de erros e nenhuma mudança será

para todos os usuários da

root \cimv2")

'")

mais do que solucionar equações matemáticas simples. Por exemplo, imagine que você tem 100 usuários e 100

se, você poderia simplesmente dividir a quantidade de espaço em disco disponível pelo número de usuários e, assim, alocar 1 GB

Claro que esse tipo de cálculo é útil apenas se os números envolvidos forem válidos. Se s, pode estar enganando a todos, mas se forem 200 você estará

alocando mais espaço em disco do que o total disponível. Por isso, é necessário manter o controle sobre o total de espaço em disco disponível e o número de entradas de cota na unidade. E para fazê-lo posteriormente, será necessário excluir rotineiramente as entradas de cota inválidas, como por exemplo, as entradas de cota de indivíduos que não pertencem mais à organização ou que não têm mais acesso à unidade. (Você terá que fazer isso manualmente, porque as entradas de cotasempre que uma conta de usuário é excluída.) Felizmente, essa é outra tarefa que pode ser realizada com um script.

Para excluir uma entrada de cota, tudo o que você tem a fazer é se conectar a eentrada e então chamar o métodogravar as alterações no sistema operacional. Em vez disso, no momento que chamar o método Delete_, a entrada de cota será excluída.

Este é um script que exclui a entradfabrikam\kenmyer:

Como sempre, verifique se chamou o métodométodo Put_ não for chamado, não haverá geração de erros e nenhuma mudança será realizada na entrada de cota.

Claro que você também poderia alterar a propriedadeunidade. Este é um script que fará exatamente isso:

strComputer = "."

strDrive = "C:"

strDomain = "fabrikam"

strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:

Set objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & strDrive & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & chr(34) & "'")

objQuota.Delete_

www.cdcbrasil.com.br/ncomputing

alocando mais espaço em disco do que o total disponível. Por isso, é necessário manter o controle sobre o total de espaço em disco disponível e o número de entradas de cota na

lo posteriormente, será necessário excluir rotineiramente as entradas de cota inválidas, como por exemplo, as entradas de cota de indivíduos que não pertencem mais à organização ou que não têm mais acesso à unidade. (Você terá que

, porque as entradas de cota não são automaticamente apagadas sempre que uma conta de usuário é excluída.) Felizmente, essa é outra tarefa que pode ser realizada com um script.

Para excluir uma entrada de cota, tudo o que você tem a fazer é se conectar a eentrada e então chamar o método Delete_. Não é necessário chamar o método Put_ para gravar as alterações no sistema operacional. Em vez disso, no momento que chamar o método Delete_, a entrada de cota será excluída.

Este é um script que exclui a entrada de cota da unidade C para o usuário

Como sempre, verifique se chamou o método Put_ depois de atribuir novos valores. Se o método Put_ não for chamado, não haverá geração de erros e nenhuma mudança será realizada na entrada de cota.

o que você também poderia alterar a propriedade Limit para todos os usuários da unidade. Este é um script que fará exatamente isso:

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

Set objQuota = objWMIService.Get _

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) & strDrive & chr(34) & "'," & _

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

",Name=" & chr(34) & strUser & chr(34) & "'")

alocando mais espaço em disco do que o total disponível. Por isso, é necessário manter o controle sobre o total de espaço em disco disponível e o número de entradas de cota na

lo posteriormente, será necessário excluir rotineiramente as entradas de cota inválidas, como por exemplo, as entradas de cota de indivíduos que não pertencem mais à organização ou que não têm mais acesso à unidade. (Você terá que

são automaticamente apagadas sempre que uma conta de usuário é excluída.) Felizmente, essa é outra tarefa que pode

Para excluir uma entrada de cota, tudo o que você tem a fazer é se conectar a essa . Não é necessário chamar o método Put_ para

gravar as alterações no sistema operacional. Em vez disso, no momento que chamar o

a de cota da unidade C para o usuário

depois de atribuir novos valores. Se o método Put_ não for chamado, não haverá geração de erros e nenhuma mudança será

para todos os usuários da

root \cimv2")

("Win32_DiskQuota.QuotaVolume='Win32_LogicalDisk.De viceID=" & chr(34) &

"User='Win32_Account.Domain=" & chr(34) & strDomain & chr(34) & _

Lembre-se de que a exclusão de uma entrada de cota não afeta a capacidade do usuário de armazenar arquivos na unidade. Suponha que você excluiu a entrada de cota para Ken Myer e, em seguida, ele tenta armazenar um arquivo nessa unidade. Ken terá seu acesso negado à unidade? Não, ele poderá salvar o arquivo e uma nova entrada de cota será criada para ele. Se quiser evitar que um usuário salve arquivos em uma unidade, você terá que usar as permissões NTFS em vez das cotas de disco.

Lembre-se também de que não é possível excluir uma entrada de cota para qualquer usuário que possua arquivos armazenados na unidade. Para isso, será necessário excluir ou mover esses arquivos, ou ainda apropriar

Criando uma nova entrada das cotas de disco

Conforme observado anteriormente, não é preciso criar uma nova entrada de cota para cada novo usuário que salvar um arquivo na unidade. É para isso que a cota e os limites aviso padrão existem. Quando um usuário salva um arquivo, o sistema operacional verifica o usuário e suas definições de cota. Se o usuário não possuir uma entrada de cota existente, o sistema criará automaticamente uma nova com base nas configurações padrão. Isso facilita bastante a administração das cotas de disco.

No entanto, pode haver casos em que você não queira aplicar essas configurações padrão a um usuário. Por exemplo, talvez você queira atribuir mais espaço em disco para artistas gráficos do que o concedido às recepcionistas. Em um caso como este, você poderia esperar até que o artista gráfico salvasse um arquivo no disco, gerando assim uma nova entrada de cota com base nas configurações padrão, e, em seguida, usar um script para modificá-las. Alternativamente, você poderia economizar tempo e evitar problemas usando um script para criar uma entrada de cota antecipadamente, atribuindo espaço em disco adicional para esse usuário, desde o princípio.

Seja prevenido: o script para criar uma nova entrascript de exemplo também foi criado para facilitar o uso: tudo o que você precisa fazer é atribuir os valores corretos para a unidade, o nome de usuário e o domínio. Então poderá usá-lo na forma como está.

strComputer = "."

strDrive = "C:"

strDomain = "fabrikam"

strUser = "kenmyer"

Set objWMIService = GetObject("winmgmts:

Set objAccount = objWMIService.Get _

www.cdcbrasil.com.br/ncomputing

se de que a exclusão de uma entrada de cota não afeta a capacidade do usuário de armazenar arquivos na unidade. Suponha que você excluiu a entrada de cota para Ken

ele tenta armazenar um arquivo nessa unidade. Ken terá seu acesso negado à unidade? Não, ele poderá salvar o arquivo e uma nova entrada de cota será criada para ele. Se quiser evitar que um usuário salve arquivos em uma unidade, você terá

issões NTFS em vez das cotas de disco.

se também de que não é possível excluir uma entrada de cota para qualquer usuário que possua arquivos armazenados na unidade. Para isso, será necessário excluir

arquivos, ou ainda apropriar-se deles antes de excluir a entrada de cota.

Criando uma nova entrada das cotas de disco

Conforme observado anteriormente, não é preciso criar uma nova entrada de cota para cada novo usuário que salvar um arquivo na unidade. É para isso que a cota e os limites aviso padrão existem. Quando um usuário salva um arquivo, o sistema operacional verifica o usuário e suas definições de cota. Se o usuário não possuir uma entrada de cota existente, o sistema criará automaticamente uma nova com base nas configurações

drão. Isso facilita bastante a administração das cotas de disco.

No entanto, pode haver casos em que você não queira aplicar essas configurações padrão a um usuário. Por exemplo, talvez você queira atribuir mais espaço em disco para artistas

e o concedido às recepcionistas. Em um caso como este, você poderia esperar até que o artista gráfico salvasse um arquivo no disco, gerando assim uma nova entrada de cota com base nas configurações padrão, e, em seguida, usar um script para

lternativamente, você poderia economizar tempo e evitar problemas usando um script para criar uma entrada de cota antecipadamente, atribuindo espaço em disco adicional para esse usuário, desde o princípio.

Seja prevenido: o script para criar uma nova entrada de cota parece estranho. Contudo, o script de exemplo também foi criado para facilitar o uso: tudo o que você precisa fazer é atribuir os valores corretos para a unidade, o nome de usuário e o domínio. Então poderá

lo na forma como está.

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

Set objAccount = objWMIService.Get _

se de que a exclusão de uma entrada de cota não afeta a capacidade do usuário de armazenar arquivos na unidade. Suponha que você excluiu a entrada de cota para Ken

ele tenta armazenar um arquivo nessa unidade. Ken terá seu acesso negado à unidade? Não, ele poderá salvar o arquivo e uma nova entrada de cota será criada para ele. Se quiser evitar que um usuário salve arquivos em uma unidade, você terá

se também de que não é possível excluir uma entrada de cota para qualquer usuário que possua arquivos armazenados na unidade. Para isso, será necessário excluir

es antes de excluir a entrada de cota.

Conforme observado anteriormente, não é preciso criar uma nova entrada de cota para cada novo usuário que salvar um arquivo na unidade. É para isso que a cota e os limites de aviso padrão existem. Quando um usuário salva um arquivo, o sistema operacional verifica o usuário e suas definições de cota. Se o usuário não possuir uma entrada de cota existente, o sistema criará automaticamente uma nova com base nas configurações

No entanto, pode haver casos em que você não queira aplicar essas configurações padrão a um usuário. Por exemplo, talvez você queira atribuir mais espaço em disco para artistas

e o concedido às recepcionistas. Em um caso como este, você poderia esperar até que o artista gráfico salvasse um arquivo no disco, gerando assim uma nova entrada de cota com base nas configurações padrão, e, em seguida, usar um script para

lternativamente, você poderia economizar tempo e evitar problemas usando um script para criar uma entrada de cota antecipadamente, atribuindo espaço em

da de cota parece estranho. Contudo, o script de exemplo também foi criado para facilitar o uso: tudo o que você precisa fazer é atribuir os valores corretos para a unidade, o nome de usuário e o domínio. Então poderá

root \cimv2")

("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_

Sim, sabemos: esse script é um pouco mais complicado do que os outros. Isso se deve em grande parte ao fato de que precisamos criar referências de objeto que representam a conta do usuário (objAccount) e a unidade em que a entrada de cota será criada (objDisk). É o que fazemos nessas duas linhas de código:

Set objAccount = objWMIService.Get _

("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")

Set objDisk = objWMIService.G

("Win32_LogicalDisk.DeviceID='" & strDrive & "'")

Assim que conseguimos essas duas referências de objeto, podemos usar o método SpawnInstance_ para criar uma entrada de cota em branco. Depois, simplesmente especificamos os valores das propriedadesWarningLimit. A parte complicada é a utilização da propriedade Path_.RelPath das duas referências de objeto ao definir os valores das propriedades QuotaVolume e User. Os valores da propriedade Path_.RelPath para a unidade de disuma aparência semelhante a esta:

Win32_LogicalDisk.DeviceID="C:"

Win32_UserAccount.Domain="fabrikam",Name="kenmyer"

Usamos a propriedade Path_.RelPath convenientemente: é um pouco mais clara e limpa do que aquelas outras seqüêncaspas duplas e simples.

E, claro, o método Put_ é usado para criar a entrada de cota.

www.cdcbrasil.com.br/ncomputing

("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")

t objDisk = objWMIService.Get _

("Win32_LogicalDisk.DeviceID='" & strDrive & "'")

Set objQuota = objWMIService.Get _

("Win32_DiskQuota").SpawnInstance_

objQuota.QuotaVolume = objDisk.Path_.RelPath

objQuota.User = objAccount.Path_.RelPath

Limit = 10485760

objQuota.WarningLimit = 8388608

Sim, sabemos: esse script é um pouco mais complicado do que os outros. Isso se deve em grande parte ao fato de que precisamos criar referências de objeto que representam a

Account) e a unidade em que a entrada de cota será criada (objDisk). É o que fazemos nessas duas linhas de código:

Set objAccount = objWMIService.Get _

("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")

Set objDisk = objWMIService.G et _

("Win32_LogicalDisk.DeviceID='" & strDrive & "'")

Assim que conseguimos essas duas referências de objeto, podemos usar o para criar uma entrada de cota em branco. Depois,

simplesmente especificamos os valores das propriedades QuotaVolume, User, Limit e WarningLimit. A parte complicada é a utilização da propriedade Path_.RelPath das duas referências de objeto ao definir os valores das propriedades QuotaVolume e User. Os

alores da propriedade Path_.RelPath para a unidade de disco e para o usuário possuem uma aparência semelhante a esta:

Win32_LogicalDisk.DeviceID="C:"

Win32_UserAccount.Domain="fabrikam",Name="kenmyer"

Usamos a propriedade Path_.RelPath convenientemente: é um pouco mais clara e limpa do que aquelas outras seqüências de caracteres concatenadas e complicadas E comercial,

E, claro, o método Put_ é usado para criar a entrada de cota.

("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")

Sim, sabemos: esse script é um pouco mais complicado do que os outros. Isso se deve em grande parte ao fato de que precisamos criar referências de objeto que representam a

Account) e a unidade em que a entrada de cota será criada (objDisk).

("Win32_Account.Domain='" & strDomain & "',Name='" & strUser & "'")

Assim que conseguimos essas duas referências de objeto, podemos usar o para criar uma entrada de cota em branco. Depois,

QuotaVolume, User, Limit e WarningLimit. A parte complicada é a utilização da propriedade Path_.RelPath das duas referências de objeto ao definir os valores das propriedades QuotaVolume e User. Os

co e para o usuário possuem

Usamos a propriedade Path_.RelPath convenientemente: é um pouco mais clara e limpa ias de caracteres concatenadas e complicadas E comercial,