0

我正在尝试使用 powershell 编写脚本,但由于某些原因,变量未在 New- 命令中传递。

我收到如下错误:New-NAVServerUser DynamicsNav110 -WindowsAccount "$Username" -com ...

我错过了什么??

$csv = import-csv 'C:\Temp\user_list.csv' 
$csv | ForEach-Object {
    $Username = $_.Username
    $ProfileId = $_.ProfileId
    $LanguageId = $_.LanguageId
    $PermissionSetId = $_.PermissionSetId
    $Company = $_.Company
    New-NAVServerUser DynamicsNav110 -WindowsAccount "$Username" -company "$Company" -ProfileId "$ProfileId" -LanguageId "$LanguageId"
    New-NAVServerUserPermissionSet DynamicsNav110 -WindowsAccount "$Username" -PermissionSetId "$PermissionSetId"
}
4

1 回答 1

0

尝试这样的事情:

$csv = import-csv 'C:\Temp\user_list.csv' 
ForEach ($object in $csv) {
$object # This is just for troubleshooting. Use pause and then debug if needed.
New-NAVServerUser DynamicsNav110 -WindowsAccount "$object.Username" -company "$object.Company" -ProfileId "$object.ProfileId" -LanguageId "$object.LanguageId"
New-NAVServerUserPermissionSet DynamicsNav110 -WindowsAccount "$object.Username" -PermissionSetId "$object.PermissionSetId"
}

略有不同的“ForEach”循环。而不是管道变量:

$Object 可以重命名为任何东西。

我们实际上只是说对于这个列表中的每个项目,做这些事情。然后我们使用 $object.value 来表示您的列标题。

于 2021-06-30T18:15:20.693 回答