Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] WMIobject

Ответить
Настройки темы
PowerShell - [решено] WMIobject

Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Научите пользоваться WMIobject.

Вот допустим хочу найти WMI связанный с сетевыми шарами

Код: Выделить весь код
PS C:\> Get-WmiObject -List | grep share

Win32_Share                         {Create, SetShare... {AccessMask, AllowMaximum, Caption, Description...}
Win32_ClusterShare                  {Create, SetShare... {AccessMask, AllowMaximum, Caption, Description...}
Win32_LogicalShareSecuritySetting   {GetSecurityDescr... {Caption, ControlFlags, Description, Name...}
Win32_SecuritySettingOfLogicalShare {}                   {Element, Setting}
Win32_OfflineFilesBackgroundSync    {}                   {BackgroundSyncWorkOfflineSharesEnabled, BlockOutDurationMin, BlockOutStartTimeHoursMinutes, MaxTimeBetweenSyncs...}
Win32_ShareToDirectory              {}                   {Share, SharedElement}
CIM_AdjacentSlots                   {}                   {DistanceBetweenSlots, SharedSlots, SlotA, SlotB}
Win32_LogicalShareAuditing          {}                   {AuditedAccessMask, GuidInheritedObjectType, GuidObjectType, Inheritance...}
Win32_PrinterShare                  {}                   {Antecedent, Dependent}
Win32_ConnectionShare               {}                   {Antecedent, Dependent}
Win32_LogicalShareAccess            {}                   {AccessMask, GuidInheritedObjectType, GuidObjectType, Inheritance...}


PS C:\> Get-WmiObject win32_share

Name                                                       Path                                                      Description
----                                                       ----                                                      -----------
ADMIN$                                                     C:\Windows                                                Remote Admin
C$                                                         C:\                                                       Default share
E                                                          E:\
IPC$                                                                                                                 Remote IPC
print$                                                     C:\Windows\system32\spool\drivers                         Printer Drivers


PS C:\> Get-WmiObject win32_share | Get-Member


   TypeName: System.Management.ManagementObject#root\cimv2\Win32_Share

Name                MemberType    Definition
----                ----------    ----------
PSComputerName      AliasProperty PSComputerName = __SERVER
Delete              Method        System.Management.ManagementBaseObject Delete()
GetAccessMask       Method        System.Management.ManagementBaseObject GetAccessMask()
SetShareInfo        Method        System.Management.ManagementBaseObject SetShareInfo(System.UInt32 MaximumAllowed, System.String Description, System.Management.Management...
AccessMask          Property      uint32 AccessMask {get;set;}
AllowMaximum        Property      bool AllowMaximum {get;set;}
Caption             Property      string Caption {get;set;}
Description         Property      string Description {get;set;}
InstallDate         Property      string InstallDate {get;set;}
MaximumAllowed      Property      uint32 MaximumAllowed {get;set;}
Name                Property      string Name {get;set;}
Path                Property      string Path {get;set;}
Status              Property      string Status {get;set;}
Type                Property      uint32 Type {get;set;}
__CLASS             Property      string __CLASS {get;set;}
__DERIVATION        Property      string[] __DERIVATION {get;set;}
__DYNASTY           Property      string __DYNASTY {get;set;}
__GENUS             Property      int __GENUS {get;set;}
__NAMESPACE         Property      string __NAMESPACE {get;set;}
__PATH              Property      string __PATH {get;set;}
__PROPERTY_COUNT    Property      int __PROPERTY_COUNT {get;set;}
__RELPATH           Property      string __RELPATH {get;set;}
__SERVER            Property      string __SERVER {get;set;}
__SUPERCLASS        Property      string __SUPERCLASS {get;set;}
PSStatus            PropertySet   PSStatus {Status, Type, Name}
ConvertFromDateTime ScriptMethod  System.Object ConvertFromDateTime();
ConvertToDateTime   ScriptMethod  System.Object ConvertToDateTime();
Итак есть метод Delete, как им воспользоваться, не создавая переменную?
только так? :
Код: Выделить весь код
(Get-WmiObject win32_share | where {$_.Name -eq "E"}).delete()

Отправлено: 07:33, 25-12-2014

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Чем не устраивает?
Можно так:
Код: Выделить весь код
(gwmi -query "select * from win32_share where name='E'").delete()
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:24, 25-12-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


длинновато набирать вообщем(( не юзабельно в работе получается... только если в скриптах использовать.

Отправлено: 10:38, 25-12-2014 | #3


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


red.army@vk, В данном случае можно и net share:
Код: Выделить весь код
net share E /delete

Отправлено: 10:49, 25-12-2014 | #4


Новый участник


Сообщения: 24
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


можно и Remove-SmbShare E
Дело было просто научится пользоваться WMI а шара так просто взята

Отправлено: 11:14, 25-12-2014 | #5


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


red.army@vk, Понятно, я POSH использую в основном для скриптов, в интерактиве она подтормаживает при старте или если долго не пользовался открытой консолью. Ну и синтаксис конечно тоже играет роль.

Отправлено: 11:20, 25-12-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] WMIobject

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено




 
Переход