romero126 / powershell-dependapotamus Goto Github PK
View Code? Open in Web Editor NEWA Powershell Representation of a Note Taking tool for Devops.
A Powershell Representation of a Note Taking tool for Devops.
ChangeLog 0.012.00 ---------------------------------------------------------------------------------------------------------------- Reminder: Make Certain you are using the lnk file included in the script! The Name is Execute_EXE.lnk Things are now just getting interesting! Lets start with the Major Changes. Introducing Password Keeper! * Password Keeper Database. * Locks and saves when you lock your computer. * Stores your password quickly and efficiently. * Ctrl+C Copies your Password to the clipboard * Ctrl+U Copies your Username to the Clipboard * Icon Blinks if your password is getting stale / old (Only works on NON JITAccount's) For the Ultimate Dependapotamus * Now Introducing Spell Check. Minor Changes Toolbar -> Save * The save button has been changed to save to file. To better represent what it actually does Bug Fixes * Threading -> Fixed a bug where you could only run one thread at a time. Developer Notes: ---------------------------------------------------------------------------------------------------------------- Housekeeping * Removed LIB as it is no longer needed. Developer Notes: SDK ---------------------------------------------------------------------------------------------------------------- * UI.Body.PWKeeper.ps1 A Simple place to store your passwords Class UI_Body_PWKeeper Initializes the UI, Defines Timer for Notifications, Define Button Usages. [bool] ChangePassword() Changes the Password Databases Password, and saves the Database [bool] Save() Saves the Database [System.Object] Load() Loads the Database, returns XML output [bool] AddUser( [System.Object] PWObject ) Adds a User to the Database based on PWObject Requires minimum of USERNAME [bool] DelUser( [System.Object] PWObject ) Removes the PWObject from Database Definitions PWObject PWObject = [System.HashTable] Expected Elements in the table. [System.String] UserName [System.String] Password [System.String] AccountType "Jit Account", "Debug Account", "Other" [System.String] Description [System.String] Expire_Date "", "4 Hours", "8 Hours", "1 Day", "15 Days", "30 Days", "45 Days" [System.String] Expire_Enabled "True", "False" [System.String] Expire_TimeStamp (get-date).ToString() Other Notes Saves and Unloads the Database after you lock your computer Class Object also lives $Global:_global.LIBS.UI_Body_PWKeeper Template UI UI.Body.PWKeeper.xaml * UI_Body_Ticket_Tech Class UI_Body_Ticket_Tech GetAll() Returns all updated values ChangeLog 0.010.00 ---------------------------------------------------------------------------------------------------------------- Surprise! New version brings a flurry of changes into the environment All which you don't see. Rebuilt the program from the ground up. Here are the changes you do see! The Ticket Logs! * You can now use TAB's for your inputs, So it will look pretty when you copy and paste into it. User Interface! * The user interface has gotten more simplistic, and cleaner. Development * Developing plugins and Addons has gotten a lot more simplistic. Everything now is no longer limited to intimate knowledge of the environment as its all getting documented. * Threading! Toolkit Information ---------------------------------------------------------------------------------------------------------------- Runspace. Call a Runspace $RunSpace.NewASync($id, { script data }) Special Notes: While inside the runspace you will only have access to $Global:_global variable space, any local variables you want to pass back for your script will need to be placed in a safe space inside the environment. * Use $Global:_global.VAR_ScriptID for defining variables that you want to writeback. Stepping outside this can cause issues with important variables being overwritten. * Extremely temporary variables can be placed in $Global:_global.var Inside the runspace in order to reach back into the environment, you will need to use the Window.Dispatcher framework. $Global:_global.UI.Dispatcher.Invoke({ $Global:_global.LIBS.UI_Footer::StatusText("Adds Status Text to the bottom of the screen.") For more information on what Commands are available please look at the Developer Notes Developer Notes: ---------------------------------------------------------------------------------------------------------------- Loader.PS1 (New) * This Replaces the old loading system. For a much more clean and elegant solution. Settings.XML (New) * Variables are now loaded dynamically from an XML File so they can be modified on the fly * Introducing WorkFlows * Workflows will now replace hard coded elements. This will help rapidly add new features. * More Libraries to follow Developer Notes: SDK ---------------------------------------------------------------------------------------------------------------- * UI.Body.Ticket.Logs.ps1 Main Module that Loads All the Ticket Log Information Class UI_Body_Ticket_Logs [string] ToOutString() Returns an Exportable Version of the Log [int] = ResetGridID([System.Collections.ArrayList] $obj) Returns last ID of grid count and resets ID # of value [System.Collections.ArrayList] = SaveData() Get Save Data (Does not save) [System.Collections.ArrayList] = LoadData([System.Collections.ArrayList] $obj) Loads Object into variable space Rebinds the elements to the screen Class Object also lives $Global:_global.LIBS.UI_Body_Ticket.Objects["UI_Body_Ticket_Logs"].lib Template UI UI.Body.Ticket.Logs.xaml * UI.Body.Ticket.Note Class UI_Body_Ticket_Note hidden ToOutString() Returns $null as this data is not exportable [void] AddText($string) Adds Text to Element Text [string] SaveData() Get Save Data as Encrypted Text (Does not Save) [string] LoadData([string]/$null/[SecureString] $obj) Decrypts Data Rebinds Elements to the screen Class Object also lives $Global:_global.LIBS.UI_Body_Ticket.Objects["UI_Body_Ticket_Note"].lib Template UI UI.Body.Ticket.Note.xaml * UI.Body.Ticket.Tech Class UI_Body_Ticket_Tech [string] GetSDE() Grabs the SDE Ticket Set($id, $text) Sets the value of $id to $text [string] Get($id) Search Display Elements for a match of $id [void] Refresh() Refresh the data inside the Grid [string] ToOutString() Returns an Exportable Version of the Log [System.Collections.ArrayList] = SaveData( ) Get Save Data (Does not save) [System.Collections.ArrayList] = SaveData() Get Save Data (Does not save) [System.Collections.ArrayList] = LoadData([System.Collections.ArrayList] $obj) Loads Object into variable space Rebinds the elements to the screen Class Object also lives $Global:_global.LIBS.UI_Body_Ticket.Objects["UI_Body_Ticket_Tech"].lib Template UI UI.Body.Ticket.Tech.xaml * UI.Body.Ticket.Wiki Class UI_Body_Ticket_Wiki Todo: More!! Template UI UI.Body.Ticket.Wiki.xaml * UI.Body.Ticket Class LIB_UI_Body_Ticket_Tech Creates Main Tabs Loads Controls [String]ToOutString() Returns an Exportable Version of all the elements inside the window. New() Resets all Sub Elements to default Calls -> LoadData($null) on all Sub Elements Load() Loads all Sub Elements from a File Reference to SDE Save() Gathers all the SaveData() of all the SubElements and pushes them to an XML file Reference SDE Template UI UI.Body.Ticket.xaml UI.Body.Ticket.Tab.xaml * UI.Footer Class UI_Footer [bool]Load_Footer($xmlpath) Loads XML Path to User Element at Footer StatusText($text) Auto Change to StatusBar XML File Sets the Status to Text ProgressBar($text, $percent) Todo Finish ProgressBar Template UI UI.Footer.Status.xaml UI.Footer.ProgressBar.xaml Class Objects can be called Directly Class Object also lives $Global:_global.LIBS.UI_Footer * UI.Nav Loads UI TopBar Information Template UI UI.Nav.xaml * UI.Nav.DynTools Class UI_Nav.DynTools Upon Creation this will Load all dynamic tools and Binds all Functions [void]Reload() Reloads all Dynamic Tools in TOOLS Folder Template UI UI.Footer.Status.xaml UI.Footer.ProgressBar.xaml Class Object also lives $_global.LIBS.UI_Nav_DynTools Template UI UI.Nav.DynTools.xaml Class UI [System.Object]AddChild($parent, $file, $id) Loads $file, and inserts its window elements into $parent element location [System.Object]AddChild($parent, $file, $id, $childid) Loads $file, and inserts its window elements into $parent element location starting at $childid (of file loaded) [System.Object]AddItem($parent, $file, $id) Loads $file, and inserts its window elements into $parent element location [System.Object]AddItem($parent, $file, $id, $childid) Loads $file, and inserts its window elements into $parent element location starting at $childid (of file loaded) [System.Object]Add($parent,$file,$id) Loads $file, and replaces all sub window elements into $parent element [System.Object]Add($parent,$file,$id, $childID) Loads $file, and replaces all sub window elements into $parent element location starting at $childid (of file loaded) [bool]Remove([string]$id, [bool]$matchall) Removes $id element from Window Matchall is required!! [System.Object]Get([string]$id) Returns Window Element of $id [System.Object]Get([string]$id, [string]$childid) Returns Child Element from $id [void]ShowAll($id) Shows all Elements starting with the $id [void]HideAll($id) Hides all Elements starting with the $id NOTE: Elements stored in here are not SEARCHABLE by the window element and will need to be accessed directly Template UI UI.xaml Class Object also lives $_global.LIBS.UI * UI.Body.Ticket.Wiki Class UI_Body.Ticket.Wiki Upon Creation this will Load all dynamic tools and Binds all Functions Template UI UI.Body.Ticket.Wiki.xaml Class Object also lives $_global.LIBS.UI_Body_Ticket.Wiki UI.exec.ps1 Shows Dialog of built elements * LIB_Runspace Class LIB_RunSpace LIB_Runspace($id, $value) Variables $id $id - Sets the Variable Name of the Shared Variables $value - Variable to share with the Runspace This is already Initialized in $RunSpace Variable and set to $Global:_global [Object]NewASync($id, { <script> }) Starts an ASyncronous Script and executes it upon creation. Returns Handle of the Runspace [void]SessionStateProxy($id, $value) Same Input as LIB_Runspace Returns Error if scripts are running [void]GetHandle($id) Returns the handle of a running script Class Object also lives $RunSpace * UI_Toolbar Class UI_Toolbar [void]AddButton($id, $title, $description, $image, $action) Creates a Large button with an icon Note $action is a Scriptblock defined as { commands go here } [void]AddImage($_obj, $path) Adds an image to the desired object (Note works only with Grid Types) Template UI None Class Object also lives $_global.LIBS.UI_Toolbar
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.