每当我尝试运行我的 Powershell 脚本时,我都会收到以下错误消息:
Array assignment to [csr] failed: Cannot convert value "csr" to type "System.Int32". Error: "Input string was not in a correct format.".
At C:\fcheck\run-new.ps1:38 char:38
+ $Applications[$appname][$os][ <<<< $lob]=@()
+ CategoryInfo : InvalidOperation: (System.Object[]:Object[]) [], RuntimeException
+ FullyQualifiedErrorId : ArrayAssignmentFailed
Array assignment to [csr] failed: Cannot convert value "csr" to type "System.Int32". Error: "Input string was not in a correct format.".
At C:\fcheck\run-new.ps1:42 char:38
+ $Applications[$appname][$os][ <<<< $lob]+=$location
+ CategoryInfo : InvalidOperation: (c$\temp:String) [], RuntimeException
+ FullyQualifiedErrorId : ArrayAssignmentFailed
Array assignment to [csr] failed: Cannot convert value "csr" to type "System.Int32". Error: "Input string was not in a correct format.".
At C:\fcheck\run-new.ps1:38 char:38
+ $Applications[$appname][$os][ <<<< $lob]=@()
+ CategoryInfo : InvalidOperation: (System.Object[]:Object[]) [], RuntimeException
+ FullyQualifiedErrorId : ArrayAssignmentFailed
Array assignment to [csr] failed: Cannot convert value "csr" to type "System.Int32". Error: "Input string was not in a correct format.".
At C:\fcheck\run-new.ps1:42 char:38
+ $Applications[$appname][$os][ <<<< $lob]+=$location
+ CategoryInfo : InvalidOperation: (c$\temp:String) [], RuntimeException
+ FullyQualifiedErrorId : ArrayAssignmentFailed
它似乎来自以下几行
Import-CSV applications.csv | ForEach-Object {
$appname = $_.appname.ToLower()
$os = $_.os.ToLower()
$lob = $_.lob.ToLower()
$location = $_.location.ToLower()
if ($Applications.Keys -notcontains $appname) {
$WindowsOS=@{}
$WindowsOS["windows xp"]=@()
$WindowsOS["windows 7"]=@()
$Applications[$appname]=$WindowsOS
}
if ($Applications[$appname][$os].Keys -notcontains $lob) {
$Applications[$appname][$os][$lob]=@()
}
if ($Applications[$appname][$os][$lob].Keys -notcontains $location) {
$Applications[$appname][$os][$lob]+=$location
}
}
知道如何解决吗?