Archive

Archives pour la catégorie ‘Windows’

Créer un lien symbolique sous Windows

20/01/2014 Comments off

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

 

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’:
[sourcecode language= »plain »]
$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[/sourcecode]
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 :

[sourcecode language= »bash »]
#!/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

[/sourcecode]
Le script DeleteResLocales.bat pour Windows :
[sourcecode language= »bash »]
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

[/sourcecode]

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

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

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

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

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: , , ,