Bonjour,
J'ai depuis un certain temps maintenant un "symlink-creator" qui me sert énormément pour mes rangements.
Hors, je soupçonne que depuis que j'ai effectué la mise à jour W7x64 kb2819745 (powershell4) pour le bon fonctionnement d'un programme, mon script ne fonctionne plus.
Est-ce un problème connu ?

Contenu de la partie vbs du symlink-creator :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8, CreateIfNeeded = true
set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.OpenTextFile("symlink-creator_source.txt", ForWriting, CreateIfNeeded)
 
dim fname 
sourcepath = inputbox("Full source path (inside empty folder) :")
If IsEmpty(sourcepath) Then
	WScript.Quit 1
End If
myscript = sourcepath
file.write myscript
file.close
 
set file = fso.OpenTextFile("symlink-creator_target.txt", ForWriting, CreateIfNeeded)
targetpath = inputbox("Full target path (the place of the actual folder) :")
If IsEmpty(sourcepath) Then
	WScript.Quit 1
End If
myscript = targetpath
file.write myscript
file.close
 
CreateObject("WScript.Shell").Run "2.Symlink-creator.bat", 2
 
WScript.Quit 1
Et voici le contenu du batch qui désormais loop sur la demande de privilège admin :
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 
@echo off
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
    IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
 
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )
 
:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
 
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B
 
:gotAdmin
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
 
@Echo off
set /p fullsourcepath=<symlink-creator_source.txt
set /p fulltargetpath=<symlink-creator_target.txt
::IF NOT DEFINED %fullsourcepath% GOTO :EOF
::IF NOT DEFINED %fulltargetpath% GOTO :EOF
 
for %%f in ("%fullsourcepath%") do set sourcefolder=%%~nxf
for /D %%D in ("%fullsourcepath%") do  set sourcepath=%%~dpD
for %%f in ("%fulltargetpath%") do set targetfolder=%%~nxf
for /D %%D in ("%fulltargetpath%") do  set targetpath=%%~dpD
 
:CHECKTARGETFOLDER
IF EXIST "%targetpath%%targetfolder%" GOTO CHECKSOURCEFOLDER
MD "%targetpath%%targetfolder%"
IF %errorlevel% neq 0 GOTO ERRORCHECKTARGETFOLDER
 
:CHECKSOURCEFOLDER
IF EXIST "%sourcepath%%sourcefolder%" GOTO MOVESOURCEFOLDER
IF %errorlevel% neq 0 GOTO ERRORCHECKSOURCEFOLDER
 
:MOVESOURCEFOLDER
robocopy "%sourcepath%%sourcefolder%" "%targetpath%%targetfolder%" /E /XO
IF %errorlevel% equ 8 GOTO ERRORMOVESOURCEFOLDER
IF %errorlevel% equ 16 GOTO ERRORMOVESOURCEFOLDER
RENAME "%sourcepath%%sourcefolder%" "%sourcefolder%_tmp"
IF %errorlevel% neq 0 GOTO ERRORRENAMESOURCEFOLDER
rmdir /s /q "%sourcepath%%sourcefolder%_tmp"
::timeout /t 2 /nobreak
 
:MKLINK
mklink /D "%sourcepath%%sourcefolder%" "%targetpath%%targetfolder%"
IF %errorlevel% neq 0 GOTO ERRORMKLINK
echo "<<<---|  SYMLINK CREATED SUCCESFULLY  |--->>>" 
echo " "
echo "%targetfolder% Symlink is located in : %sourcepath%"
echo "and redirects to : %targetpath%%targetfolder%"
echo " "
timeout /t 10
GOTO :EOF
 
:ERRORCHECKTARGETFOLDER
echo "There was a problem with Target path/folder, aborting..."
timeout /t -1
GOTO :EOF
 
:ERRORCHECKSOURCEFOLDER
echo "There was a problem with Source path/folder, aborting..."
timeout /t -1
GOTO :EOF
 
:ERRORRENAMESOURCEFOLDER
echo "Couldn't access Source folder, please check if folder is in use, aborting..."
timeout /t -1
GOTO :EOF
 
:ERRORMOVESOURCEFOLDER
echo "Couldn't access Source/Target folder, please check if folders are in use, aborting..."
timeout /t -1
GOTO :EOF
 
:ERRORMKLINK
echo  "There was a problem while creating symlink, aborting..."
timeout /t -1
GOTO :EOF
 
:EOF

Je remarque au passage que le dossier "%SYSTEMROOT%\SysWOW64\config\system" n'existe pas... aucune idée si c’était le cas avant
Attention de ne pas exécuter ces codes si vous avez des travaux non sauvegardés, la boucle empêche d'utiliser le système et le seul moyen que j'ai trouvé d'en sortir est de rouvrir une session.
Merci d'avance pour votre aide.