PowerShell动词为" Expire"

时间:2014-06-26 03:43:52

标签: powershell powershell-v4.0

我正在为服务器应用程序完成一组cmdlet。部分应用程序包括安全主体管理和数据对象管理,以及两者的“到期”(定时和手动)。在到期日期之后,拒绝对安全主体的登录和访问,并且可以选择阻止对该主体拥有的数据的访问(通过删除立即或作为自动维护的一部分,将其标记为已过期)。

从Get-Verb的输出中,我看不到Expire的明显同义词,这是动词在这里采取的最自然的动词选择。对安全主体的过期会使主体到期,并且也可能使所有存储的数据到期,而数据对象的过期仅限于该对象。

Set-已经在两种对象类型中使用,并且在功能上有部分重叠(Expire-强制过去的日期,并删除数据,而Set-将允许未来或过去的日期但不删除数据)

以这种方式,Expire结合了两个操作(Set + Remove),出于数据安全的原因,我们不希望强制分离为两个操作(已经可以)。

出于这个原因,我也认为禁用是不合适的,因为它表明可以通过启用来反转。

我还认为删除本身是不合适的,因为作为操作的一部分,特别是删除了数据记录。

Unpublish似乎至少对数据非常接近,但似乎意图是Unpublish和Publish配对,在这种情况下它不会是可逆的。当应用于安全主体时,它也没有意义。

如果你想要过期的话,你期望使用哪个(如果有的话)标准动词?

2 个答案:

答案 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或类似的东西。

根据MS reccomendations

,确实没有符合您情景的已批准动词