Charles River DevelopmentJanuary - August 2023
End User Services IT Co-op
Skills Learned: Windows PowerShell, Javascript, ServiceNOW, Microsoft Azure, Microsoft Active Directory, Windows OS, Microsoft Office Tools
On my first Northeastern Co-op, I worked as an End User Support technician at Charles River Development. My main responsibilities were to fix issues with company assets, administer permissions and access requests to employee accounts, and complete projects to improve the efficiency of the department. On an average day, I would encounter numerous new problems to fix, allowing myself to quickly improve my skills as a problem solver. My greatest learning experiences and contributions to the company came through writing scripts and building infrastructure to automate various tasks for which the department was responsibile for.
Day-To-Day Responsibilities and Tasks
- Respond/Resolve tickets opened by employees who have issues with their computers, accounts, hardware, etc.
- Administer permissions to corporate and service accounts, control email groups and perform daily administrative tasks.
- Attend meetings, discuss projects with other teams, collaborate with colleagues on current issues facing our department.
- Help walk-ins resolve issues in real time, react to time-sensitive failures/outages.
- Work on individual projects: Write scripts, develop with ServiceNOW, learn new applications and services.
Scripting Work
All scripts below were written with Windows PowerShell
- Employee Locations: Uses the corporate ServiceNOW database to find the current residing country for each employee. Takes data for each employee and updates their office account with said country. This allows IT to correctly assign corporate phone numbers by country.
- Expiring Certificates: Each day, an SQL script scans all company servers for security certificates signed by the internal certificate authority. A PowerShell script then takes this report and determines which servers have certificates that are expiring soon. When applicable, an email alert is then sent to the relevant teams to notify the department of certificate expiration. This allows IT to avoid unexpected downtime for crucial services that will fail if their certificate suddenly expires. Both SQL and PowerShell scripts run daily, with the SQL script completing an hour before the PowerShell script.
- Script Failure Module: Oftentimes, CRD IT would realize that an automated script had broken weeks earlier and not done work that was supposed to be completed. Therefore, I created a module with functions that could detect if certain actions had failed for a given code snippet in a script. When implemented over a specific section of code, the module sends an email alert to the department if any line returns an error. This alert includes a description, relevant information, and the timestamp of the failure.
- Inactive Accounts/Expiring Passwords: Company policy states that employees must reset their password at certain intervals. Additionally, accounts must be locked if left unused for a significant period of time. To help avoid lockouts, I wrote a script to gather all accounts that are soon to be in these categories. The script then sends email alerts to select users to notify them to log into their account/reset their password.
- Domain Changes Reports: CRD IT uses software to track changes to objects in its domain. These changes must be recorded for audit purposes. Each week, a script dumps a report of all changes made during the week to a server. Once the dump is complete, the script then uploads the report to the cloud for ease of access.
Service Now
In the middle of my Co-op, CRD IT switched their ticketing platform to ServiceNow. With ServiceNow proving to be more powerful than the previous ticketing application, I created workflows to control the onboarding and offboarding of employees within the company.
Workflow Structure- Each day, a PowerShell script determines employees whom have entered the onboarding or offboarding process. When an employee is detected, the script creates an approriate ticket called a RITM (Requested Item) via a ServiceNOW API within CRD IT's ticketing system.
- This RITM is then assigned to CRD IT's queue. From this RITM, objects called "catalog tasks" are created to signify specific tasks IT employees need to complete in order to successfully onboard/offboard the employee.
- Once all tasks have been completed, the RITM is closed and the employee is considered to be 100% onboarded/offboarded by CRD IT. For offboarding tickets, automatic emails are sent every three days to ensure that all employee hardware has been returned to the company before their RITM is closed.
- Each Onboarding/Offboarding specific RITM and associated catalog tasks needed to be designed and implemented within the company's ServiceNOW instance. I spent hours working alongside the in-house administrator, learning ServiceNOW's catalog item builder and workflow designer.
- ServiceNOW allows for the creation of Javascript programs to control various tasks/actions to be completed in the domain. I wrote multiple scripts to control RITM and catalog task management on a scheduled basis.
- I wrote two PowerShell scripts to detect Onboarders and Offboarders and create appropriate tickets for them. In addition, these scripts keep logs of ticket creation in case of a failure/lost ticket occurrance.
Overall Experience
My first technical work experience was an amazing opportunity from which I flourished as an employee, problem solver, and thinker. I would like to extend my deepest gratitude to Justin Daigle, my supervisor, Michael Doherty, my mentor, and all other CRD IT employees who made my experience enjoyable.