Quantcast
Channel: Active questions tagged powershell-3.0 - Stack Overflow
Viewing all articles
Browse latest Browse all 149

The term 'AFDiag.exe' is not recognized as the name of a cmdlet, function, script file, or operable program

$
0
0

I have a simple powershell script that executes afdiag.exe with a few parameters.

Example:

AFDiag.exe /Database:"Distributed SYS_Test" /Template:"STS-Heartbeat" /DelEF:"2024-06-01 00:00:00";"2024-06-03 15:00:00"

However it seems to reject the command I'm thinking to the way it's reading it in. I have tried several methods including set-location so as to just afdiag.exe without the path and it still fails. My two eyes can't see where I've gone wrong.

Code

# Define paths and parameters$AFDiagPath = "D:\Program Files\PIPC\AF\AFDiag.exe"$TemplatesFile = "D:\Scripts\PI AF Monthly Cleanup\cfg\PIAF MDB Cleanup Templates.csv"$AFDatabase = "Distributed SYS_Test"$OutputFolder = "D:\Scripts\PI AF Monthly Cleanup\log"# Calculate date range (today and last 30 days)$EndDate = Get-Date$StartDate = $EndDate.AddDays(-30)# Format dates for AFDiag$StartDateFormatted = $StartDate.ToString("yyyy-MM-dd")$EndDateFormatted = $EndDate.ToString("yyyy-MM-dd")# Read template names from CSV file$TemplateNames = Import-Csv -Path $TemplatesFile | Select-Object -ExpandProperty AFTemplates# Create a timestamp for the log file$Timestamp = Get-Date -Format "yyyyMMdd-HHmmss"$LogFileName = "piaf-mdbc-log-$Timestamp.txt"$LogFile = Join-Path -Path $OutputFolder -ChildPath $LogFileName# Iterate through template names and execute AFDiag commandforeach ($TemplateName in $TemplateNames) {    # $AFDiagCommand = "AFDiag.exe /Database:`"$AFDatabase`" /Template:`"$TemplateName`" /DelEF:`"$StartDateFormatted`";`"$EndDateFormatted`""    $AFDiagCommand = "$AFDiagPath /Database:`"$AFDatabase`" /Template:`"$TemplateName`" /DelEF:`"$StartDateFormatted`";`"$EndDateFormatted`""    $Result = Invoke-Expression $AFDiagCommand    # Append result to the log file    $Result | Out-File -Append -FilePath $LogFile}# Display a messageWrite-Host "AFDiag commands executed. Results logged in $LogFile"

This is the error generated

AFDiag.exe : The term 'AFDiag.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.At line:1 char:1+ AFDiag.exe /Database:"Distributed SYS_Test" /Template:"STS-Heartbea ...+ ~~~~~~~~~~+ CategoryInfo          : ObjectNotFound: (AFDiag.exe:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException

Viewing all articles
Browse latest Browse all 149

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>