Создание персональных папок для пользователей домена

Простенький скрипт, точнее две его разновидности, для случая, когда необходимо создать папки для ряда пользователей на файловом сервере при условии, что названия папок будут совпадать с именами пользователей и эти пользователи будут иметь определенный уровень доступа к этим (своим) папкам. Все это может создаваться внутри определенной папки непосредственно на сервере или через сеть в общей папке по UNC пути.

Первый пример использует дополнительный модуль ActiveDirectory и предназначен для случая, когда пользователи находятся в каком-либо OU в AD:

#
# PowerShell Script.
# Creates home folders for users from an OU in AD and set permissions.
# Prepared by Alexander Lipovetskiy. August 2013.
#
 
cls
 
# We need the AD module for this first
Import-Module ActiveDirectory

# A folder or share where home folders must be created.
$Dir = "D:\Users"
# or $Dir = "\\server\share\"
 
# Path to an OU with users.
$Users = Get-ADUser -Filter * -SearchBase "OU=Users,OU=Muhosransk,DC=domain,DC=com"
 
# Creating folders and set permissions.
foreach ($User in $Users) {
    $User = $User.Name
    $Path = New-Item -ItemType Directory -Path $Dir -Name $User
    $Args = New-Object  system.security.accesscontrol.filesystemaccessrule($User,"Modify, Synchronize", "ContainerInherit, ObjectInherit", "None", "Allow")
    $ACL = Get-Acl $Path
    $ACL.SetAccessRule($Args)
    Set-Acl $Path $ACL
    }

Второй пример обрабатывает список пользователей, находящийся в текстовом файле:

#
# PowerShell Script.
# Creates home folders for a list of users and set permissions.
# Prepared by Alexander Lipovetskiy. August 2013.
#
 
cls
 
# A folder or share where home folders must be created.
$Dir = "D:\Users"
# or $Dir = "\\server\share\"
 
# Path to a text file with users.
$Users = Get-Content "$home\users.txt"
 
# Creating folders and set permissions.
foreach ($User in $Users) {
    $Path = New-Item -ItemType Directory -Path $Dir -Name $User
    $Args = New-Object  system.security.accesscontrol.filesystemaccessrule($User,"Modify, Synchronize", "ContainerInherit, ObjectInherit", "None", "Allow")
    $ACL = Get-Acl $Path
    $ACL.SetAccessRule($Args)
    Set-Acl $Path $ACL
    }

В данных примерах устанавливаются не полные права, а «Modify, Synchronize» не дающие возможности пользователям менять security permissions и становиться владельцами папок. Конечно все это можно поменять на FullControl или что-либо другое. Также в примерах установлено наследование разрешений подпапками и файлами.

UPDATE:

Третий пример, для случая, когда папки создаются для членов АД группы и прописываются им как домашние директории:

#
# PowerShell Script.
# Creates home folders for a list of users and set permissions.
# Prepared by Alexander Lipovetskiy. August 2013.
#
 
cls
 
# We need the AD module for this first
Import-Module ActiveDirectory

# A folder or share where home folders must be created.
$Dir = "D:\Users"
# or $Dir = "\\server\share\"
 
# Extract group members.
$Users = Get-ADGroupMember -Identity "Groupname" -Recursive
 
# Creating folders and set permissions.
foreach ($User in $Users) {
    $Path = New-Item -ItemType Directory -Path $Dir -Name $User
    $Args = New-Object  system.security.accesscontrol.filesystemaccessrule($User,"Modify, Synchronize", "ContainerInherit, ObjectInherit", "None", "Allow")
    $ACL = Get-Acl $Path
    $ACL.SetAccessRule($Args)
    Set-Acl $Path $ACL
    Set-ADUser -Identity $User -HomeDrive "Z:" -HomeDirectory "$Dir$User"
    }

Взято здесь

Уменьшение размера папки WinSxS в windows 8

Так как у меня под систему SSD диск и размер его не велик как к примеру размер HDD, то приходится иногда поднимать вопрос про свободное место.
Итак чистим папку WinSxS.
Для начала избавляемся от резервных копий и установочных файлов обновлений.
Для этого запускаем Командную строку от имени админа и вводим

dism /online /cleanup-image /spsuperseded /hidesp

Тем самым мы даем часть ненужного барахла.
Идем далее…
Вводим следующую команду

dism /online /cleanup-image /startcomponentcleanup

И тем самым система удаляет не нужные компоненты взамен которых уже были установлены новые версии.

После выполнения данных команд свободное место должно увеличится.