Я пытаюсь создать сценарий, в котором я могу скопировать папки Outlook sig от всех пользователей на машине в новую папку на основе имени учетной записи. Так что папка будет похожа на

C \ temp \ Nathan \ sig c \ temp \ James \ sig

Вот что у меня есть

Copy-Item c:\Users\*\AppData\Roaming\Microsoft\Signatures -Recurse -destination c:\msp\$env:username

Я предполагаю, что звезда будет проходить через каждого пользователя, но это не работает. Любая забота, чтобы поделиться, как заставить это работать?

0
Kidbuu 15 Апр 2020 в 18:35

1 ответ

Лучший ответ

Вам нужно разбить это на два этапа.

  1. Получите все профили пользователей

  2. Если там есть путь Microsoft \ Signatures, переместите его в место назначения.

Это должно вас подтолкнуть.

$profiles = Get-ChildItem C:\Users -Directory

foreach ($profile in $profiles){
    $signaturePath = "$($profile.FullName)\AppData\Roaming\Microsoft\Signatures"
    "checking $signaturePath for user signatures..."

    if (test-path $signaturePath){
        $newPath = "c:\msp\$($profile.BaseName)"
        "!!signature path found"
        Copy-Item -Path $signaturePath -Recurse -Destination $newPath
    }
    else{
        "--not found"
    }
}
0
FoxDeploy 15 Апр 2020 в 15:45