我正在为服务器应用程序完成一组cmdlet。部分应用程序包括安全主体管理和数据对象管理,以及两者的“到期”(定时和手动)。在到期日期之后,拒绝对安全主体的登录和访问,并且可以选择阻止对该主体拥有的数据的访问(通过删除立即或作为自动维护的一部分,将其标记为已过期)。
从Get-Verb的输出中,我看不到Expire的明显同义词,这是动词在这里采取的最自然的动词选择。对安全主体的过期会使主体到期,并且也可能使所有存储的数据到期,而数据对象的过期仅限于该对象。
Set-已经在两种对象类型中使用,并且在功能上有部分重叠(Expire-强制过去的日期,并删除数据,而Set-将允许未来或过去的日期但不删除数据)
以这种方式,Expire结合了两个操作(Set + Remove),出于数据安全的原因,我们不希望强制分离为两个操作(已经可以)。
出于这个原因,我也认为禁用是不合适的,因为它表明可以通过启用来反转。
我还认为删除本身是不合适的,因为作为操作的一部分,特别是不删除了数据记录。
Unpublish似乎至少对数据非常接近,但似乎意图是Unpublish和Publish配对,在这种情况下它不会是可逆的。当应用于安全主体时,它也没有意义。
如果你想要过期的话,你期望使用哪个(如果有的话)标准动词?
答案 0 :(得分:2)
查看approved verbs的列表,有两个跳出来:
拒绝(dn): 拒绝,反对,阻止或反对资源或过程的状态。
撤销(rk):指定不允许访问资源的操作。这个动词与格兰特配对。
如果没有配对操作,我不会太担心,因为某些内置cmdlet会发生这种情况。例如,Stop-Computer
没有配对Start-Computer
。有Remove-Variable
,但没有Add-Variable
(有New-Variable
)。我认为只有配对命令存在且一致命名才是最重要的。
另一种选择可能是使用像Set-ObjectExpiration
/ Get-ObjectExpiration
之类的东西,特别是如果有意义查询对象何时到期。
答案 1 :(得分:1)
Invoke
怎么样?它可能是Invoke-ExpireAppObject
或类似的东西。