发布读取变量并通过
Issue reading variable and passing through
我正在尝试编写一个脚本来创建一个新的 dns 区域,但是当在其中传递变量时,它给了我一个 error_invalid_name
。手动运行命令时它可以工作。当我回显它正确输出的命令时,我现在被卡住了。我还尝试将变量作为字符串传递,并将整个 "abc.domain.com /zoneadd $Zone /dsprimary"
设置为字符串。
这是我的脚本:
import-csv -path C:\List.csv -Delimiter "`t" | ForEach-Object {
$Zone = $_.Zone
$Zone #outputs 10.10.10.in-addr.arpa
dnscmd serverDC.domain.com /zoneadd $Zone /dsprimary
有效的手动命令是
dnscmd serverDC.domain.com /zoneadd 10.10.10.in-addr.arpa /dsprimary
检查 $Zone
是否有任何不属于那里的前导或尾随字符:
Import-Csv -Path 'C:\List.csv' -Delimiter "`t" | ForEach-Object {
$Zone = $_.Zone
"-$Zone-"
dnscmd serverDC.domain.com /zoneadd $Zone /dsprimary
}
我可以通过在区域名称后添加 space 来重现您描述的问题:
PS C:\> <b>Import-Csv .\test.csv -Delimiter "`t" | % {</b>
>> <b>$Zone = $_.Zone</b>
>> <b>"-$Zone-"</b>
>> <b>dnscmd $env:COMPUTERNAME /zoneadd $Zone /dsprimary</b>
>> <b>}</b>
>>
<i>-10.10.10.in-addr.arpa -</i>
DNS server DC01 version is 6.1.7600
Creating zone in built-in domain directory partition...
Command failed: ERROR_INVALID_NAME 123 0x7B
我正在尝试编写一个脚本来创建一个新的 dns 区域,但是当在其中传递变量时,它给了我一个 error_invalid_name
。手动运行命令时它可以工作。当我回显它正确输出的命令时,我现在被卡住了。我还尝试将变量作为字符串传递,并将整个 "abc.domain.com /zoneadd $Zone /dsprimary"
设置为字符串。
这是我的脚本:
import-csv -path C:\List.csv -Delimiter "`t" | ForEach-Object {
$Zone = $_.Zone
$Zone #outputs 10.10.10.in-addr.arpa
dnscmd serverDC.domain.com /zoneadd $Zone /dsprimary
有效的手动命令是
dnscmd serverDC.domain.com /zoneadd 10.10.10.in-addr.arpa /dsprimary
检查 $Zone
是否有任何不属于那里的前导或尾随字符:
Import-Csv -Path 'C:\List.csv' -Delimiter "`t" | ForEach-Object {
$Zone = $_.Zone
"-$Zone-"
dnscmd serverDC.domain.com /zoneadd $Zone /dsprimary
}
我可以通过在区域名称后添加 space 来重现您描述的问题:
PS C:\> <b>Import-Csv .\test.csv -Delimiter "`t" | % {</b>
>> <b>$Zone = $_.Zone</b>
>> <b>"-$Zone-"</b>
>> <b>dnscmd $env:COMPUTERNAME /zoneadd $Zone /dsprimary</b>
>> <b>}</b>
>>
<i>-10.10.10.in-addr.arpa -</i>
DNS server DC01 version is 6.1.7600
Creating zone in built-in domain directory partition...
Command failed: ERROR_INVALID_NAME 123 0x7B