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
}
    public void testDeleteSafe() throws Exception {
        final NodeEnvironment env = newNodeEnvironment();
        final Index index = new Index("foo", "fooUUID");
        final ShardLock fooLock = env.shardLock(new ShardId(index, 0), "1");
        assertEquals(new ShardId(index, 0), fooLock.getShardId());
        for (Path path : env.indexPaths(index)) {
            Files.createDirectories(path.resolve("0"));
            Files.createDirectories(path.resolve("1"));
        }
        expectThrows(
            ShardLockObtainFailedException.class,
            () -> env.deleteShardDirectorySafe(new ShardId(index, 0), idxSettings, shardPaths -> {
                assert false : "should not be called " + shardPaths;
            })
        );
        for (Path path : env.indexPaths(index)) {
            assertTrue(Files.exists(path.resolve("0")));
            assertTrue(Files.exists(path.resolve("1")));
        }
        {
            SetOnce<Path[]> listener = new SetOnce<>();
            env.deleteShardDirectorySafe(new ShardId(index, 1), idxSettings, listener::set);
            Path[] deletedPaths = listener.get();
            for (int i = 0; i < env.dataPaths().length; i++) {
                assertThat(deletedPaths[i], equalTo(env.dataPaths()[i].resolve(index).resolve("1")));
            }
        }
        for (Path path : env.indexPaths(index)) {
            assertTrue(Files.exists(path.resolve("0")));