This week on the podcast, Dan and Kyle share their thoughts on how PeopleTools Development should change in the future.
This week on the podcast, Jim Marion from JSMPros joins Dan to talk about their favorite coding fonts, making App Designer a better tool, HTML attributes to make PeopleSoft pages better, and how to build refresh-able URLs.
- Jan 2020 CPU is out! Go Patch @ 2:00
- BI and Excel FUP @ 4:45
- Coding Fonts @ 11:30
- Improving App desgner @ 20:15
- HTML Attributes to make 2FA better @ 27:30
- SoundBytes @ 38:30
- A refreshable URL @ 46:00
In this session from psadmin.conf 2018, David Vandiver demonstrates his Process Monitor 2.0 bolt-on. David redesigned the Process Monitor from scratch and added many improvements. His bolt-on is free too! You can download it at peoplesofttricks.com.
We released the videos as a free course so you can find the videos in one place. Head over to the psadmin.io courses page and sign up. If you already signed up for the course, you can log in and the new video will be available.
This week on the podcast, Dan discussing signing nVision Macros to work on machines with stricter security settings. Then, Kyle and Dan review changes in PeopleTools 8.58 that is covered in PeopleBooks.
- Signing nVision Macros @ 2:30
- PeopleBooks 8.58 Updates @ 10:30
This week on the podcast, Jim Marion joins us to talk about different options for masking data in PeopleSoft and locking components down for business processing. Then we discuss the different types of queries in PeopleSoft and how Jim would improve the query tools.
- Data Masking @ 4:15
- Component Lockout @ 13:00
- Query Manager @ 18:00
- Query Improvements @ 33:00
This week on the podcast, Dan shares a few tips he’s learned on writing better bash scripts, how the OpenDistro Elasticsearch plugins can be used, and how to generate dump files for App Designer. Then Kyle and Dan discuss how the approached an issue with slow process starts and why understanding the technology stack is so important.
- Bash skillz @ 3:00
- App Designer Dump Files @ 8:45
- OpenDistro ES @ 10:30
- Troubleshooting Slow Process Starts @ 19:00
- Uncommon Solutions @ 34:00
- Work to Replicate the issue/Look at code (if possible)
- MOS/Local Knowledge Base (wiki or tickets)
- Isolate the cause/Eliminate variables/Research Logs
- Attempt to understand the flow/technology/stack
- Develop root-cause theory
- Test to prove/disprove theory
This the 200th PeopleSoft Administrator Podcast! Kyle and Dan share some fun stories from the first 199 episodes. Jim Marion joins us to talk about registering components, configuring and working with with node security, and things you can do in PeopleTools but shouldn’t do.
- Reminiscing @ 1:00
- Which Node to Register With @ 11:00
- Node Security @ 26:00
- Things you shouldn’t do in PeopleTools @ 36:00
This week on the podcast, Jim Marion joins us to talk about upcoming improvements to Page and Field Configurator, and how Federation and Application clustering work with PeopleSoft.
- Training w/ Jim Marion @ 1:00
- Page and Field Configurator Updates @ 7:45
- Federation and Clustering @ 16:15
This week on the podcast, Dan talks about running scheduled ACM jobs and how that led him to build a powershell wrapper for the process scheduler. Kyle and Dan also talk about spear fishing and being hyper aware for new attacks.
Process Scheduler and Powershell Scripts
The PeopleSoft Process Scheduler supports many different types of tools to run, but one thing it lacks is support to run shell scripts. Thankfully, David Kurtz offered a solution for that a while back, and revisted the solution recently. While making the process scheduler run shell scripts or Powershell scripts isn’t hard, the best part of David’s wrapper script is that it adds a layer to make your scripts API aware with the Process Monitor.
In my case, I have a number of Powershell scripts to run so I re-implemented David’s solution in Powershell. For a detailed description of how to configure shell scripts to run, visit here. The instructions below are an abbreviated version with small changes specific to Powershell.
All of the code is posted on GitHub in the
ps-powershell repository. This is an Oracle-specific script, but it could easily be updated to work with SQL Server or DB2. To get started, download the scripts in the repository to
There are a number uses for bringing Powershell scripts into the Process Monitor. The main use case I see is interfaces that are run from the OS you can now schedule and execute from within PeopleSoft. It’s common to use the Windows Task Scheduler to run Powershell scripts, but users have no visibility as to when the scripts run or if they completed successfully. Scheduling and executing those interfaces from the Process Monitor brings the visibility of the scripts into PeopleSoft where all your batch jobs are logged.
Configure the Process Type
To configure your process scheduler to run Powershell scripts, we need to configure a new Process Type and enable the server to run the new type.
- Navigate to PeopleTools > Process Scheduler > Process Type
- Add a new type called
ORACLEas the Database Type and the Platform as
Otheras the Generic Process Type
- For the Command Line, set it to
The Parameter List is where we pass all of the arguments to our wrapper script. This is a longer string that I’ll break down:
-NoProfile: This tells Powershell to not run any profile scripts that could change your environment. It also helps speed up the start of Powershell scripts.
-ExecutionPolicy Bypass: Depending on your systems security level, you could exclude this option. This temporarily lowers the security policy for Powershell for the script you are running (but only for this script).
-File c:\psft\tools\psft.ps1: This is the location of the wrapper script.
-DBNAME %%DBNAME%% -ACCESSID %%ACCESSID%% -ACCESSPSWD %%ACCESSPSWD%% -PRCSINSTANCE %%INSTANCE%%: These are the required parameters the process scheduler will pass to the wrapper script.
The full Paramter List is this:
-NoProfile -ExecutionPolicy Bypass -File c:\psft\tools\psft.ps1 -DBNAME %%DBNAME%% -ACCESSID %%ACCESSID%% -ACCESSPSWD %%ACCESSPSWD%% -PRCSINSTANCE %%INSTANCE%%
Set the working directory to
Save the new Process Type
Next, we need to allow the new Process Types to run on your process scheduler.
- Navigate to PeopleTools > Process Scheduler > Servers
- Open your server definition (
- In the “Process Types run on this Server” grid, add the
PowershellProcess Type and Save
Last, let’s configure the output format for the
Powershell Process Types.
- Navigate to PeopleTools > Process Scheduler > System Settings
- Click the Process Type Output tab
Otherfor the Process Type
- Check the Active checkbox for “Web” and also the Default checkbox
- Click the Process Output Format tab
Web, and then check the Active and Default checkboxes for the “Text Files (.txt)” row
- Save the changes
Our wrapper script is now configured for use.
Run Powershell Scripts
The wrapper script itself doesn’t do any process besides updating the Process Monitor tables. Next, let’s built a test script to verify we can run Powershell scripts. From the GitHub repository, we will use the
test.ps1 script. Copy the
test.ps1 script to
Next we will create a new Process Definition for the test script.
- Navigate to PeopleToos > Process Scheduler > Processes
- Click “Add a new value”
Powershellas the Process Type
- Set the Process Name to
- Add a Description:
Test Powershell Script
- Click the Process Definition Options tab
- In the Process Security group box, set the Component to
PRCSMULTIand the Process Group to
- Click the Override Option tab
Select “Append” for the Parameter List
The append list is where we pass in commands that the
psft.ps1script will run for us. For our test script, we have one parameter to pass in addition to calling the script. We pass the database name to
test.ps1so it can print the database name.
"c:\psft\tools\test.ps1 -DBNAME %%DBNAME%%"
Make sure to wrap the parameter list in double quotes so that our wrapper script passes the entire string to our
Save the new Process Definition.
Last, let’s test our new
- Navigate to PeopleTools > Process Scheduler > System Process Request
- Add a new run control
- Click the Run button
- In the list of processes, select
PSTESTand verify the output is “Web” and “TXT”
- Click OK
Go watch the process in Process Monitor and refresh the page. You should see the status of the process change from
DONE. When the process is done, go view the output under “View Log/Trace”.