code: public static PowerShell openSession(String customPowerShellExecutablePath) throws PowerShellNotAvailableException {
          PowerShell powerShell = new PowerShell();
  
          // Start with default configuration
          powerShell.configuration(null);
  
          String powerShellExecutablePath = customPowerShellExecutablePath == null ? (OSDetector.isWindows() ? DEFAULT_WIN_EXECUTABLE : DEFAULT_LINUX_EXECUTABLE) : customPowerShellExecutablePath;
  
          return powerShell.initalize(powerShellExecutablePath);
      }
docs: Creates a session in PowerShell console an returns an instance which allows
  to execute commands in PowerShell context.<br>
  This method allows to define a PowersShell executable path different from default
  
  @param customPowerShellExecutablePath the path of powershell executable. If you are using
  the default installation path, call {@link #openSession()} method instead
  @return an instance of the class
  @throws PowerShellNotAvailableException if PowerShell is not installed in the system