Criar método da classe Win32_Share

O método de classe CreateWMI inicia o compartilhamento para um recurso de servidor.

Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.

Sintaxe

uint32 Create(
  [in]           string                   Path,
  [in]           string                   Name,
  [in]           uint32                   Type,
  [in, optional] uint32                   MaximumAllowed,
  [in, optional] string                   Description,
  [in, optional] string                   Password,
  [in, optional] Win32_SecurityDescriptor Access
);

Parâmetros

Caminho [in]

Caminho local do compartilhamento do Windows.

Exemplo, "C:\Arquivos de Programas".

Nome [in]

Passa o alias para um caminho configurado como um compartilhamento em um sistema de computador que executa o Windows.

Exemplo, "public".

Digite [in]

Passa o tipo de recurso que está sendo compartilhado. Os tipos incluem unidades de disco, filas de impressão, IPC (comunicações entre processos) e dispositivos gerais. Pode ser um dos valores a seguir.

Unidade de Disco (0)

Fila de Impressão (1)

Dispositivo (2)

IPC (3)

Administração de Unidade de Disco (2147483648)

Administração de Fila de Impressão (2147483649)

Administração de dispositivo (2147483650)

IPC Administração (2147483651)

MaximumAllowed [in, opcional]

Limite o número máximo de usuários permitidos para usar simultaneamente esse recurso.

Exemplo: 10. Esse parâmetro é opcional.

Descrição [in, opcional]

Comentário opcional para descrever o recurso que está sendo compartilhado. Esse parâmetro é opcional.

Senha [in, opcional]

Senha (quando o servidor está em execução com segurança no nível de compartilhamento) para o recurso compartilhado. Se o servidor estiver em execução com segurança no nível do usuário, esse parâmetro será ignorado. Esse parâmetro é opcional.

Acesso [in, opcional]

Descritor de segurança para permissões de nível de usuário. Um descritor de segurança contém informações sobre as permissões, o proprietário e os recursos de acesso do recurso. Se esse parâmetro não for fornecido ou for NULL, Todos têm acesso de leitura ao compartilhamento. Para obter mais informações, consulte Win32_SecurityDescriptor e Alterando a segurança de acesso em objetos protegíveis.

Valor retornado

Retorna um dos valores listados na lista a seguir ou qualquer outro valor para indicar um erro. Para obter códigos de erro adicionais, consulte Constantes de erro WMI ou WbemErrorEnum. Para obter valores gerais de HRESULT , consulte Códigos de erro do sistema.

Sucesso (0)

Acesso negado (2)

Falha desconhecida (8)

Nome inválido (9)

Nível inválido (10)

Parâmetro inválido (21)

Compartilhamento duplicado (22)

Caminho redirecionado (23)

Dispositivo ou diretório desconhecido (24)

Nome líquido não encontrado (25)

Outro (26 4294967295)

Comentários

Create é um método estático.

Somente os membros do grupo local Administradores ou Operadores de Conta ou aqueles com associação de grupo de operadores de Comunicação, Impressão ou Servidor podem executar Com êxito Criar. O operador Print só pode adicionar filas de impressora. O operador comunicação só pode adicionar filas de dispositivo de comunicação.

Exemplos

O exemplo exportar e importar compartilhamentos de arquivos do PowerShell exporta e importa compartilhamentos de arquivos e define permissões de compartilhamento. Da mesma forma, o exemplo Criar um Compartilhamento e Definir Permissões também cria um novo compartilhamento e define as permissões de compartilhamento.

O código do PowerShell a seguir cria um compartilhamento.

# create pointer to class
$comp=[WMICLASS]"Win32_share"

# create a new share
$comp.create("c:\","mynewshare",0)

# see results
gwmi win32_share 

O exemplo de código anterior retorna o seguinte:

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     : 
__DYNASTY        : __PARAMETERS
__RELPATH        : 
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         : 
__NAMESPACE      : 
__PATH           : 
ReturnValue      : 2
PSComputerName   : 

Name        : ADMIN$
Path        : C:\Windows
Description : Remote Admin

Name        : C$
Path        : C:\
Description : Default share

Name        : CCMLOGS$
Path        : C:\Windows\CCM\Logs
Description : Public Share

Name        : ccmsetup$
Path        : C:\Windows\ccmsetup
Description : Public Share

Name        : Drop
Path        : C:\Drop
Description : 

Name        : IPC$
Path        : 
Description : Remote IPC

Name        : Share
Path        : C:\Share
Description : 

O exemplo de código C# a seguir descreve como chamar o método create.

private static void makeShare(string servername, string filepath, string sharename)
{
try
 {
 // assemble the string so the scope represents the remote server
 string scope = string.Format("\\\\{0}\\root\\cimv2", servername);

 // connect to WMI on the remote server
 ManagementScope ms = new ManagementScope(scope);

 // create a new instance of the Win32_Share WMI object
 ManagementClass cls = new ManagementClass("Win32_Share");

 // set the scope of the new instance to that created above
 cls.Scope = ms;

 // assemble the arguments to be passed to the Create method
 object[] methodargs = { filepath, sharename, "0" };

 // invoke the Create method to create the share
 object result = cls.InvokeMethod("Create", methodargs);
 }
catch (SystemException e)
 {
  Console.WriteLine("Error attempting to create share {0}:", sharename);
  Console.WriteLine(e.Message);
 }

}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

Classes do sistema operacional

Win32_Share