在New-item -path中传递字符串变量

时间:2015-08-03 09:33:10

标签: powershell powershell-v2.0

我正在编写此代码来捕获新创建的AD的samaccountname并为其创建一个homefolder!我正面临这个问题 -

$ADServer= 'xyz'

$c = Get-EventLog Security -computername $ADServer -After (Get-Date).AddHours(-24) | Where-Object { $_.EventID -eq 4720 -and $_.Message -match "sam account name:\s+(.*)"} | ForEach-Object { $matches[1] } | Select-Object -First 1

New-Item -ItemType Directory -Path "\\abc\$c"

这显示错误 - 字符串中的非法字符,如何创建我在$c中捕获的相同内容的文件夹?

1 个答案:

答案 0 :(得分:1)

试试这个:

New-Item -ItemType Directory -Path "\\abc\c$\$($c.Trim())"

或:

$c = $c.trim()
New-Item -ItemType Directory -Path "\\abc\$c"
  

原因:你最后有空格字母,这就是它失败的原因,

使用$c.trim()$c -replace "\s"删除空格字符