Cannot launch a ps1 or anything in File directory

Having a really weird deal here trying to launch or reference anything from the File directory from the Deploy-Application.ps1

My actual script that I have been trying to run under the install tasks has not been referencing any of the Files/Bat files and scripts that it is supposed to run and runs correctly from a standalone ps1. For troubleshooting I have been strictly just trying to run the working standalone powershell script that does what I need and I cannot get it working so I think something is going wrong on my end but not sure. I have tried a number of methods from this forum and none seem to be working for me. This is the current line I am trying to use in the Deploy-Application.ps1 to launch a powershell script from the Files directory.

Execute-Process -Path ‘powershell.exe’ -Parameters -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File “$dirFiles\DCU_Force_Scan_Instal.ps1”

Any help would be greatly appreciated.

What does the PSADT log file say?
Does it launch your DCU_Force_Scan_Instal.ps1 script at all?

You state your DCU_Force_Scan_Instal.ps1 script calls other files and batch files.
That’s a lot of spaghetti that can go wrong.
Does your DCU_Force_Scan_Instal.ps1 script create a log file?

How are you launching Deploy-Application.ps1? Elevated Admin account? SCCM/MSCM?

PS: when posting code, please format using the </> tool.

Hey thanks for the response! The DCU_FORCE_SCAN_INSTALL.ps1 script works perfectly calling everything in the directory but I cannot even get the kit to launch anything at the moment. I am testing the Deploy-Application.ps1 using an elevated cmd and eventually want to run it in SCCM.
The cmd I am using to launch is:
<
“Deploy-Application.exe” -DeploymentType “Install”
/>

So, you are using Deploy-Application.exe to hide the powershell console.

Try launching the Deploy-Application.ps1 directly. I think Deploy-Application.exe hates spaces.

Also, can you post ONE of the errors your DCU_FORCE_SCAN_INSTALL.ps1 script?

Launching the Deploy-Application.ps1 directly still gives me an error.

Here is the Log for the most recent attempt

<
]LOG]!><time=“10:08:54.169-420” date=“06-28-2022” component=“Deploy Application” context=“HENSELPHELPS\KRM2_A” type=“3” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Display Dialog Box with message: Error Record:
-------------At C:\Users\krm2\OneDrive - HENSEL PHELPS\Desktop_Gold_PSAppDeploy_Template\PSAppDeployToolkit_v3.8.4 - TOOLKIT MASTER\Deploy-Application.ps1:143 char:111

  • … ecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File “$dirFi …
  •                                                         ~~~~~
    

…]LOG]!><time=“10:08:54.182-420” date=“06-28-2022” component=“Show-DialogBox” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Dialog Box Response: OK]LOG]!><time=“10:08:57.724-420” date=“06-28-2022” component=“Show-DialogBox” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Closing the installation progress dialog.]LOG]!><time=“10:08:57.754-420” date=“06-28-2022” component=“Close-InstallationProgress” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Closing the installation progress dialog’s runspace.]LOG]!><time=“10:08:57.773-420” date=“06-28-2022” component=“Close-InstallationProgress” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: DellInc._DellCommandUpdateforWindowsUniversal_4.5.0_EN_01 Installation completed with exit code [60001].]LOG]!><time=“10:08:57.796-420” date=“06-28-2022” component=“Exit-Script” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Check if PowerPoint is in either fullscreen slideshow mode or presentation mode…]LOG]!><time=“10:08:57.805-420” date=“06-28-2022” component=“Test-PowerPoint” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: PowerPoint application is not running.]LOG]!><time=“10:08:57.817-420” date=“06-28-2022” component=“Test-PowerPoint” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: PowerPoint is running in fullscreen mode [False].]LOG]!><time=“10:08:57.822-420” date=“06-28-2022” component=“Test-PowerPoint” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Display balloon tip notification asynchronously with message [Installation failed.].]LOG]!><time=“10:08:57.852-420” date=“06-28-2022” component=“Show-BalloonTip” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe] is a valid fully qualified path, continue.]LOG]!><time=“10:08:57.868-420” date=“06-28-2022” component=“Execute-Process” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Working Directory is [C:\Windows\System32\WindowsPowerShell\v1.0].]LOG]!><time=“10:08:57.896-420” date=“06-28-2022” component=“Execute-Process” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: Executing [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe [PowerShell ScriptBlock]]…]LOG]!><time=“10:08:57.900-420” date=“06-28-2022” component=“Execute-Process” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: NoWait parameter specified. Continuing without waiting for exit code…]LOG]!><time=“10:08:58.009-420” date=“06-28-2022” component=“Execute-Process” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>
<![LOG[[Installation] :: -------------------------------------------------------------------------------]LOG]!><time=“10:08:58.026-420” date=“06-28-2022” component=“Exit-Script” context=“HENSELPHELPS\KRM2_A” type=“1” thread=“20632” file=“Deploy-Application.ps1”>

/>

It fails at line 143 of \Deploy-Application.ps1.

Can you post it and format it with the </> tool?

Also, unless you have full paths to your CMDs/EXEs in your DCU_FORCE_SCAN_INSTALL.ps1 script, it wont find them.
The log file says : Working Directory is [C:\Windows\System32\WindowsPowerShell\v1.0

<

<#
.SYNOPSIS
This script performs the installation or uninstallation of an application(s).
# LICENSE #
PowerShell App Deployment Toolkit - Provides a set of functions to perform common application deployment tasks on Windows.
Copyright (C) 2017 - Sean Lillis, Dan Cunningham, Muhammad Mashwani, Aman Motazedian.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
.DESCRIPTION
The script is provided as a template to perform an install or uninstall of an application(s).
The script either performs an “Install” deployment type or an “Uninstall” deployment type.
The install deployment type is broken down into 3 main sections/phases: Pre-Install, Install, and Post-Install.
The script dot-sources the AppDeployToolkitMain.ps1 script which contains the logic and functions required to install or uninstall an application.
.PARAMETER DeploymentType
The type of deployment to perform. Default is: Install.
.PARAMETER DeployMode
Specifies whether the installation should be run in Interactive, Silent, or NonInteractive mode. Default is: Interactive. Options: Interactive = Shows dialogs, Silent = No dialogs, NonInteractive = Very silent, i.e. no blocking apps. NonInteractive mode is automatically set if it is detected that the process is not user interactive.
.PARAMETER AllowRebootPassThru
Allows the 3010 return code (requires restart) to be passed back to the parent process (e.g. SCCM) if detected from an installation. If 3010 is passed back to SCCM, a reboot prompt will be triggered.
.PARAMETER TerminalServerMode
Changes to “user install mode” and back to “user execute mode” for installing/uninstalling applications for Remote Destkop Session Hosts/Citrix servers.
.PARAMETER DisableLogging
Disables logging to file for the script. Default is: $false.
.EXAMPLE
powershell.exe -Command “& { & ‘.\Deploy-Application.ps1’ -DeployMode ‘Silent’; Exit $LastExitCode }”
.EXAMPLE
powershell.exe -Command “& { & ‘.\Deploy-Application.ps1’ -AllowRebootPassThru; Exit $LastExitCode }”
.EXAMPLE
powershell.exe -Command “& { & ‘.\Deploy-Application.ps1’ -DeploymentType ‘Uninstall’; Exit $LastExitCode }”
.EXAMPLE
Deploy-Application.exe -DeploymentType “Install” -DeployMode “Silent”
.NOTES
Toolkit Exit Code Ranges:
60000 - 68999: Reserved for built-in exit codes in Deploy-Application.ps1, Deploy-Application.exe, and AppDeployToolkitMain.ps1
69000 - 69999: Recommended for user customized exit codes in Deploy-Application.ps1
70000 - 79999: Recommended for user customized exit codes in AppDeployToolkitExtensions.ps1
.LINK
http://psappdeploytoolkit.com
#>
[CmdletBinding()]
Param (
[Parameter(Mandatory=$false)]
[ValidateSet(‘Install’,‘Uninstall’,‘Repair’)]
[string]$DeploymentType = ‘Install’,
[Parameter(Mandatory=$false)]
[ValidateSet(‘Interactive’,‘Silent’,‘NonInteractive’)]
[string]$DeployMode = ‘Interactive’,
[Parameter(Mandatory=$false)]
[switch]$AllowRebootPassThru = $false,
[Parameter(Mandatory=$false)]
[switch]$TerminalServerMode = $false,
[Parameter(Mandatory=$false)]
[switch]$DisableLogging = $false
)

Try {
## Set the script execution policy for this process
Try { Set-ExecutionPolicy -ExecutionPolicy ‘ByPass’ -Scope ‘Process’ -Force -ErrorAction ‘Stop’ } Catch {}

##*===============================================
##* VARIABLE DECLARATION
##*===============================================
## Variables: Application
[string]$appVendor = ''
[string]$appName = ''
[string]$appVersion = ''
[string]$appArch = ''
[string]$appLang = 'EN'
[string]$appRevision = '01'
[string]$appScriptVersion = '1.0.0'
[string]$appScriptDate = 'XX/XX/20XX'
[string]$appScriptAuthor = '<author name>'
##*===============================================
## Variables: Install Titles (Only set here to override defaults set by the toolkit)
[string]$installName = ''
[string]$installTitle = ''

##* Do not modify section below
#region DoNotModify

## Variables: Exit Code
[int32]$mainExitCode = 0

## Variables: Script
[string]$deployAppScriptFriendlyName = 'Deploy Application'
[version]$deployAppScriptVersion = [version]'3.8.4'
[string]$deployAppScriptDate = '26/01/2021'
[hashtable]$deployAppScriptParameters = $psBoundParameters

## Variables: Environment
If (Test-Path -LiteralPath 'variable:HostInvocation') { $InvocationInfo = $HostInvocation } Else { $InvocationInfo = $MyInvocation }
[string]$scriptDirectory = Split-Path -Path $InvocationInfo.MyCommand.Definition -Parent

## Dot source the required App Deploy Toolkit Functions
Try {
	[string]$moduleAppDeployToolkitMain = "$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1"
	If (-not (Test-Path -LiteralPath $moduleAppDeployToolkitMain -PathType 'Leaf')) { Throw "Module does not exist at the specified location [$moduleAppDeployToolkitMain]." }
	If ($DisableLogging) { . $moduleAppDeployToolkitMain -DisableLogging } Else { . $moduleAppDeployToolkitMain }
}
Catch {
	If ($mainExitCode -eq 0){ [int32]$mainExitCode = 60008 }
	Write-Error -Message "Module [$moduleAppDeployToolkitMain] failed to load: `n$($_.Exception.Message)`n `n$($_.InvocationInfo.PositionMessage)" -ErrorAction 'Continue'
	## Exit the script, returning the exit code to SCCM
	If (Test-Path -LiteralPath 'variable:HostInvocation') { $script:ExitCode = $mainExitCode; Exit } Else { Exit $mainExitCode }
}

#endregion
##* Do not modify section above
##*===============================================
##* END VARIABLE DECLARATION
##*===============================================

If ($deploymentType -ine 'Uninstall' -and $deploymentType -ine 'Repair') {
	##*===============================================
	##* PRE-INSTALLATION
	##*===============================================
	[string]$installPhase = 'Pre-Installation'

	## Show Welcome Message, close Internet Explorer if required, allow up to 3 deferrals, verify there is enough disk space to complete the install, and persist the prompt
	Show-InstallationWelcome -CloseApps 'iexplore' -AllowDefer -DeferTimes 3 -CheckDiskSpace -PersistPrompt

	## Show Progress Message (with the default message)
	Show-InstallationProgress

	## <Perform Pre-Installation tasks here>


	##*===============================================
	##* INSTALLATION
	##*===============================================
	[string]$installPhase = 'Installation'

	## Handle Zero-Config MSI Installations
	If ($useDefaultMsi) {
		[hashtable]$ExecuteDefaultMSISplat =  @{ Action = 'Install'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
		Execute-MSI @ExecuteDefaultMSISplat; If ($defaultMspFiles) { $defaultMspFiles | ForEach-Object { Execute-MSI -Action 'Patch' -Path $_ } }
	}

	## <Perform Installation tasks here>

Execute-Process -Path ‘powershell.exe’ -Parameters -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File “$dirFiles\DCU_Force_Scan_Instal.ps1”

	##*===============================================
	##* POST-INSTALLATION
	##*===============================================
	[string]$installPhase = 'Post-Installation'

	## <Perform Post-Installation tasks here>

	## Display a message at the end of the install
	If (-not $useDefaultMsi) { Show-InstallationPrompt -Message 'You can customize text to appear at the end of an install or remove it completely for unattended installations.' -ButtonRightText 'OK' -Icon Information -NoWait }
}
ElseIf ($deploymentType -ieq 'Uninstall')
{
	##*===============================================
	##* PRE-UNINSTALLATION
	##*===============================================
	[string]$installPhase = 'Pre-Uninstallation'

	## Show Welcome Message, close Internet Explorer with a 60 second countdown before automatically closing
	Show-InstallationWelcome -CloseApps 'iexplore' -CloseAppsCountdown 60

	## Show Progress Message (with the default message)
	Show-InstallationProgress

	## <Perform Pre-Uninstallation tasks here>


	##*===============================================
	##* UNINSTALLATION
	##*===============================================
	[string]$installPhase = 'Uninstallation'

	## Handle Zero-Config MSI Uninstallations
	If ($useDefaultMsi) {
		[hashtable]$ExecuteDefaultMSISplat =  @{ Action = 'Uninstall'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
		Execute-MSI @ExecuteDefaultMSISplat
	}

	# <Perform Uninstallation tasks here>


	##*===============================================
	##* POST-UNINSTALLATION
	##*===============================================
	[string]$installPhase = 'Post-Uninstallation'

	## <Perform Post-Uninstallation tasks here>


}
ElseIf ($deploymentType -ieq 'Repair')
{
	##*===============================================
	##* PRE-REPAIR
	##*===============================================
	[string]$installPhase = 'Pre-Repair'

	## Show Progress Message (with the default message)
	Show-InstallationProgress

	## <Perform Pre-Repair tasks here>

	##*===============================================
	##* REPAIR
	##*===============================================
	[string]$installPhase = 'Repair'

	## Handle Zero-Config MSI Repairs
	If ($useDefaultMsi) {
		[hashtable]$ExecuteDefaultMSISplat =  @{ Action = 'Repair'; Path = $defaultMsiFile; }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
		Execute-MSI @ExecuteDefaultMSISplat
	}
	# <Perform Repair tasks here>

	##*===============================================
	##* POST-REPAIR
	##*===============================================
	[string]$installPhase = 'Post-Repair'

	## <Perform Post-Repair tasks here>


}
##*===============================================
##* END SCRIPT BODY
##*===============================================

## Call the Exit-Script function to perform final cleanup operations
Exit-Script -ExitCode $mainExitCode

}
Catch {
[int32]$mainExitCode = 60001
[string]$mainErrorMessage = “$(Resolve-Error)”
Write-Log -Message $mainErrorMessage -Severity 3 -Source $deployAppScriptFriendlyName
Show-DialogBox -Text $mainErrorMessage -Icon ‘Stop’
Exit-Script -ExitCode $mainExitCode
}

/>

Really appreciate you taking a look at this

I’m guessing this is line 143:

Execute-Process -Path 'powershell.exe' -Parameters -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File "$dirFiles\DCU_Force_Scan_Instal.ps1"

What the name of your script?
DCU_Force_Scan_Instal.ps1
or
DCU_Force_Scan_Install.ps1

That is the correct line and name of the script is DCU_Force_Scan_Install.ps1
I just changed the typo and still am getting the error on the same line of code.

I ran the this:
Execute-Process -Path ‘powershell.exe’ -Parameters -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File “$dirFiles\DCU_Force_Scan_Instal.ps1”

and got:

Execute-Process : Cannot bind parameter because parameter 'Path' is specified more than once. To provide multiple 
values to parameters that can accept multiple values, use the array syntax. For example, "-parameter 
value1,value2,value3".
At line:158 char:113
+ ... ecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File "$dirFi ...
+                                                             ~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Execute-Process], ParameterBindingException
    + FullyQualifiedErrorId : ParameterAlreadyBound,Execute-Process

It’s VERY obvious what the error.

Execute-Process -Path 'powershell.exe' -Parameters "-ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File `"$dirFiles\DCU_Force_Scan_Instal.ps1`""

I’m done with this.