Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| powershell_newsymlink [2019/11/29 11:54] – [New-SymbolicLink - Création d'un lien symbolique] nekan | powershell_newsymlink [2021/03/05 16:10] (Version actuelle) – nekan | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~CLOSETOC~~ | ||
| ====== New-SymbolicLink - Création d'un lien symbolique ====== | ====== New-SymbolicLink - Création d'un lien symbolique ====== | ||
| + | <label type=" | ||
| Créer un lien symbolique peut avoir plusieurs utilités. On peut par exemple réduire une arborescence ou regrouper dans un dossier des fichiers situés dans différents dossier. | Créer un lien symbolique peut avoir plusieurs utilités. On peut par exemple réduire une arborescence ou regrouper dans un dossier des fichiers situés dans différents dossier. | ||
| Ligne 12: | Ligne 12: | ||
| ===== Script ===== | ===== Script ===== | ||
| - | <code:ps1># Création de lien symbolique | + | <sxh powershell># Création de lien symbolique |
| function New-SymbolicLink() | function New-SymbolicLink() | ||
| { | { | ||
| Ligne 51: | Ligne 51: | ||
| .NOTES | .NOTES | ||
| Crée par Nicolas THOREZ, Shyrka System | Crée par Nicolas THOREZ, Shyrka System | ||
| - | Basée sur les travaux de J. F. Larvoire | ||
| - | .LINK | + | .LINK |
| https:// | https:// | ||
| - | https:// | ||
| #> | #> | ||
| Ligne 81: | Ligne 79: | ||
| { | { | ||
| Add-Type @" | Add-Type @" | ||
| - | using System; | + | |
| - | using System.Runtime.InteropServices; | + | using System.Runtime.InteropServices; |
| - | namespace Win32 { | + | |
| - | public class SymLink { | + | |
| - | [DllImport(" | + | |
| - | public static extern bool CreateSymbolicLink(string lpSymlinkFileName, | + | public class SymLink |
| - | [DllImport(" | + | |
| - | | + | [DllImport(" |
| - | + | public static extern bool CreateSymbolicLink(string lpSymlinkFileName, | |
| - | | + | } |
| - | | + | } |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | } | + | |
| - | } | + | |
| "@ | "@ | ||
| } | } | ||
| Ligne 114: | Ligne 104: | ||
| # Création du lien | # Création du lien | ||
| - | $error = [Win32.SymLink]:: | + | [Win32.SymLink]:: |
| # Traitement des éventuelles erreurs | # Traitement des éventuelles erreurs | ||
| - | If ($error) | + | If ($?) |
| - | { | + | { |
| - | throw [ComponentModel.Win32Exception][int]$error | + | # Affichage du résultat |
| - | } | + | |
| - | + | | |
| - | # Affichage du résultat | + | |
| - | New-Object PSObject -Property @{ | + | |
| - | SymLink | + | } |
| - | Target | + | } |
| - | Type = $Type | + | Else |
| - | } | + | { |
| - | }</code> | + | Write-Error " |
| + | | ||
| + | }</sxh> | ||
| - | --- // | ||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||