Blog链接:https://blog.51cto.com/13969817
今天在尝试使用PowerShell+CSV的方式批量创建SPO Site collection的时候,遇到如下错误:
Import-Csv : Cannot bind parameter 'Delimiter'. Cannot convert value "SiteCollection.csv" to type "System.Char". Error: "String must be exactly one character long."
At line:1 char:16
+ Import-Csv C:\ SiteCollection.csv | ForEach-Object {New-SPOSite -Owne ...
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Import-Csv], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.ImportCsvCommand
问题产生的原因:csv的路径未加引号,并且包含空格,这就是为什么PowerShell将引号后面的内容视为第二个位置参数“Delimiter”的原因提示:不要将所有内容都放到一行代码中,该错误很难发现。
解决方案:去掉csv路径中的空格,如下所示:
Import-Csv C:\SiteCollection.csv | ForEach-Object {New-SPOSite -Owner $_.Owner -StorageQuota $_.StorageQuota -Url $_.Url -NoWait -Template $_.Template -TimeZoneID $_.TimeZoneID -Title $_.Name}
问题得到解决,分享本文,希望大家日后遇到问题的时候多一个排错检查,谢谢大家阅读。