# UpdateFileStates
**EventNames:**
- UpdateFileStates_Restrictions
- UpdateFileStates_Pre
- UpdateFileStates_Post
**Parameters**
| Type | Name |Description |
| ----------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| [File[]](inv:powervault#code_reference/objects/file) | files | The files in Vault for which the lifefycle status changes/was changed.
**Restrictions and Pre:**
In these events you can get the future changes through the special properties `_NewState`, `_NewLifeCycleDefinition` and `_NewComment`.
**Post:**
In this event you can retrieve the information from previous events by using the properties `_OldState`, `_OldLifeCycleDefinition` and `_OldComment`. |
| bool | successful | **Post**:
The information whether the Web Service call was successful or not is only available in the *_Post* event. |
**Examples:**\
UpdateFileStates_Restrictions:
```powershell
Register-VaultEvent -EventName UpdateFileStates_Restrictions -Action 'RestrictUpdateFileStates'
function RestrictUpdateFileStates($files) {
#Write event code here
}
```
UpdateFileStates_Pre:
```powershell
Register-VaultEvent -EventName UpdateFileStates_Pre -Action 'PreUpdateFileStates'
function PreUpdateFileStates($files) {
#Write event code here
}
```
UpdateFileStates_Post:
```powershell
Register-VaultEvent -EventName UpdateFileStates_Post -Action 'PostUpdateFileStates'
function PostUpdateFileStates($files, $successful) {
#Write event code here
}
```