All Projects → EvotecIT → PSAutomator

EvotecIT / PSAutomator

Licence: other
This PowerShell Module is new approach to onboarding, offboarding and business as usual processes running in companies infrastructure.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to PSAutomator

Material Intro Screen
Inspired by Heinrich Reimer Material Intro and developed with love from scratch
Stars: ✭ 2,722 (+4760.71%)
Mutual labels:  onboarding
stepper-indicator
Step indicator for onboarding or simple viewpager
Stars: ✭ 180 (+221.43%)
Mutual labels:  onboarding
Ahoy
A lightweight swift library to build onboarding experiences.
Stars: ✭ 51 (-8.93%)
Mutual labels:  onboarding
guide
A new feature guide component by react 🧭
Stars: ✭ 597 (+966.07%)
Mutual labels:  onboarding
etalab
Livret de bienvenue destiné aux membres d’Etalab.
Stars: ✭ 24 (-57.14%)
Mutual labels:  onboarding
Android-Onboarder
Android Onboarder is a simple and lightweight library that helps you to create cool and beautiful introduction screens for your apps without writing dozens of lines of code.
Stars: ✭ 85 (+51.79%)
Mutual labels:  onboarding
Pvview
A small library that helps you to make an amazing parallax view
Stars: ✭ 227 (+305.36%)
Mutual labels:  onboarding
RN-intro-screen
Usage of intro / welcome screen in react-native as onboarding slider swiper
Stars: ✭ 15 (-73.21%)
Mutual labels:  onboarding
CoachMarks
UI component to focus the user's attention on parts of the app
Stars: ✭ 37 (-33.93%)
Mutual labels:  onboarding
GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (+146.43%)
Mutual labels:  onboarding
awesome-engineer-onboarding
😎 A curated list of awesome resources for engineer onboarding
Stars: ✭ 76 (+35.71%)
Mutual labels:  onboarding
FastOnBoarding
very easy onboarding page
Stars: ✭ 18 (-67.86%)
Mutual labels:  onboarding
aloha
An onboarding bot for busy admins and growing Slack teams.
Stars: ✭ 20 (-64.29%)
Mutual labels:  onboarding
Ampoptip
An animated popover that pops out a given frame, great for subtle UI tips and onboarding.
Stars: ✭ 2,854 (+4996.43%)
Mutual labels:  onboarding
pal-widgets
A collection of widgets for making amazing onboarding experience in your flutter applications
Stars: ✭ 21 (-62.5%)
Mutual labels:  onboarding
Onboardingscreen
create animated onboarding or welcome screen with MotionLayout
Stars: ✭ 239 (+326.79%)
Mutual labels:  onboarding
pal-plugin
The Flutter onboarding editor
Stars: ✭ 16 (-71.43%)
Mutual labels:  onboarding
blinkid-ui-android
Customizable UI library that includes camera management, scanning screen, and document selection module.
Stars: ✭ 33 (-41.07%)
Mutual labels:  onboarding
WVWalkthroughView
WVWalkthroughView is an objective C based utility to highlight certain parts for iOS apps.
Stars: ✭ 29 (-48.21%)
Mutual labels:  onboarding
members
Online portal for Code for Denver members
Stars: ✭ 15 (-73.21%)
Mutual labels:  onboarding

PSAutomator - PowerShell Module

Overview of this module is available at: https://evotec.xyz/hub/scripts/psautomator-powershell-module/

Description

This PowerShell Module is new approach to onboarding, offboarding and business as usual processes running in companies infrastructure. Usually each company has different rules, different approaches on how processes should look like and this module takes an easy approach that's similar to what you can find in services like IFTTT or Microsoft Flow. Those services work in known schema such as Services, Triggers, Ingredients and Applets. For this PowerShell Module I've taken similar approach which is described below.

While it's encouraged to keep correct order Service, Trigger, Ignore, Condition, Action it actually only requires Service, Trigger to be in correct order.

  • Service – is kind of a wrapper for other blocks above. It has also ability to load configuration from file. Currently loading file doesn't do anything.
  • Trigger – is first block in Service. Before an Action can be executed it needs a Trigger. Trigger can be membership in Group, Organizational Unit etc
    • User Based Triggers
      • Always,
      • OrganizationalUnit,
      • GroupMembership,
      • Filter
  • Ignore – But Trigger can also have things that need to be ignored. For example lack of email address field.
    • User Based Ignore
      • MatchingEmptyOrNull,
      • MatchingObjects,
      • MatchingFields
  • Condition – It can also be conditioned for example Last User Modification Date should be more then 30 days.
    • User Based Conditions
      • RequireGroupMembership,
      • RequireLastModified
  • Action – are essentially Tasks that are about to be executed. This can be adding a user to a group, disabling user etc. This is also final step to close Service.
    • User Based Actions
      • AccountAddGroupsSpecific
      • AccountDisable
      • AccountEnable
      • AccountHideInGAL
      • AccountShowInGAL
      • AccountRemoveGroupsAll
      • AccountRemoveGroupsSecurity
      • AccountRemoveGroupsDistribution
      • AccountRemoveGroupsSpecific
      • AccountRemoveGroupsDomainLocal
      • AccountRemoveGroupsGlobal
      • AccountRemoveGroupsUniversal
      • AccountRename,
      • AccountSnapshot

Keep in mind that following is true for Service:

  • Can hold only 1 trigger
  • Can have multiple Ignore blocks
  • Can have multiple Condition blocks
  • Can have multiple Action blocks

This is proof-of-concept. Heavy work in progres... Please take your time and leave feedback!

DO NOT USE IN PRODUCTION YET - UNLESS YOU LIKE FIRES!

Sample offboarding

image

Clear-Host
Import-Module PSAutomator -Force #-Verbose
Import-Module PSSharedGoods -Force
Service -Name 'Active Directory Offboarding' -ConfigurationPath 'C:\Support\GitHub\PSAutomator\Examples\MyConfiguration.xml' {
    Trigger -Name 'OU Offboarded Users' -User OrganizationalUnit -Value 'OU=Users-Offboarded,OU=Production,DC=ad,DC=evotec,DC=xyz' |
        Condition -Name 'No conditions' |
        Ignore -Name 'Ignore Windows Email Address if Empty or null' -Ignore MatchingEmptyOrNull -Value EmailAddress |
        Action -Name 'Make User Snapshot' -ActiveDirectory AccountSnapshot -Value 'C:\Users\pklys\Desktop\MyExport' |
        Action -Name 'Disable AD Account' -ActiveDirectory AccountDisable |
        Action -Name 'Hide account in GAL' -ActiveDirectory AccountHideInGAL |
        Action -Name 'Remove all security groups' -ActiveDirectory AccountRemoveGroupsSecurity |
        Action -Name 'Rename Account' -ActiveDirectory AccountRename -Value @{ Action = 'AddText'; Where = 'After'; Text = ' (offboarded)'; }
}

Sample onboarding

image

Clear-Host
Import-Module PSAutomator -Force #-Verbose
Import-Module PSSharedGoods -Force
Service -Name 'Active Directory Enable Users in OU' {
    Trigger -Name 'Find Offboarded Users' -User OrganizationalUnit -Value 'OU=Users-Offboarded,OU=Production,DC=ad,DC=evotec,DC=xyz' |
        Ignore |
        Action -Name 'Enable Offboarded Users' -ActiveDirectory AccountEnable |
        Action -Name 'Add to group GDS-TestGroup5' -ActiveDirectory AccountAddGroupsSpecific -Value 'GDS-TestGroup5' |
        Action -Name 'Add to group GDS-TestGroup4' -ActiveDirectory AccountAddGroupsSpecific -Value 'GDS-TestGroup4' |
        Action -Name 'Remove Offboarded Tag' -ActiveDirectory AccountRename -Value @{ Action = 'RemoveText'; Fields = 'DisplayName', 'Name' ; Text = ' (offboarded)'; }
}

DO NOT USE IN PRODUCTION YET - UNLESS YOU LIKE FIRES!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].