Нет встроенного командлета Powershell для создания / управления регионами.
Решение - напиши одно!
Как сказал Даниэль Ричнак в комментариях, Powershell - это .NET под прикрытием, и это означает, что вы можете написать дополнительные командлеты Powershell, чтобы заполнить пробелы.
Командлет - это обычный класс, который наследуется от System.Management.Automation.Cmdlet
, и он также украшен атрибутом System.Management.Automation.Cmdlet
. Чтобы заставить его работать, нужно переопределить метод ProcessRecord
. Параметры командной строки реализованы как свойства класса, украшенные атрибутом System.Management.Automation.Parameter
. Таким образом, командлет для создания регионов будет выглядеть примерно так:
using System.Management.Automation;
using Microsoft.ApplicationServer.Caching;
[Cmdlet(VerbsCommon.New, "CacheRegion")]
public class NewCacheRegion : Cmdlet
{
[Parameter(Mandatory = true, Position = 1)]
public string Cache { get; set; }
[Parameter(Mandatory = true, Position = 2)]
public string Region { get; set; }
protected override void ProcessRecord()
{
base.ProcessRecord();
DataCacheFactory factory = new DataCacheFactory();
DataCache cache = factory.GetCache(Cache);
try
{
cache.CreateRegion(Region);
}
catch (DataCacheException ex)
{
if (ex.ErrorCode == DataCacheErrorCode.RegionAlreadyExists)
{
Console.WriteLine(string.Format("There is already a region named {0} in the cache {1}.", Region, Cache));
}
}
}
}