Как я могу выполнить эти команды для каждого профиля пользователя? - PullRequest
1 голос
/ 14 июня 2019

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

$profilelist = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
ForEach ($profile in $profilelist)
{
# Create directories

$directory = 1
do
{
    New-Item -Path C:\Users\$profile\Desktop\$directory -Type Directory
    $directory
    $directory++

}while($directory-lt 6)

# Create files

Get-ChildItem -Path C:\Users\$profile\Desktop
New-Item -Path * -Name passwords.txt -Type File
New-Item -Path * -Name PII.txt -Type File

# Write Data

Get-ChildItem -Path C:\Users\$profile\Desktop
Add-Content -Path C:\Users\$profile\Desktop\*\passwords.txt -Value "Citibank.com: password123", "Amazon.com: qwerty", "Wellsfargo.com: deadshotwashere", "crypsislabs@group.com: 1337passw0rd"
Add-Content -Path C:\Users\$profile\Desktop\*\PII.txt -Value "SSN: 153-02-9283", "License ID: 41 928 2942", "Bank Account: 938429517"

# Create ZIP file from files located on Desktop
Get-ChildItem -Path C:\Users\$profile\Desktop
Compress-Archive -Path * -CompressionLevel Optimal -DestinationPath C:\Users\$profile\Downloads\test.zip

1 Ответ

2 голосов
/ 14 июня 2019

$profilelist - строка, поэтому вы, вероятно, не хотите ее повторять. Чтобы получить все ProfileImagePath свойства, вы можете использовать следующее:

$allProfiles = @((dir $profilelist | Get-ItemProperty).profileImagePath | Where-Object { $_ -notlike 'C:\Windows*' })

Будет выведено:

C:\Users\user1
C:\Users\user2

и так далее. @( ... ) должен гарантировать, что вы получите массив, даже если есть только один соответствующий профиль.

Обратите внимание, что я исключил профили Windows по умолчанию, так как вы, вероятно, все равно их не хотите. Не забудьте изменить $profilelist на $allProfiles в ForEach.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...