Yesterday (January 27th, 2020)Ivanti released a new version of Ivanti Automation. Automation is a product from Ivanti’s Powered by RES line. Automation is a very powerfull tool, that has many use cases for every IT department.
Network Connection check and no Telnet available
We have all been there…. you want to do a quick check if an IP port is reachable from a Windows machine. There is no telnet or putty installed/available and you don’t want to introduce any changes to the system.
Launch a Powershell window
[sourcecode language='powershell' ] Test-netconnection -computername randommachinename.rocyjati.local -port 3163 [/sourcecode]
(updated) Remove person objects that are Ready for Deletion
Enable-CsUser : Cannot open databasE xds requested by the login
If you read the blog before you should know that I am a big fan of automating repetitive admin tasks. Currently I am building an Ivanti Identity Director environment. Part of onboaring a new employee in this environment is enabling Skype for this new AD account.
What is new in Ivanti Identity Director 2019.0?
Last month Ivanti Identity Director 2019 has been released. This blog article will focus on the new features that have been added to the product. I will discuss the new highlights, if you want the read the full release notes, you can find them here. If you are new to Identity Director let me first explain what it is and what it does. Identity Director was launched back in 2014 by RES Software. In 2014 the product was called IT Store, later on it was called RES ONE Service Store and RES Identity Director. In July 2017 RES was acquired by Ivanti and since then the product is called Ivanti Identity Director.
But what does it do, you ask? The following description is coming from the Identity Director Admin guide:
Ivanti Identity Director provides your organization the means to fulfill virtually any conceivable user need. This can be access to an application, a printer or e-mail, the availability of a PC, laptop, mobile phone or lease car, but also changes to a computing environment as the result of employee onboarding, integration with other solutions to reduce service desk tickets, etc. To fulfill these needs, your organization probably already has many business processes in place. With Ivanti Identity Director you can automate and manage these processes by delivering them as a service.
- People qualify for services based on their identity and role within your organization. In turn, these services may depend on or be restricted by other services. This ensures that only the right services are delivered to the right people.
- Services can be delivered and returned either automatically (identity-based) or through self-service (access-based). Ivanti estimates that approximately 80% of all services in your organization are identity-based services.
- In each service, workflow actions determine what happens during the delivery and return of the service. These actions can be approvals, Ivanti Automation Run Books, request for information, etc.
Multiple PowerShell outputs within Ivanti Automation
Ivanti Automation (formally known as RES Automation) and PowerShell work very well together. By using PowerShell from within Ivanti Automation we are able to talk to any system that utilize a REST full API.
The Task for Powershell does only allow for all the screen output of a script to be placed in one Automation parameter. To divide this output into multiple parameters the data had to be splited in Automation or in Ivanti Identity Director.
Using special characters in PowerShell Variables
PowerShell is an important part of today’s IT landscape. By using PowerShell you can manage systems from different vendors in a unified way. Nowadays more and more vendors come with there own PowerShell cmdlets, PowerShell is way more than just another tool for today’s sysadmins. Today more then ever IT pros should me getting onboard the PowerShell train. It reminds me of a presentation I saw a couple of years ago where the presenter urged the attendees to ether learn PowerShell today or learn how to say the phrase “Do you want to have fries with that?”.
I am not sure if it is going to be like that. If you like scripting, learning PowerShell can be allot of fun. People often ask how to start learning PowerShell since there is so much to learn and there is allot of content on the subject online. My advice if you want to learn PowerShell today would be: https://www.manning.com/books/learn-windows-powershell-in-a-month-of-lunches-second-edition
This is a good way to learn the fundamental basics and guide you through the first steps in the world called PowerShell.
Today I want to talk about naming your variables, you want the name to identify its purpose so you can still tell what it does when you revisit your script a year later.
What characters can you use for naming a variable? To start off you can use all the alphanumeric characters, both capital letters and small letters.
Change the date to the EPOCH format
For a recent project it is a requirement to change a date value to the EPOCH format. We need this EPOCH date format to automate the creation of a ticket in a Remedy system. The customer is using BMC Atrium Orchestration as a frontend to the Remedy system.
What is EPOCH Time?
The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z).
Why does EPOCH time start in 1970?
So no file can be created before 1970-01-01. … Unix was originally developed in the 60s and 70s so the “start” of Unix Time was set to January 1st 1970 at midnight GMT (Greenwich Mean Time) – this date/time was assigned the Unix Time value of 0. This is what is know as the Unix Epoch.
I’ve created a small PowerShell function to convert a Get-Date input to the EPOCH date/time format.
function ConvertTo-Epoch ([datetime]$InputEpoch) { [datetime]$Epoch = '1970-01-01 00:00:00' [int]$Ctime = "" $Ctime = (New-TimeSpan -Start $Epoch -End $InputEpoch).TotalSeconds return $Ctime } $a = ConvertTo-Epoch (get-date)
Telnet with PowerShell via RES One Automation
Today I want to build an PowerShell script for a customer that will connect via Telnet to a switch or a firewall to run some commands and log the output. The next step is to be able to schedule this script to run at the beginning and at the end of the working day. The environment for this task is PowerShell 2.0 and RES ONE Automation 2015.
After some Internet searching I found an Get-Telnet PowerShell function that can do what I want. It will connect to the switch, and I can place the commands I want to run in an array or in a text file. I altered the script slightly to meet my needs. I only use the function because I run the script from within RES One Automation.
Starting PowerShell as default within Windows Core
My lab environment runs on Windows 2012 R2 Core, with Hyper-V installed. It runs smoothly. When I need to manage the environment I can do the most common task right there on the prompt.
But with Microsoft pushing everyone to use PowerShell I don’t understand why Windows Core start with a normal prompt instead of a PowerShell prompt.
In this article I will describe how you can change the prompt that is launched when Windows Core boots from CMD to PowerShell.
In Windows Core there is no explore. All you get to see is al black command box..
Now let’s see if we can find out how to change the cmd prompt to a PowerShell prompt.
First I need to know what’s the current value for the shell that is launched at startup.