DscResources/MSFT_ServiceResource/MSFT_ServiceResource.schema.mof

 
[ClassVersion("1.0.0"),FriendlyName("Service")]
class MSFT_ServiceResource : OMI_BaseResource
{
  [Key,Description("Indicates the service name. Note that sometimes this is different from the display name. You can get a list of the services and their current state with the Get-Service cmdlet.")] String Name;
  [Write,Description("Ensures that the service is present or absent. Defaults to Present."), ValueMap{"Present", "Absent"}, Values{"Present", "Absent"}] String Ensure;
  [Write,Description("The path to the service executable file.")] String Path;
  [Write,Description("Indicates the startup type for the service."), ValueMap{"Automatic", "Manual", "Disabled"}, Values{"Automatic", "Manual", "Disabled"}] String StartupType;
  [Write,Description("Indicates the sign-in account to use for the service."), ValueMap{"LocalSystem", "LocalService", "NetworkService"},Values{"LocalSystem", "LocalService", "NetworkService"}] String BuiltInAccount;
  [Write,Description("The credential to run the service under."), EmbeddedInstance("MSFT_Credential")] String Credential;
  [Write,Description("The service can create or communicate with a window on the desktop. Must be false for services not running as LocalSystem. Defaults to False.")] Boolean DesktopInteract;
  [Write,Description("Indicates the state you want to ensure for the service. Defaults to Running."), ValueMap{"Running", "Stopped", "Ignore"}, Values{"Running", "Stopped", "Ignore"}] String State;
  [Write,Description("The display name of the service.")] String DisplayName;
  [Write,Description("The description of the service.")] String Description;
  [Write,Description("An array of strings indicating the names of the dependencies of the service.")] String Dependencies[];
  [Write,Description("The time to wait for the service to start in milliseconds. Defaults to 30000.")] UInt32 StartupTimeout;
  [Write,Description("The time to wait for the service to stop in milliseconds. Defaults to 30000.")] UInt32 TerminateTimeout;
};