Передача строковой переменной в New-item -path

Я писал этот код, чтобы захватить только что созданное имя пользователя samaccount и создать для него домашнюю папку! я сталкиваюсь с этой проблемой -

$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 ответ

Попробуй это:

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

или же:

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

Причина: у вас есть лишний пробел в конце, поэтому он не работает,

Использовать $c.trim() или же $c -replace "\s" убрать пробел

Другие вопросы по тегам