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
}
    private void verifyFailsOnShardData(Settings settings, Path indexPath, String shardDataDirName) {
        IllegalStateException ex = expectThrows(
            IllegalStateException.class,
            "Must fail creating NodeEnvironment on a data path that has shard data if node does not have data role",
            () -> newNodeEnvironment(settings).close()
        );
        assertThat(ex.getMessage(), containsString(indexPath.resolve(shardDataDirName).toAbsolutePath().toString()));
        assertThat(ex.getMessage(), startsWith("node does not have the data role but has shard data"));
    }
    private void verifyFailsOnMetadata(Settings settings, Path indexPath) {
        IllegalStateException ex = expectThrows(
            IllegalStateException.class,
            "Must fail creating NodeEnvironment on a data path that has index metadata if node does not have data and master roles",
            () -> newNodeEnvironment(settings).close()
        );
        assertThat(ex.getMessage(), containsString(indexPath.resolve(MetadataStateFormat.STATE_DIR_NAME).toAbsolutePath().toString()));
        assertThat(ex.getMessage(), startsWith("node does not have the data and master roles but has index metadata"));
    }
    /**
     * Converts an array of Strings to an array of Paths, adding an additional child if specified
     */
    private Path[] stringsToPaths(String[] strings, String additional) {
        Path[] locations = new Path[strings.length];
        for (int i = 0; i < strings.length; i++) {
            locations[i] = PathUtils.get(strings[i], additional);
        }
        return locations;
    }
    @Override