Running `gradlew :server:test` in a fresh clone of the repository on Win10 computer has a failure in one test.

Apparently, with UAC enabled creating symbolic links requires granting a permission via a change in security policies.
https://stackoverflow.com/questions/23217460/how-to-create-soft-symbolic-link-using-java-nio-files

### Repro line

gradlew ':server:test' --tests "org.elasticsearch.env.NodeEnvironmentTests.testSymlinkDataDirectory" -Dtests.seed=64424B2A8125138F -Dtests.locale=ar -Dtests.timezone=Africa/Casablanca -Druntime.java=21

### Does it reproduce?

Yes

### Applicable branches

main

### Failure history

_No response_

### Failure excerpt

java.nio.file.FileSystemException: C:\Development\Projects\elasticsearch\server\build\testrun\test\temp\org.elasticsearch.env.NodeEnvironmentTests_64424B2A8125138F-001\tempDir-070\data_symlink: A required privilege is not held by the client
	at __randomizedtesting.SeedInfo.seed([64424B2A8125138F:C771051254BAD1E8]:0)
	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.createSymbolicLink(WindowsFileSystemProvider.java:604)
	at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.createSymbolicLink(FilterFileSystemProvider.java:240)
	at org.apache.lucene.tests.mockfile.FilterFileSystemProvider.createSymbolicLink(FilterFileSystemProvider.java:240)
	at java.base/java.nio.file.Files.createSymbolicLink(Files.java:1069)
	at org.elasticsearch.env.NodeEnvironmentTests.testSymlinkDataDirectory(NodeEnvironmentTests.java:643)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)

server/src/test/java/org/elasticsearch/env/NodeEnvironmentTests.java
final AtomicInteger[] countsAtomic = new AtomicInteger[shards];
        final AtomicInteger[] flipFlop = new AtomicInteger[shards];
        for (int i = 0; i < counts.length; i++) {
            counts[i] = new Int();
            countsAtomic[i] = new AtomicInteger();
            flipFlop[i] = new AtomicInteger();
        }
        Thread[] threads = new Thread[randomIntBetween(2, 5)];
        final CountDownLatch latch = new CountDownLatch(1);
        final int iters = scaledRandomIntBetween(10000, 100000);
        for (int i = 0; i < threads.length; i++) {
            threads[i] = new Thread() {
                @Override
                public void run() {
                    try {
                        latch.await();
                    } catch (InterruptedException e) {
                        fail(e.getMessage());
                    }
                    for (int i = 0; i < iters; i++) {
                        int shard = randomIntBetween(0, counts.length - 1);
                        try {
                            try (
                                ShardLock autoCloses = env.shardLock(
                                    new ShardId("foo", "fooUUID", shard),
                                    "1",
                                    scaledRandomIntBetween(0, 10)
                                )
                            ) {
                                counts[shard].value++;