Кажется немного излишним иметь все эти параметры, где вы используете только один.
Если ваш CSV выглядит примерно так (я немного перемешал строки):
"Server_Name","Service_Name","Start_Order","Start_Flag","Start_Wait"
"USOHCOGAPP902","Analytics DISP08:9800","6","",""
"USOHCOGAPP902","Analytics DISP01:9100","2","",""
"APSGCOGAPP102","Analytics DISP01:9100","2","",""
"USOHCOGAPP902","Analytics DISP06:9600","4","",""
"USOHCOGAPP902","Analytics DISP04:9400","5","",""
"APSGCOGAPP102","Analytics DISP05:9500","9","",""
"APSGCOGAPP102","Analytics DISP09:9900","10","",""
"USOHCOGAPP902","Analytics DISP03:9300","7","",""
"USOHCOGAPP902","Analytics DISP02:9200","3","",""
"APSGCOGAPP102","Analytics CM:9000","12","",""
"USOHCOGAPP902","Analytics DISP05:9500","9","",""
"APSGCOGAPP102","Analytics DISP06:9600","4","",""
"USOHCOGAPP902","Analytics DISP09:9900","10","",""
"APSGCOGAPP102","Analytics DISP10:10000","11","",""
"USOHCOGAPP902","Analytics DISP07:9700","8","",""
"USOHCOGAPP902","Analytics DISP10:10000","11","",""
"USOHCOGAPP902","Analytics CM:9000","12","",""
"USOHCOGAPP902","IIS RESET for WEB","","",""
"APSGCOGAPP102","Analytics DISP08:9800","6","",""
"APSGCOGAPP102","Analytics DISP04:9400","5","",""
"APSGCOGAPP102","Analytics DISP03:9300","7","",""
"APSGCOGAPP102","Analytics DISP02:9200","3","",""
"APSGCOGAPP102","Analytics DISP07:9700","8","",""
"APSGCOGAPP102","IIS RESET f50 WEB","","",""
Тогда ваша функция может быть записана в виде:
function Get-ServerStart{
Param (
[Parameter (Mandatory=$true)]
[string] $Server_Name
)
$Sourcefile = "C:\Users\Powershell Scripts\File_CLEAN10182019.csv"
Import-Csv $Sourcefile |
Where-Object { $_.Server_Name -eq $Server_Name } |
Select-Object Server_Name,Service_Name, Start_Order, Start_Flag, Start_Wait |
Sort-Object -Property Server_Name, {[int]$_.Start_Order}
}
Get-ServerStart -Server_Name 'USOHCOGAPP902' | Format-Table -AutoSize
Это выведет на консоль:
Server_Name Service_Name Start_Order Start_Flag Start_Wait
----------- ------------ ----------- ---------- ----------
USOHCOGAPP902 IIS RESET for WEB
USOHCOGAPP902 Analytics DISP01:9100 2
USOHCOGAPP902 Analytics DISP02:9200 3
USOHCOGAPP902 Analytics DISP06:9600 4
USOHCOGAPP902 Analytics DISP04:9400 5
USOHCOGAPP902 Analytics DISP08:9800 6
USOHCOGAPP902 Analytics DISP03:9300 7
USOHCOGAPP902 Analytics DISP07:9700 8
USOHCOGAPP902 Analytics DISP05:9500 9
USOHCOGAPP902 Analytics DISP09:9900 10
USOHCOGAPP902 Analytics DISP10:10000 11
USOHCOGAPP902 Analytics CM:9000 12
Я переименовал функциюдля соответствия системе имен Verb-Noun в PowerShell