peass-ng/PEASS-ng · error · ArgumentException
The DelayUntilReboot flag is invalid for this method.
Error message
The DelayUntilReboot flag is invalid for this method.
What it means
An argument validation error inside DirectoryInfo.MoveTo: the code validates the MoveOptions flags and rejects MoveOptions.DelayUntilReboot because a move of an existing directory object cannot be deferred to reboot (that flag only applies to file-copy style APIs). It fires when the caller's moveOptions contain DelayUntilReboot.
Source
Thrown at winPEAS/winPEASexe/winPEAS/3rdParty/AlphaFS/Filesystem/DirectoryInfo Class/DirectoryInfo CopyToMoveTo/DirectoryInfo.MoveTo.cs:192
/// <exception cref="ArgumentNullException"/>
/// <exception cref="DirectoryNotFoundException"/>
/// <exception cref="IOException"/>
/// <exception cref="NotSupportedException"/>
/// <exception cref="UnauthorizedAccessException"/>
/// <param name="destinationPath">
/// <para>The name and path to which to move this directory.</para>
/// <para>The destination cannot be another disk volume unless <paramref name="moveOptions"/> contains <see cref="MoveOptions.CopyAllowed"/>, or a directory with the identical name.</para>
/// <para>It can be an existing directory to which you want to add this directory as a subdirectory.</para>
/// </param>
/// <param name="moveOptions"><see cref="MoveOptions"/> that specify how the directory is to be moved. This parameter can be <c>null</c>.</param>
/// <param name="progressHandler">A callback function that is called each time another portion of the directory has been moved. This parameter can be <c>null</c>.</param>
/// <param name="userProgressData">The argument to be passed to the callback function. This parameter can be <c>null</c>.</param>
[SecurityCritical]
public CopyMoveResult MoveTo(string destinationPath, MoveOptions moveOptions, CopyMoveProgressRoutine progressHandler, object userProgressData)
{
// Reject DelayUntilReboot.
if ((moveOptions & MoveOptions.DelayUntilReboot) != 0)
throw new ArgumentException("The DelayUntilReboot flag is invalid for this method.", "moveOptions");
string destinationPathLp;
var cmr = CopyToMoveToCore(destinationPath, false, null, moveOptions, null, progressHandler, userProgressData, out destinationPathLp, PathFormat.RelativePath);
UpdateSourcePath(destinationPath, destinationPathLp);
return cmr;
}
/// <summary>[AlphaFS] Moves a <see cref="DirectoryInfo"/> instance and its contents to a new path, <see cref="MoveOptions"/> can be specified,
/// <para>and the possibility of notifying the application of its progress through a callback function.</para>
/// </summary>
/// <remarks>
/// <para>Use this method to allow or prevent overwriting of an existing directory.</para>
/// <para>This method does not work across disk volumes unless <paramref name="moveOptions"/> contains <see cref="MoveOptions.CopyAllowed"/>.</para>
/// <para>Whenever possible, avoid using short file names (such as <c>XXXXXX~1.XXX</c>) with this method.</para>View on GitHub (pinned to 53fb989abc)
Solutions
- Remove MoveOptions.DelayUntilReboot from the moveOptions argument
- Perform the move immediately without the deferral flag, retrying later at application level if needed
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at winPEAS/winPEASexe/winPEAS/3rdParty/AlphaFS/Filesystem/DirectoryInfo Class/DirectoryInfo CopyToMoveTo/DirectoryInfo.MoveTo.cs:192 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of peass-ng/PEASS-ng@53fb989abc (2026-09-02).
Data as JSON: /api/errors/709ddee9e6c47722.
Report an issue: GitHub.