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 |
|
DLL |
|