Essayez les valeurs par défaut dans les paramètres PowerShell pour plus de flexibilité – Les meilleures astuces pour son serveur

Author: Titanfall — · Updated:

Short summary: [bzkshopping keyword= »Minecraft » count= »8″ template= »grid »] Le code PowerShell hautement personnalisé fonctionne bien jusqu'à ce qu'il atteigne un mur de briques. Une fois que vous avez appris à écrire des fonctions PowerShell, vous pouvez commencer par résoudre un problème spécifique. Au fur et à mesure que vous utilisez la fonctionnalité et que vous gagnez en expérience en […]

Quick overview

Site
Tutos GameServer
Canonical URL
https://tutos-gameserver.fr/2021/04/05/essayez-les-valeurs-par-defaut-dans-les-parametres-powershell-pour-plus-de-flexibilite-les-meilleures-astuces-pour-son-serveur/
LLM HTML version
https://tutos-gameserver.fr/2021/04/05/essayez-les-valeurs-par-defaut-dans-les-parametres-powershell-pour-plus-de-flexibilite-les-meilleures-astuces-pour-son-serveur/llm
LLM JSON version
https://tutos-gameserver.fr/2021/04/05/essayez-les-valeurs-par-defaut-dans-les-parametres-powershell-pour-plus-de-flexibilite-les-meilleures-astuces-pour-son-serveur/llm.json
Manifest
https://tutos-gameserver.fr/llm-endpoints-manifest.json
Estimated reading time
5 minutes (289 seconds)
Word count
963

Key points

Primary visual

Essayez les valeurs par défaut dans les paramètres PowerShell pour plus de flexibilité

– Les meilleures astuces pour son serveur
Main illustration associated with the content.

Structured content

[bzkshopping keyword= »Minecraft » count= »8″ template= »grid »]

Le code PowerShell hautement personnalisé fonctionne bien jusqu'à ce qu'il atteigne un mur de briques. Une fois que vous avez appris à écrire des fonctions PowerShell, vous pouvez commencer par résoudre un problème spécifique. Au fur et à mesure que vous utilisez la fonctionnalité et que vous gagnez en expérience en matière de scripts, vous verrez comment la fonctionnalité serait plus utile si elle avait la polyvalence pour résoudre le même problème, mais d'une manière légèrement différente. Apprendre à utiliser les valeurs par défaut dans les paramètres rend votre code à la fois adaptable à différentes situations et plus facile à comprendre.

L'utilisation des valeurs par défaut étend l'utilitaire à un paramètre Supposons que vous ayez un VPN configuré sur votre client ou serveur Windows. Vous souhaitez qu'une fonctionnalité se connecte au VPN avec un ensemble spécifique d'informations d'identification stockées dans le gestionnaire d'informations d'identification Windows local. Voici à quoi pourrait ressembler cette fonction: Fonction Connect-WorkVpn $ cred = Get-StoredCredential -Target & # 39; Work VPN & # 39; $ vpn = Get-VpnConnection -Nom & # 39; Travail & # 39; if ($ vpn.ConnectionStatus -ne & # 39; Connecté & # 39;) rasdial.exe $ ($ vpn.name) $ ($ cred.username) $ ($ cred.GetNetworkCredential (). password) L'applet de commande Get-StoredCredential fait partie du module CredentialManager, qui crée et récupère les informations d'identification stockées dans Windows Credential Manager. Dans ce scénario, l'applet de commande évite d'avoir à saisir le nom d'utilisateur et le mot de passe chaque fois que vous vous connectez, mais vous pouvez toujours stocker vos informations d'identification en toute sécurité. le But paramètre est le nom des informations d'identification à récupérer. Le reste de la fonction obtient la connexion VPN à l'aide de Get-VpnConnection, et si elle n'est pas connectée, elle est connectée à l'aide de l'application Windows rasdial.exe. Connectez-vous au VPN en appelant la fonction: Connect-WorkVpn Ceci est une fonction unique: il se connecte au nom VPN Travail Utilisateur VPN de travail identification sans accepter aucun paramètre. Lorsque vous ajoutez d'autres VPN à votre système, vous pouvez le convertir en une fonctionnalité plus personnalisable avec plus de fonctionnalités, tout en utilisant les valeurs de paramètres par défaut pour le garder simple à utiliser. La fonctionnalité mise à jour ajoute plus de paramètres pour prendre en compte un environnement avec plusieurs VPN: Fonction Connect-Vpn param ( [string]$ VpnName, [string]$ VpnCredName ) $ cred = Get-StoredCredential -Target $ VpnCredName $ vpn = Get-VpnConnection -Name $ VpnName if ($ vpn.ConnectionStatus -ne & # 39; Connecté & # 39;) rasdial.exe $ ($ vpn.name) $ ($ cred.username) $ ($ cred.GetNetworkCredential (). password) La fonctionnalité révisée vous oblige à entrer manuellement le nom du VPN et le nom des informations d'identification pour vous connecter au même VPN qu'auparavant: Connect-Vpn -VpnName & # 39; Travail & # 39; -VpnCredName & # 39; VPN de travail & # 39; Cette fonctionnalité mise à jour se connecte à tous les VPN configurés avec des informations d'identification stockées, mais elle a perdu sa facilité d'utilisation. Vous pouvez ajouter des valeurs par défaut pour ramener cette flexibilité. Pour commencer, attribuez une valeur à ces paramètres dans le bloc de paramètres. Si aucune valeur n'atteint ces paramètres lorsque vous appelez la fonction, le script utilise à la place les valeurs par défaut codées en dur. Fonction Connect-Vpn param ( [string]$ VpnName = & # 39; Travail & # 39;, [string]$ VpnCredName = & # 39; VPN fonctionnel & # 39; ) $ cred = Get-StoredCredential -Target $ VpnCredName $ vpn = Get-VpnConnection -Name $ VpnName if ($ vpn.ConnectionStatus -ne & # 39; Connecté & # 39;) rasdial.exe $ ($ vpn.name) $ ($ cred.username) $ ($ cred.GetNetworkCredential (). password) Comme l'affectation de variable habituelle, le code est attribué Travail à VpnName et VPN de travail à VpnCredName variables. Le script va maintenant se connecter VPN de travail en conduisant Connect-Vpn fonction en affectant ces valeurs par défaut aux paramètres du bloc de paramètres. Pour configurer un VPN supplémentaire et un jeu d'informations d'identification, vous pouvez vous connecter à un autre VPN en soumettant les paramètres corrects: Connect-Vpn -VpnName & # 39; Site1 & # 39; -VpnCredName & # 39; Site1 VPN & # 39;

Une valeur par défaut permet de gérer les connexions externes et locales Une autre technique PowerShell utile consiste à écrire une fonction qui fonctionne sur des ordinateurs locaux et distants. Pour capturer le nom de la machine, nous pouvons écrire une fonction qui utilise un Nom de l'ordinateur paramètre. Le script est flexible car Nom de l'ordinateur Le paramètre est par défaut l'ordinateur sur lequel la fonction s'exécute. Dans cet exemple, nous voulons parcourir les journaux d'événements et renvoyer tous les événements qui sont des tentatives de connexion infructueuses. Les événements sont affichés dans le journal de sécurité avec l'ID 4646. Le script ci-dessous utilise une fonction qui n'accepte pas les paramètres et renvoie 4648 événements à partir de l'ordinateur local. Fonction Get-ExplicitLogins Get-WinEvent -FilterHashtable @ LogName = & # 39; Sécurité & # 39; Id = 4648 Comme l'exemple précédent, nous pouvons rendre la fonction plus utile avec un paramètre pour le nom de l'ordinateur et lui donner une valeur par défaut. À moins que vous n'ayez besoin du script pour vérifier les journaux d'un système particulier, utilisez le nom de l'ordinateur local comme valeur par défaut. Fonction Get-ExplicitLogins param ( [string]$ ComputerName = $ env: COMPUTERNAME ) Get-WinEvent -ComputerName $ ComputerName -FilterHashtable @ LogName = & # 39; Sécurité & # 39; Id = 4648 Tu peux appeler Get-ExplicitLogins fonction sans paramètres, et faites-lui renvoyer toutes les connexions explicites pour l'ordinateur local. Vous pouvez transférer la fonction vers un nom d'ordinateur pour qu'il renvoie les événements à partir d'un ordinateur distant: Get-ExplicitLogins -ComputerName & # 39; Test-PC01 & # 39;

Click to rate this post! [Total: 0 Average: 0]

Topics and keywords

Themes: Le Blog des nouvelles Technologies, Non classé

License & attribution

License: CC BY-ND 4.0.

Attribution required: yes.

Manifest: https://tutos-gameserver.fr/llm-endpoints-manifest.json

LLM Endpoints plugin version 1.1.2.