[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/LTRData/SystemTools/master/PowerShellFs/Program.cs [Back]  [Original]

using DokanNet;
using DokanNet.Logging;
using System;
using System.Linq;
using System.Management.Automation.Runspaces;

namespace PowerShellFs;

public static class Program
{
    public static void Main(params string[] args)
    {
        using var dokan = new Dokan(new NullLogger());

        RunspaceConnectionInfo? ci = null;

        if (args?.FirstOrDefault() is string host)
        {
            ci = new WSManConnectionInfo
            {
                ComputerName = args[0],
                AuthenticationMechanism = AuthenticationMechanism.Default
            };
        }
        
        using var runspace = ci is not null ? RunspaceFactory.CreateRunspace(ci) : RunspaceFactory.CreateRunspace();

        var fs = new PowerShellFs(runspace);

        Console.CancelKeyPress += (sender, e) =>
        {
            dokan.RemoveMountPoint("Q:");
            e.Cancel = true;
        };

        var builder = new DokanInstanceBuilder(dokan);

        builder.ConfigureOptions(option =>
        {
            option.MountPoint = "Q:";
            option.Options = DokanOptions.WriteProtection;
        });

        using var instance = builder.Build(fs);

        instance.WaitForFileSystemClosed(uint.MaxValue);
    }
}

Web Proxy Viewer  |  New URL  |  Original Page