Archive

Archives pour la catégorie ‘Windows’

Créer un lien symbolique sous Windows

20/01/2014 Comments off
Rating 3.00 out of 5
[?]

Même si le système NTFS avait, sous Windows 2000, apporté les liens symboliques sur répertoire (on parle aussi de jonctions de répertoires), il aura fallu attendre la sortie de Windows Vista pour avoir enfin la possibilité de créer des liens symboliques sur des fichiers (que l’on appelle aussi soft link sous Linux).

Une jonction de répertoire permet de créer un répertoire qui pointe sur un répertoire différent. Ainsi, il est par exemple possible de faire pointer le répertoire C:\sys32 vers C:\Windows\system32. L’avantage est donc d’avoir un chemin plus court pour aller dans votre répertoire.
Il est également intéressant de savoir que Windows gère les liens symboliques localement, c’est-à-dire qu’un lien pointant sur un fichier présent sur un serveur distant sera considéré comme étant local. Dans ce cas, votre lien symbolique peut très bien pointer sur un serveur de fichiers à distance. Intéressant, non ?

Pour créer un lien symbolique sous Windows Vista, il est tout d’abord nécessaire d’ouvrir une invite de commande en étant logué en tant qu’administrateur :

Allez dans le menu démarrer et tapez cmd dans le champ de recherche.
Une fois que le fichier cmd.exe est trouvé, cliquez dessus avec le bouton droit de la souris et choisissez l’option Exécuter en tant qu’administrateur.
Une fois dans l’invite de commande, la création d’un lien symbolique se réalise avec la commande mklink.
Voici la syntaxe de la commande ainsi que ses options disponibles :

MKLINK [[/D] | [/H] | [/J]] Lien Cible
/D : Crée un lien symbolique vers un répertoire. Par défaut, il s’agit d’un lien symbolique vers un fichier.
/H : Crée un lien réel à la place d’un lien symbolique.
/J : Crée une jonction de répertoires.
Lien : Spécifie le nom du nouveau lien symbolique.
Cible : Spécifie le chemin d’accès (relatif ou absolu) auquel le nouveau lien fait référence.

Categories: Windows Tags:

Supprimer les ressources locales 4D du Client Mac et Windows

27/09/2011 Comments off
Rating 3.00 out of 5
[?]

 

4D

Pour des raisons techniques et plus précisément lors de l’utilisation de 4D Client en interprété, les ressources locales ne sont pas toujours à jour lors d’une modification de la structure par le développeur.

Pour palier à ce problème récurrent, j’ai réalisé une méthode de suppression du dossier ressources locales de la base situé dans un répertoire cache du système. Cette méthode permet de forcer la mise à jour des ressources locales lors de la connexion suivante par 4D au 4D Server.

Afin de réaliser ce processus, nous avons besoin d’executer un script terminal (.sh) sur Macintosh et d’un script batch (.bat) sous Windows.

La méthode 4D ‘ut_DeleteLocalRessources’:

$in:="" 
$out:="" 
Si (ut_IsMacintosh ) 
   $CacheFolder:=ut_Mac2Posix (ut_ParentFolder (Dossier 4D(Dossier Resources courant))) 
   $ScriptFile:=ut_Mac2Posix (Dossier 4D(Dossier Resources courant))+"DeleteResLocales.sh" 
   $Command:="chmod +x "+$ScriptFile 
   LANCER PROCESS EXTERNE($Command) 
Sinon 
   FIXER VARIABLE ENVIRONNEMENT("_4D_OPTION_BLOCKING_EXTERNAL_PROCESS";"False")
   FIXER VARIABLE ENVIRONNEMENT("_4D_OPTION_HIDE_CONSOLE";"True")
   $CacheFolder:=ut_ParentFolder (Dossier 4D(Dossier Resources courant))
   $ScriptFile:=Dossier 4D(Dossier Resources courant)+"DeleteResLocales.bat" 
Fin de si 
$Command:=$ScriptFile+" "+$CacheFolder
LANCER PROCESS EXTERNE($Command)
QUITTER 4D

Cette méthode exécute donc un script .sh sur Macintosh et un .bat sous Windows, ces deux scripts étant situés dans le répertoire ressources de la base sur le 4D Server et synchronisés au lancement de 4D (Client).

Le script .sh DeleteResLocales.sh pour Macintosh :

#!/bin/bash 

function waitquit() { 
SECS_SLEEP=3 
SECS_TIMEOUT=60 
SECS_ELAPSED=0 
SCRIPT_LOG="4dquitscriptlog.log" 
rm $SCRIPT_LOG 
RUNNING=`ps auxc | grep "4D"` 
echo  |tee -a $SCRIPT_LOG
while [[ "$RUNNING" != "" && $SECS_ELAPSED -lt $SECS_TIMEOUT ]] 
do 
echo "Waiting for 4D to stop"|tee -a $SCRIPT_LOG 
echo "Time taken before sleep: $SECS_ELAPSED"|tee -a $SCRIPT_LOG 
sleep $SECS_SLEEP 
SECS_ELAPSED=$(($SECS_ELAPSED+$SECS_SLEEP)) 
echo "Time taken after sleep: $SECS_ELAPSED"|tee -a $SCRIPT_LOG 
RUNNING=`ps auxc | grep "4D"` 
done 

RUNNING=`ps auxc | grep "4D"` 

if [ "$RUNNING" = "" ]; then 
	echo "4D not running - deleting cache files at directory $CACHE_FOLDER"|tee -a $SCRIPT_LOG 

rm -r "$CACHE_FOLDER" 
else 
	echo "4D is running - can not delete cache files $CACHE_FOLDER"|tee -a $SCRIPT_LOG 
fi 

echo "Script finished"|tee -a $SCRIPT_LOG 
} 

CACHE_FOLDER=$1 
if [ "$CACHE_FOLDER" != "" ]; then 
	waitquit& 
else 
	echo "No cache folder passed to script"|tee -a $SCRIPT_LOG 
fi 

Le script DeleteResLocales.bat pour Windows :

echo off
if not defined index set index=0
:maboucle
set /a index=index+1
tasklist /FI "IMAGENAME eq 4D.exe">c:\proc.txt
find /c "en service ne correspond aux" c:\proc.txt

if ERRORLEVEL=2 goto erreur
if ERRORLEVEL=1 goto Find
if ERRORLEVEL=0 goto noFind

:erreur
echo erreur
goto fin

:noFind
REM 4D pas lancé on peut y aller
goto deletecache

:Find
REM 4D non quitté on boucle.
ping -n 2 localhost
if %index% LSS 30 goto maboucle


:deletecache
REM On supprime le répertoire passé en paramètre et le fichier temporaire
rd %1% /s /q
del c:\proc.txt
:fin

Le principe des ces scripts est assez simple, ils vérifient que le process 4D est bien quitté avant de poursuivre et de supprimer le répertoire des ressources locales.
Il doit être possible de faire plus élégant, j’ai simplement recherché l’efficacité sans trop me soucier de l’élégance.
En attendant que 4D corrige ses bugs,j’espère que cela vous sera utile.

Activer les droits Grand Administrateur sous Windows

04/09/2010 Comments off
Rating 4.00 out of 5
[?]

Windows

Même dans le cas où il utilise un compte ‘ Administrateur ‘, l’utilisateur sous environnement Windows Vista et Windows 7 ne dispose pas de tous les droits, ce qui peut poser souci pour la manipulation de certains fichiers et dossiers système, par exemple l’impossibilité de supprimer un fichier.

Voici la marche à suivre pour s’octroyer tous les droits sur un fichier ou un dossier en quelques clics :

Ouvrir un nouveau fichier dans le bloc-note de Windows et y coller les lignes suivantes :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\runas]
@="Grand Administrateur"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrateurs:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrateurs:F"

[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="Grand Administrateur"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrateurs:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrateurs:F"

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Grand Administrateur"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrateurs:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrateurs:F /t"

Enregistrer ensuite le fichier sous le nom GrandAdministrateur.reg.
De là, il ne reste qu’à effectuer un clic droit sur le fichier .reg avant de sélectionner ‘Fusionner’ et de cliquer sur  ‘Oui’.
Par la suite, un clic droit sur un fichier fera apparaître un intitulé ‘Grand Administrateur’ qu’il sera suffira de sélectionner pour s’octroyer tous les droits sur le fichier.

Categories: Seven, Vista, Windows Tags: ,

Boot Camp : redémarrage avec Mac OS X à l’aide de la ligne de commande

28/08/2009 Comments off
Rating 3.00 out of 5
[?]

Produits concernés

Boot Camp, Windows XP, Windows Vista

Remarque : cette commande nécessite Boot Camp 3.0 ou ultérieur (commençant par Mac OS X v10.6 Snow Leopard).

  1. Démarrer le Mac avec Windows.
  2. Cliquez sur Démarrer.
  3. Cliquez sur Tous les programmes.
  4. Cliquez sur Accessoires.
  5. Cliquez sur Invite de commandes.
  6. Saisissez la commande suivante :
    c:\progra~1\Bootca~1\bootcamp.exe -StartupDisk "Mac OS"
    Shutdown /r /t 0
  7. L’ordinateur redémarrera avec Mac OS X.
Categories: Mac OS X, Windows Tags:

Prolonger la période d’activation de Windows

21/08/2009 Comments off
Rating 3.00 out of 5
[?]

Officiellement, la période d’activation se limite toujours à 30 jours. Dans les faits, une commande (« slmgr.vbs -rearm ») permet de renouveler trois fois le délai en question. Si l’éditeur ne s’empresse pas de le crier sur les toits, il ne s’en cache pas. Dans un document publié sur sa plate-forme TechNet dédiée aux développeurs et administrateurs, Redmond fournit la procédure à suivre pour prolonger artificiellement la période d’activation. Une procédure valable autant pour Windows 7 que pour Windows Server 2008 R2.

  1. Run slmgr.vbs /dti to display the information necessary to complete telephone activation.

  2. Run slui.exe 4 to obtain the telephone number for an Activation Call Center in your region.

  3. Use the Interactive Voice Response (IVR) system to obtain the CID; then, run slmgr.vbs /atp CID to install the CID. You can store and reuse the CID to reactivate the operating system after rebuilding the computer.

Categories: Server 2003, Server 2008, Seven, Vista, Windows, XP Tags:

Console MMC Windows Vista

23/07/2009 Comments off
Rating 3.50 out of 5
[?]

Comment personnaliser sa Console de Gestion sous Windows Vista ?

Aller dans le menu démarrer et dans le champ de recherche saisir « mmc.exe ».

Lancer l’application mmc.exe.

Une fois la console lancée, aller dans le menu Fichier puis cliquer sur « Ajouter/Supprimer un composant logiciel enfichable ».

Dans cette nouvelle fenêtre vous sélectionnez les modules que vous souhaitez ajouter.

Cette interface permet d’avoir accès au pare-feu avancé de Windows Vista qui ressemble à celui de Windows 2008 Server.

Categories: Vista Tags: , , ,