다음을 통해 공유


Win32_Share 클래스의 메서드 만들기

WMI 클래스 만들기메서드는 서버 리소스에 대한 공유를 시작합니다.

이 항목에서는 MOF(Managed Object Format) 구문을 사용합니다. 이 메서드를 사용하는 방법에 대한 자세한 내용은 메서드 호출을 참조 하세요.

구문

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
);

매개 변수

경로 [in]

Windows 공유의 로컬 경로입니다.

예: "C:\Program Files".

Name [in]

Windows를 실행하는 컴퓨터 시스템에서 공유로 설정된 경로에 별칭을 전달합니다.

예: "public".

[in] 형식

공유되는 리소스의 유형을 전달합니다. 유형에는 디스크 드라이브, 인쇄 큐, IPC(프로세스 간 통신) 및 일반 디바이스가 포함됩니다. 다음 값 중 하나일 수 있습니다.

디스크 드라이브 (0)

인쇄 큐 (1)

디바이스 (2)

IPC (3)

디스크 드라이브 관리(2147483648)

인쇄 큐 관리(2147483649)

디바이스 관리(2147483650)

IPC 관리(2147483651)

MaximumAllowed [in, optional]

이 리소스를 동시에 사용할 수 있는 최대 사용자 수 제한입니다.

예: 10. 이 매개 변수는 선택 사항입니다.

설명 [in, 선택 사항]

공유되는 리소스를 설명하는 선택적 설명입니다. 이 매개 변수는 선택 사항입니다.

암호 [in, 선택 사항]

공유 리소스에 대한 암호(서버가 공유 수준 보안으로 실행되는 경우) 서버가 사용자 수준 보안으로 실행되는 경우 이 매개 변수는 무시됩니다. 이 매개 변수는 선택 사항입니다.

액세스 [in, 선택 사항]

사용자 수준 권한에 대한 보안 설명자입니다. 보안 설명자에는 리소스의 권한, 소유자 및 액세스 기능에 대한 정보가 포함되어 있습니다. 이 매개 변수가 제공되지 않았거나 NULL경우 모든 사용자가 공유에 대한 읽기 권한을 가집니다. 자세한 내용은 보안 개체의 Win32_SecurityDescriptor 및 액세스 보안 변경을 참조하세요.

반환 값

다음 목록에 나열된 값 중 하나 또는 오류를 나타내는 다른 값을 반환합니다. 추가 오류 코드는 WMI 오류 상수 또는 WbemErrorEnum을 참조하세요. 일반적인 HRESULT 값은 시스템 오류 코드를 참조 하세요.

성공 (0)

액세스 거부됨 (2)

알 수 없는 오류 (8)

잘못된 이름 (9)

잘못된 수준 (10)

잘못된 매개 변수 (21)

중복 공유 (22)

리디렉션된 경로 (23)

알 수 없는 디바이스 또는 디렉터리 (24)

Net Name을 찾을 수 없음(25)

기타 (26 4294967295)

설명

Create 는 정적 메서드입니다.

관리istrators 또는 Account Operators 로컬 그룹의 멤버 또는 Communication, Print 또는 Server 운영자 그룹 멤버 자격이 있는 멤버만 Create를 성공적으로 실행할 수 있습니다. 인쇄 연산자는 프린터 큐만 추가할 수 있습니다. 통신 운영자는 통신 디바이스 큐만 추가할 수 있습니다.

예제

다음 PowerShell 코드는 공유를 만듭니다.

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

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

# see results
gwmi win32_share 

앞의 코드 샘플은 다음을 반환합니다.

__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 : 

다음 C# 코드 샘플에서는 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);
 }

}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

참고 항목

운영 체제 클래스

Win32_Share