我正在编写此代码来捕获新创建的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
中捕获的相同内容的文件夹?
答案 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"
删除空格字符