К сожалению, нет :-( В настоящее время команды PowerShell направлены на более высокий уровень детализации.
Однако ...
Вы можете написать свои собственные командлеты PowerShell, чтобы вы могли добавить дополнительные нужные вам: -)
В Интернете достаточно информации о написании пользовательских командлетов , но в качестве приблизительного руководства это будет примерно так. Создайте новый проект библиотеки классов на вашем языке. Добавьте ссылку на System.Management.Automation.dll - вы можете найти ее в C: \ Program Files \ Reference Assemblies \ Microsoft \ Powershell \ 1.0. Создайте класс, который наследуется от Cmdlet
, а также имеет атрибут Cmdlet
. Переопределите метод ProcessRecord и добавьте код, чтобы сделать то, что вам нужно. Чтобы передать параметры из Powershell, вам нужно добавить свойства в ваш класс и пометить их атрибутом Parameter
. Это должно выглядеть примерно так:
Imports System.Management.Automation
Imports Microsoft.ApplicationServer.Caching
<Cmdlet(VerbsCommon.Remove, "CacheItem")> _
Public Class RemoveCacheItem
Inherits Cmdlet
Private mCacheName As String
Private mItemKey As String
<Parameter(Mandatory:=True, Position:=1)> _
Public Property CacheName() As String
Get
Return mCacheName
End Get
Set(ByVal value As String)
mCacheName = value
End Set
End Property
<Parameter(Mandatory:=True, Position:=2)> _
Public Property ItemKey() As String
Get
Return mItemKey
End Get
Set(ByVal value As String)
mItemKey = value
End Set
End Property
Protected Overrides Sub ProcessRecord()
MyBase.ProcessRecord()
Dim factory As DataCacheFactory
Dim cache As DataCache
Try
factory = New DataCacheFactory
cache = factory.GetCache(Me.CacheName)
Call cache.Remove(Me.ItemKey)
Catch ex As Exception
Throw
Finally
cache = Nothing
factory = Nothing
End Try
End Sub
End Class
После того как вы создали DLL, вы можете добавить ее в Powershell с помощью командлета Import-Module.