我试图执行以下脚本:
Start-Transaction
Remove-Item D:\sandbox\temp.txt -UseTransaction
Undo-Transaction
我一直收到以下错误:
The provider does not support transactions. Perform the operation again without the -UseTransaction parameter.
At line:3 char:1
+ Remove-Item D:\sandbox\temp.txt -UseTransaction
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotImplemented: (:) [], PSNotSupportedException
+ FullyQualifiedErrorId : NotSupported
任何人都知道为什么?我使用带有Powershell 4的Windows 7 Professional x64.D:\是本地驱动器。
答案 0 :(得分:5)
来自Start-Transaction的Get-Help:
事务中使用的cmdlet必须设计为支持 交易。支持事务的Cmdlet具有UseTransaction 参数。要在提供程序中执行事务, 提供程序必须 支持交易 。 Windows PowerShell注册表提供程序 Windows Vista和更高版本的Windows支持事务。您 也可以使用 Microsoft.PowerShell.Commands.Management.TransactedString类到 在任何版本的Windows上的事务中包含表达式 支持Windows PowerShell。其他Windows PowerShell提供程序可以 也支持交易。
强调添加
我不相信FileSystem提供程序支持事务。