【发布时间】:2021-10-27 23:09:57
【问题描述】:
我正在尝试学习如何在 Powershell 中导入 csv 并从中创建用户。
我需要导入的值之一需要转换为布尔值。这些值只会是$true 或false。
我当前的代码是
param([Parameter(Mandatory)][string] $inputfile)
$ADUsers = Import-csv $inputfile -Delimiter ';'
foreach ($User in $ADUsers) {
$Name = $User.Name
$SurName = $User.sn
$GivenName = $User.Givenname
$Email = $User.Email
$SamAccountName = $User.samAccount
$Path = $User.ParentOU
$Password = $User.Password
$Enabled = [System.Convert]::ToBoolean($User.Enabled)
$ChangePasswordAtLogon = [System.Convert]::ToBoolean($User.mustChangePassword)
$Description = $User.Description
New-ADUser `
-Name = $Name `
-Surname = $SurName `
-GivenName = $GivenName `
-EmailAddress = $Email `
-SamAccountName = $SamAccountName `
-Path = $Path `
-AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) `
-Enabled = $Enabled `
-ChangePasswordAtLogon = $ChangePasswordAtLogon `
-Description = $Description
}
使用当前代码,我唯一的问题(目前)似乎是我无法将此字符串解析为布尔值。错误:
Exception calling "ToBoolean" with "1" argument(s): "String was not recognized as a valid Boolean."
谁知道解决这个问题的最佳方法?
【问题讨论】:
-
这些字段在 csv 中的值是什么?
-
这些值是 csv 本身中的
$true或$false。
标签: powershell type-conversion import-csv