Community Project for System Center Orchestrator (SCORCH) Integration Packs and Utilities

PowerShell Modules

In an effort to migrate internally from SC Orchestrator to SC Service Management Automation we have been diligently working to migrate most of the modules available here to PowerShell Modules. To this end I am proud to promote the following

SCOrchDev-SharePoint

SCOrchDev-SQL

EWSMail

  • This module allows for interacting with Exchange through EWS. Used for reading and sending email
  • Available at https://scorch.codeplex.com/releases/view/111490
    • Get-EWSFolder
    • New-EWSMailboxConnection
    • Read-EWSEmail
    • Send-EWSEmail
    • Send-EWSMeetingInvite

Current Utilities

Orchestrator Health Checker

  • It allows to monitor the SCOrch 2012 (RTM and SP1) environment as a whole allowing amoung several things:
    • to see running and queued up Runbooks (summarized or per Runbook Server)
    • Get information of each specific instance connecting it with its PID
    • Ability to Stop the Runbook Tree (child, grandchild, etc Runbooks) as well as per Runbook Server
    • To execute Administrative Tasks such as: Stop All Runbooks, Stop All Monitoring Runbooks (Runbooks which their namess start with “Monitor “), Clear Orphaned Runbooks, Customized Log Purge, Start All Monitoring Runbooks (by invoking a Runbook specified in the application config file)
    • To verify the health of the system and the database (index fragmentation, files’ sizes, rebuild index) as well as Log Purge trending
    • To audit the environment Runbooks created, modified, deleted and still checked out since a certain date.
    • Ability to update password on Activities. Just specifying the User ID, the application will update all occurrences on Activities within Runbooks (if the Activity is not configured, you can add it by editing ActivitiesInfo.xml. Also, ability to update password on Variables and Configurations however the old password will be required and it works as a "Search and Replace" looking for the old password and replacing it by the new one.
    • NEW: Search Variable usage in all Activities
    • NEW: Running Statistics to verify Runbook Server % of usage. Monitor and Ad-hoc Runbook count. Status of all Monitor runbooks.
    • NEW: Fixed small bugs
    • NEW: Filter main view by Runbook Server or Runbook Name
    • NEW: Added new admin options
    • And more!
  • How to configure it?
    • No installation is required!
    • Configuration is done through the Application Config File. You should specify the ConnectingString to your SCOrch Database (required) and your Web Service URL as well as Start Monitor Runbook’s runbook name (optional). Check included .config file for reference, you just need to replace the word “MyEnvironment” or “My Environment” by whatever name you want (It suppots multiple-entries):

<connectionStrings>
<add name="MyEnvironment_SCORCH_DB" connectionString="Server=SCORCH_SQL_SERVERNAME;Database=SCORCH_DB_NAME;Trusted_Connection=True;"/>
<add name="My Environment_SCORCH_DB" connectionString="Server=SCORCH_SQL_SERVERNAME;Database=SCORCH_DB_NAME;Trusted_Connection=True;"/>
</connectionStrings>

Parse Orchestrator Export

A GUI for evaluating Orchestrator Exports
Includes the following functionality
  • View OIS_Export
  • Sanitizing the export file
    • Removes un-referenced global settings and configurations
  • Turn Off / On Object Specific Logging
  • Turn Off / On Generic Logging
  • Apply Orchestrator Link Best Practices
  • Update Runbook Max Policy Requests
  • Anaylze Export File
    • Check for multi-links
      • More than one link from the same origin object to the same destination object)
    • Check for partial configured Trigger Policies
      • Trigger Policies that do not have all Custom Start properties for the target policy defined

ScorchLauncher.exe

A commandline tool for initiating Runbooks through the webservice. Depends on OrchestratorInterop.dll. This tool was designed for starting runbooks through scheduling tools and SCCM imaging.

scorchLauncher.exe -RunbookPath <String> -WebServerURL <String> [-Username<String> -Domain <String> -Password <String>] [-InputParameters String>|<String>~<String>|<String>] [-WaitForExit (True|False)]
  • RunbookPath <String> : Path to runbook in the form of "\RootFolder\ContainingFolder\Runbook Name"
  • WebServerURL <String> : Path to the webserver in the form of http://webservername:81/Orchestrator2012/Orchestrator.svc
  • InputParameters <String>|<String>~<String>|<String> : a list of input parameter key|value pairs seperated by ~. Can escape restricted characters with \
  • WaitForExit (True|False) : tells the program to wait for the completion of the Runbook or not. Must be set to True for accessing output parameters
  • UserName : The user name to connect to the web service with
  • Domain : Domain of the user to connect to the web service with
  • Password : Password of the user to connect to the web service with
  • Help : Prints this Help Page

Example
ScorchLauncher.exe -WebServerURL http://WEBSERVER:81/Orchestrator2012/Orchestrator.svc -RunbookPath "\Development\WIN 7 - Task Sequence Steps\Send Email\Send Imaging Email" -WaitForExit True -i "Recipients|USER@contoso.com~ImportanceLevel|normal~Message|started~Computer Name|cpuname~Manufacturer|Lenovo~Model Number|T410~Serial Number|123456789~Asset Tag|987654321a~Temp PC Name|temp-477703~End User ID|userid~Technician Name|techname~AdvertID|adv00000" -username "userToRunAs" -domain "domainOfUser" -password "passwordOfUser"

SanitizeExport.exe

  • Used for manipulating ois_export files
  • Features
    • Turn off / on Generic logging on all exported runbooks
    • Turn off / on Object Specific logging on all exported runbooks
    • Remove all non-referenced Global Variables, Configs, Computer Groups, Schedules and Counters

Current IPs

1E Wake On Lan

  • Wake Up SCCM Collection
  • Wake Up SCCM Computer

System Center Orchestrator Webservice

  • Start Runbook
    • Allows for input parametes
    • Launch by GUID or by Path
  • Stop Runbook Job
  • Get All Folders
    • Returns all folders in the environmnet
  • Get All Jobs In Status
    • Allows for querying for jobs in any status (Pending, Running, Completed)
  • Get All Runbooks in Folder
    • Returns all runbooks in a given folder
  • Get All Running Runbooks
  • Get Job Instance Details
    • Returns details about a Runbook Job (Status, created by etc)
  • Get Job Instance Parameters
    • Returns all input and (if completed) output parameters for a Runbook Job
  • Get Runbook Job Instance Details
    • Returns data for all Job Instances for a given Runbook

Zip

  • Zip File(s)
    • Supports Zipping files on network shares
  • UnZip File

Port Query

  • Port Query - allows for testing server port combos. Returns open or closed

SQL

Run Query (Accepts paramatized queries)

Active Directory

  • Add User To Group
  • Create Security Group
  • Create Trust Relationship
  • Create User
  • Create Computer Account
  • Create Organizational Unit
  • Delete Group
  • Delete Trust Relationship
  • Delete User
  • Delete Comptuer Account
  • Delete Organizational Unit
  • Disable Account
  • Enable Account
  • Enumerate Domains In Forest
  • Enumerate Objects In OU
  • Get Group Membership
  • Get Object Distinguished Name
  • Get Primary Domain Controller
  • Get User Group Memberships
  • Move AD Object
  • Remove User From Group
  • UnLockAccount
  • Add Multi-Value Object Property Value
    • Adds an additional value to a multi-value property
  • Set Object Property Value
  • Get Object Property Values
    • Gets the values of all properties of the given object
  • Remove Multi-Value Object Property Value
  • Create Computer Account

Configuration Manager 2007

  • Add New Computer
  • Assign Package to DP
  • Associate Computer Record
  • Create Console Folder
  • Delete Console Folder
  • Delete Computer
  • Delete Generic Object
  • Get Folder
  • Get Folder Items
  • Move Folder
  • Move Item To Folder
  • Create Advertisement
  • Create Collection
  • Create Package
  • Create Program
  • Delete Advertisement
  • Delete Collection
  • Delete Package
  • Delete Program
  • Delete Computer Variable
  • Delete Collection Variable
  • Get Advertisement
  • Get Collection
  • Get Collection Members
  • Get Computer Variable
  • Get Collection Variable
  • Get Driver
  • Get Package
  • Get Parent Collection
  • Get Program
  • Get Sub Collections
  • Get System
  • Get User
  • Get Usergroup
  • Modify Advertisement
  • Modify Advertisement: Set Remote Client Flags
  • Modify Advertisement: Set Advert Flags
  • Modify Collection
  • Modify Collection Add Direct Member
  • Modify Collection Add Membership Rule
  • Modify Driver
  • Modify Package
  • Modify Package: Set PkgFlags
  • Modify Program Supported Platforms
  • Modify Program
  • Modify Program: Set ProgramFlags
  • Refresh Collection
  • Refresh Package at Distribution Point
  • Refresh Package Source
  • Remove Collection Membership
  • Remove Package from Distribution Point
  • Set Package Description
  • Set Package Source
  • Set Computer Variable
  • Set Collection Variable
  • Get Task Sequence Package
  • Modify Task Sequence Package
  • Modify Task Sequence Package: Set PkgFlags
  • Get Driver Package
  • Modify Driver Package
  • Modify Driver Package: Set PkgFlags
  • Get Image Package
  • Modify Image Package
  • Modify Image Package: Set PkgFlags
  • Get Operating System Install Package
  • Modify Operating System Install Package
  • Modify Operating System Install Package: Set PkgFlags
  • Get Boot Image Package
  • Modify Boot Image Package
  • Modify Boot Image Package: Set PkgFlags
  • Create Software Updates Package
  • Get Software Updates Package
  • Modify Software Updates Package
  • Modify Software Updates Package: Set PkgFlags
  • Create Authorization List
  • Get Authorization List
  • Modify Authorization List
  • Add CIs To Software Updates Package
  • Remove CIs From Software Updates Package
  • Create Updates Assignment
  • Get Updates Assignment
  • Modify Updates Assignment
  • Modify Updates Assignment: Add CIs
  • Modify Updates Assignment: Remove CIs
  • Synchronize Software Update Point

Exchange Mail

  • MonitorMailbox
  • DeleteMail
  • Move Mail
  • Find Mail
  • Read Mail
  • Canceling Appointment
  • Create Folder
  • Creating Appointment
  • Delete Folder
  • Empty Folder
  • Find Folder
  • Getting Appointment
  • Get Attachments
  • Send Exchange Email (Supports adding attachments)

Exchange Management IP

  • Add DAG Group Member
  • Add Distribution Group Member
  • Add IP to Receive Connector
  • Add Mailbox Permissions
  • Change Mailbox Quota
  • Clear Move Request
  • Create Mailbox Database
  • Disable Mailbox
  • Dismount Database
  • Enable Mailbox
  • Exchange Powershell
  • Get Accepted Domain
  • Get CAS Servers
  • Get HUB Servers
  • Get Mailbox
  • Get Mailbox Database
  • Get MBX Servers
  • Get Move Request
  • Get Queue
  • Mount Database
  • Mount Database
  • New Accepted Domain
  • New Distribution List
  • New Mail Contact
  • Remove Accepted Domain
  • Remove Distribution List
  • Remove Mail Contact
  • Remove Mailbox Database
  • Remove Mailbox Permissions
  • Resume Database Copy
  • Resume Queue
  • Retry Queue
  • Suspend Database Copy
  • Suspend Queue
  • Update Address List

Local Security

  • Add Local Computer Account
  • Remove Local Computer Account
  • Add User to Local Computer Group
    • Support for local users and AD users
  • Remove User from Local Computer Group
    • Support for local users and AD users

Scheduled Tasks

  • Create Scheduled Task
  • Delete Task
  • Add Daily Trigger
  • Add Monthly DOW Trigger
  • Add On Idle Trigger
  • Add On Logon Trigger
  • Add On System Start Trigger
  • Add Run Once Trigger
  • Add Weekly Trigger
  • Clear Task Triggers
  • Get Scheduled Tasks
  • Get Task Triggers
  • Kill Task
  • Run Scheduled Task
  • Set Task

Utilities

  • DateTime
    • Get Current Datetime
  • File System
    • Get Subdirectories
  • Registry
    • Add Registry Key
    • Delete Registry Key
    • Add Registry Key Value
    • Delete Registry Key Value
    • Set Registry Key String Value
    • Read Registry Key Value
  • System
    • Sleep
  • Text
    • Split String
    • Count Lines
    • Select Line

VMWare

  • Get Cluster
  • Get Datastore
  • Get Hard Disk
  • Get Network Adapter
  • Get Resource Pool
  • Get Snapshot
  • Get VM
  • Get VM Host
  • Invoke VM Script
  • Move VM
  • New Hard Disk
  • New Network Adapter
  • New Snapshot
  • New VM
  • Remove Hard Disk
  • Remove Network Adapter
  • Remove Snapshot
  • Remove VM
  • Set Hard Disk
  • Set Network Adapter
  • Set Snapshot
  • Set VM
  • Start VM
  • Stop VM
  • Suspend VM

Orchestrator Excel Integration Pack

The Excel Integration Pack enables you to read, update and insert into xls and xlsx files and read and insert into csv files without needing Microsoft Office installed on the runbook server.
  • Read Document
  • Insert Row
  • Update Row

If you would like to contribute to this project please contact me. If you would like your Integration Packs listed here please contact me.

Thank you all for your feedback on these projects.

Last edited Sep 9 at 8:25 PM by randorfer, version 39