Sorry to be so slow getting back to you. I assume you've figured something out by now. But here's a fragment from a PowerShell script that we use as part of upgrading our ETL. The first part just builds the long set of arguments to run the launcher.jar which invokes org.pentaho.di.imp.Import (note that the launcher.jar must be used to run the Import class or you won't be able to connect to the repository. Only the last 2 lines contain parameters to the PDI Import class itself.
$BasicArgs = "/k $PentahoDir\java\bin\java.exe "
$BasicArgs = $BasicArgs + '"-Dpentaho.installed.licenses.file=C:\Pentaho\.installedLicenses.xml" "-Xms4096m" "-Xmx8192m" "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" '
$BasicArgs = $BasicArgs + '"-Djava.library.path=libswt\win64" "-DKETTLE_HOME=" "-DKETTLE_REPOSITORY=Local" "-DKETTLE_USER=admin" "-DKETTLE_PASSWORD=password" "-DKETTLE_PLUGIN_PACKAGES=" '
$BasicArgs = $BasicArgs + '"-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" "-Dpentaho.installed.licenses.file=C:\Pentaho\.installedLicenses.xml" '
$BasicArgs = $BasicArgs + '-jar launcher\launcher.jar -lib ..\libswt\win64 -main org.pentaho.di.imp.Import '
$BasicArgs = $BasicArgs + '/rep:Local /user:admin /pass:password /dir:/ /norules:Y /replace:Y /comment:' + """$NewRelease"" "
$BasicArgs = $BasicArgs + '/filedir:' + """$ReleaseFolder\ETL"""
There's some additional logic to build a list of files to load (saved in the variable $LoadFiles), then we run it like this:
# Append filenames to load to arguments
$BasicArgs = $BasicArgs + "$LoadFiles"
Start-Process -FilePath cmd.exe -ArgumentList $BasicArgs
(Presumably, you could skip running via Cmd.exe and just run java.exe as the process)