The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Authoring the MOF schema file for a Management OData web service


You define the resources that your Management OData web service exposes by creating a MOF file that used the public resource schema. Each resource is defined as a class in the file, and properties are defined as class members. For more information about the schema used in the MOF file, see Public Resource Schema.

The following file defines Service and Process resources. Each of these resources corresponds to an object that can be managed by a set of Windows PowerShell cmdlet. The properties correspond to parameters used by those cmdlets.

Each of the two resources contains properties that are of complex type. The complex types are defined as classes modified with the ComplexType qualifier.

class PswsTest_Service
    [Key]      String  ServiceName;
    [Required] String  DisplayName;
    [Required] String  MachineName;
    [Required] String  ServiceType;
    [Required, EmbeddedInstance("PswsTest_DependentService")] String ServicesDependentOn [];
    [Required] Boolean CanPauseAndContinue;
    [Required] Boolean CanShutdown;
    [Required] Boolean CanStop;
    [Required, Etag] String Status;

class PswsTest_Process
    [Key] SInt32 Id;
    [Required] SInt32 BasePriority;
    [Required, EmbeddedInstance("PowerShell_PSCredential")] String Credential;
    [Required, EmbeddedInstance("PswsTest_ProcessModule")] String Modules[];
    [Required] SInt32 HandleCount;
    [Required] String MachineName;
    [Required] SInt32 MainWindowHandle;
    [Required] String MainWindowTitle;
    [Required] SInt32 NonpagedSystemMemorySize;
    [Required] SInt64 NonpagedSystemMemorySize64;
    [Required] SInt32 PagedMemorySize;
    [Required] SInt64 PagedMemorySize64;
    [Required] SInt32 PagedSystemMemorySize;
    [Required] SInt64 PagedSystemMemorySize64;
    [Required] SInt32 PeakPagedMemorySize;
    [Required] SInt64 PeakPagedMemorySize64;
    [Required] SInt32 PeakWorkingSet;
    [Required] SInt64 PeakWorkingSet64;
    [Required] SInt32 PeakVirtualMemorySize;
    [Required] SInt64 PeakVirtualMemorySize64;
    [Required] SInt32 PrivateMemorySize;
    [Required] SInt64 PrivateMemorySize64;
    [Required] String ProcessName;
    [Required] Boolean Responding;
    [Required] SInt32 SessionId;
    [Required, EmbeddedInstance("PswsTest_ProcessStartInfo")] String StartInfo;
    [Required] SInt32 VirtualMemorySize;
    [Required] SInt64 VirtualMemorySize64;
    [Required] Boolean EnableRaisingEvents;
    [Required] SInt32 WorkingSet;
    [Required] SInt64 WorkingSet64;

class PswsTest_DependentService
    String  ServiceName;

class PswsTest_ProcessModule
    String ModuleName;
    String FileName;

class PswsTest_ProcessStartInfo
    String Verb;  
    String Arguments;  
    Boolean CreateNoWindow;  
    Boolean RedirectStandardInput;  
    Boolean RedirectStandardOutput ; 
    Boolean RedirectStandardError;  
    [EmbeddedInstance("PswsTest_Encoding")] String StandardErrorEncoding;  
    [EmbeddedInstance("PswsTest_Encoding")] String StandardOutputEncoding;  
    Boolean UseShellExecute;  
    String UserName ; 
    [EmbeddedInstance("PswsTest_SecureString")] String Password;  
    String Domain;  
    Boolean LoadUserProfile;  
    String FileName;  
    String WorkingDirectory ; 
    Boolean ErrorDialog ; 
    SInt32 ErrorDialogParentHandle;  
    String WindowStyle; 

class PswsTest_FileVersionInfo
    String Comments;
    String CompanyName;
    SInt32 FileBuildPart;
    String FileDescription;
    sInt32 FileMajorPart;
    SInt32 FileMinorPart;
    String FileName;
    SInt32 FilePrivatePart;
    String FileVersion;
    String InternalName;
    Boolean IsDebug;
    Boolean IsPatched;
    Boolean IsPrivateBuild;
    Boolean IsPreRelease;
    Boolean IsSpecialBuild;
    String Language;
    String LegalCopyright;
    String LegalTrademarks;
    String OriginalFilename;
    String PrivateBuild;
    SInt32 ProductBuildPart;
    SInt32 ProductMajorPart;
    SInt32 ProductMinorPart;
    String ProductName;
    SInt32 ProductPrivatePart;
    String ProductVersion;
    String SpecialBuild;

class PswsTest_Encoding
    String BodyName;
    String EncodingName;
    String HeaderName;
    String WebName;
    SInt32 WindowsCodePage;
    Boolean IsBrowserDisplay;
    Boolean IsBrowserSave;
    Boolean IsMailNewsDisplay;
    Boolean IsMailNewsSave;
    Boolean IsSingleByte;
    [EmbeddedInstance("PswsTest_EncoderFallback")] String EncoderFallback;
    [EmbeddedInstance("PswsTest_DecoderFallback")] String DecoderFallback;
    Boolean IsReadOnly;
    SInt32 CodePage;

class PswsTest_EncoderFallback
    SInt32 MaxCharCount;

class PswsTest_DecoderFallback
    SInt32 MaxCharCount;

class PswsTest_SecureString
    SInt32 Length;

class PswsTest_ProcessThread
    SInt32 BasePriority;
    SInt32 CurrentPriority;
    SInt32 Id;
    SInt32 IdealProcessor;
    String PriorityLevel;
    SInt32 StartAddress;
    String ThreadState;
    String WaitReason;
    SInt32 ProcessorAffinity;

class PswsTest_Stream
    Boolean CanRead;
    Boolean CanSeek;
    Boolean CanTimeout;
    Boolean CanWrite;
    SInt64 Length;
    SInt64 Position;
    SInt32 ReadTimeout;
    SInt32 WriteTimeout;