| Навигация 
  | 
                Сетевые ресурсы и powershellРаботая в организации часто даешь доступ к сетевым ресурсам(папки отделов на сервере например) , соответственно права доступа должны быть ограничены пользователями только которым это разрешено.Так-же не помешает иметь список сетевых ресурсов и прав доступа к ним на случай ухода из организации сотрудников , чтоб быстро внести требуемые изменения.Итак приступим.     Сначала мы получим список общих папок на локальном компьютере: 
PS C:Windowssystem32> Get-WmiObject -class win32_share -ComputerName localhost 
Name                                    Path                                    Description 
—-                                    —-                                    ———— 
ADMIN$                                  C:Windows                              Удаленный Admin 
C$                                      C:                                     Стандартный общий ресурс 
D$                                      D:                                     Стандартный общий ресурс 
IPC$                                                                            Удаленный IPC 
print$                                  C:Windowssystem32spooldrivers       Драйверы принтеров 
VBRCatalog                              C:VBRCatalog 
Y$                                      Y:                                     Общий ресурс по умолчанию 
    Методы и свойства можно посмотреть с помощью командлета Get-Member: 
PS C:Windowssystem32> Get-WmiObject -class win32_share | Get-Member 
   TypeName: System.Management.ManagementObject#rootcimv2Win32_Share 
Name                MemberType   Definition 
—-                ———-   ———- 
Delete              Method       System.Management.ManagementBaseObject Delete() 
GetAccessMask       Method       System.Management.ManagementBaseObject GetAccessMask() 
SetShareInfo        Method       System.Management.ManagementBaseObject SetShareInfo(System.UInt32 Maxi 
AccessMask          Property     System.UInt32 AccessMask {get;set;} 
AllowMaximum        Property     System.Boolean AllowMaximum {get;set;} 
Caption             Property     System.String Caption {get;set;} 
Description         Property     System.String Description {get;set;} 
InstallDate         Property     System.String InstallDate {get;set;} 
MaximumAllowed      Property     System.UInt32 MaximumAllowed {get;set;} 
Name                Property     System.String Name {get;set;} 
Path                Property     System.String Path {get;set;} 
Status              Property     System.String Status {get;set;} 
Type                Property     System.UInt32 Type {get;set;} 
__CLASS             Property     System.String __CLASS {get;set;} 
__DERIVATION        Property     System.String[] __DERIVATION {get;set;} 
__DYNASTY           Property     System.String __DYNASTY {get;set;} 
__GENUS             Property     System.Int32 __GENUS {get;set;} 
__NAMESPACE         Property     System.String __NAMESPACE {get;set;} 
__PATH              Property     System.String __PATH {get;set;} 
__PROPERTY_COUNT    Property     System.Int32 __PROPERTY_COUNT {get;set;} 
__RELPATH           Property     System.String __RELPATH {get;set;} 
__SERVER            Property     System.String __SERVER {get;set;} 
__SUPERCLASS        Property     System.String __SUPERCLASS {get;set;} 
PSStatus            PropertySet  PSStatus {Status, Type, Name} 
ConvertFromDateTime ScriptMethod System.Object ConvertFromDateTime(); 
ConvertToDateTime   ScriptMethod System.Object ConvertToDateTime(); 
    Общие ресурсы делятся на административные и не административные , первые — созданы системой , вторые — уже человеком например посмотрим на список не административных ресурсов: 
PS C:Windowssystem32> Get-WmiObject win32_share -Filter «type = ’0′» 
Name                                    Path                                    Description 
—-                                    —-                                    ———— 
print$                                  C:Windowssystem32spooldrivers       Драйверы принтеров 
VBRCatalog                              C:VBRCatalog 
   Так-же выведем список административных ресурсов: 
PS C:Windowssystem32> Get-WmiObject win32_share -Filter «type > ’0′» 
Name                                    Path                                    Description 
—-                                    —-                                    ———— 
ADMIN$                                  C:Windows                              Удаленный Admin 
C$                                      C:                                     Стандартный общий ресурс 
D$                                      D:                                     Стандартный общий ресурс 
IPC$                                                                            Удаленный IPC 
Y$                                      Y:                                     Общий ресурс по умолчанию 
    Изменим количество одновременных подключений у существующего общего ресурса на 10 одновременных подключений и введем ему описание: 
PS C:Windowssystem32> (Get-WmiObject -Class win32_share -filter «name=’Share’»).setShareinfo(«10″,»Test Share») 
__GENUS          : 2 
__CLASS          : __PARAMETERS 
__SUPERCLASS     : 
__DYNASTY        : __PARAMETERS 
__RELPATH        : 
__PROPERTY_COUNT : 1 
__DERIVATION     : {} 
__SERVER         : 
__NAMESPACE      : 
__PATH           : 
ReturnValue      : 0 
    Давайте создадим общую шару , тут мы используем ускоритель ввода [wmiClass] , после передаем параметры методу create , («путь», «Имя шары», «значение созданной пользователем шары», «количество подключений одновременно», «описание») 
PS C:Windowssystem32> $share = [wmiClass] ‘Win32_share’ 
PS C:Windowssystem32> $share.create(«C:powershellshare», «UserShare», «0″, «10″, «Test_share») 
__GENUS          : 2 
__CLASS          : __PARAMETERS 
__SUPERCLASS     : 
__DYNASTY        : __PARAMETERS 
__RELPATH        : 
__PROPERTY_COUNT : 1 
__DERIVATION     : {} 
__SERVER         : 
__NAMESPACE      : 
__PATH           : 
ReturnValue      : 0 
В этом выводе последняя строка со значением «0″ говорит об успешном завершении команды 
Второй вариант написания еще проще: ([wmiClass] ‘Win32_share’).Create(«C:powershellshare», «UserShare», «0″, «10″, «Test_share») 
 В Windows 2003 и выше при создании нового общего ресурса права назначаются только группе Everyone на чтение. 
Теперь давайте удалим общий ресурс: 
PS C:Windowssystem32> $share = Get-WmiObject Win32_share | where {$_.name -eq «UserShare»} 
PS C:Windowssystem32> Get-WmiObject -class win32_share -ComputerName localhost 
Name                                    Path                                    Description 
—-                                    —-                                    ———— 
ADMIN$                                  C:Windows                              Удаленный Admin 
C$                                      C:                                     Стандартный общий ресурс 
D$                                      D:                                     Стандартный общий ресурс 
IPC$                                                                            Удаленный IPC 
print$                                  C:Windowssystem32spooldrivers       Драйверы принтеров 
UserShare                               C:powershellshare                     Test_share 
VBRCatalog                              C:VBRCatalog 
Y$                                      Y:                                     Общий ресурс по умолчанию 
PS C:Windowssystem32> $share.Delete() 
__GENUS          : 2 
__CLASS          : __PARAMETERS 
__SUPERCLASS     : 
__DYNASTY        : __PARAMETERS 
__RELPATH        : 
__PROPERTY_COUNT : 1 
__DERIVATION     : {} 
__SERVER         : 
__NAMESPACE      : 
__PATH           : 
ReturnValue      : 0 
PS C:Windowssystem32> Get-WmiObject -class win32_share -ComputerName localhost 
Name                                    Path                                    Description 
—-                                    —-                                    ———— 
ADMIN$                                  C:Windows                              Удаленный Admin 
C$                                      C:                                     Стандартный общий ресурс 
D$                                      D:                                     Стандартный общий ресурс 
IPC$                                                                            Удаленный IPC 
print$                                  C:Windowssystem32spooldrivers       Драйверы принтеров 
VBRCatalog                              C:VBRCatalog 
Y$                                      Y:                                     Общий ресурс по умолчанию 
Или проще выполнить так: (Get-WmiObject Win32_Share | where {$_.name -eq «UserShare»}).Delete() 
Посмотреть на назначенные права можно так(первый вариант обычный , второй рекурсивный с выводом подкаталогов): 
PS C:Windowssystem32> Get-Acl c:Мишаня 
PS C:Windowssystem32> Get-ChildItem c:Мишаня -recurse | Get-Acl 
 Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь!  | 
| Контакты Группа ВК | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | ||||
Мои друзья: ![]()  | 
			© Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет.  | 
			||||
Поддержать автора и проект 
  | 
			|||||