Навигация
|
Сетевые ресурсы и 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 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|