J'ai regardé partout, mais je ne peux pas trouver comment faire ça. Je souhaite définir une variable spécifique basée sur le nom d'hôte local de mon ordinateur.
Par exemple, si le nom de l'ordinateur local est ordinateur1, définissez cette variable. Si le nom de l'ordinateur local est ordinateur2, définissez cette variable. Sinon «Erreur» de l'hôte de l'hôte et quittez. P>
J'ai crypté les fichiers de mot de passe qui ne fonctionnent que sur les machines créées sur elles. Donc, je souhaite utiliser l'un des fichiers de mot de passe en fonction de la machine que j'utilise. P>
Voici la variable de mot de passe que je souhaite utiliser, en fonction de l'ordinateur que je travaille à partir de: p> < Pré> xxx pré> p>
3 Réponses :
Cela devrait vous faire aller.
if(($env:COMPUTERNAME -eq 'COMPUTER1') -or ($env:COMPUTERNAME -eq 'COMPUTER2')) { $Pass = Get-Content "C:\Creds.txt" | ConvertTo-SecureString } Else { Throw "Hostname not valid" }
Une du chemin consiste à utiliser un étui de commutation pour cela:
$ComputerName = "$env:computername" # GET COMPUTER NAME $filename = $null ; # COMMON VARIABLE FOR FILE NAME switch ($ComputerName) { "COMPUTER1" { $filename = "C:\xyz.txt" } # CASE 1 "COMPUTER2" { $filename = "D:\xyz.txt" } # CASE 2 "COMPUTER3" { $filename = "C:\pass\xyz.txt" } # CASE 3 default {"ERROR"} # DEFAULT CASE ( ERROR ) } # END OF SWITCH CASE $Pass = Get-Content $filename | ConvertTo-SecureString
C'est parfait! C'est exactement ce que je cherchais. Merci beaucoup!
Cela ressemble à un bon étui d'utilisation pour une table de recherche / hachage. [ grin em>] quelque chose comme ça ... sortie ... p>
Merci pour l'entrée, je ne sais pas comment cela fonctionnerait avec ma demande. Je cherche seulement à dire. Exécutez ce code si le nom de mon ordinateur est un ou exécutez ce code si mon nom d'ordinateur est B. Je ne fais rien avec des adresses IP. Je pense que ce serait quelque chose comme ça, bien que je ne puisse pas vraiment obtenir le code pour le travailler: $ env: nom d'ordinateur si $ env est ordinateur1 set $ variable à c: \ file1.txt si $ env est ordinateur2 ensemble $ variable à c: \ file2.txt
@Brady - Je n'ai qu'un seul système ... J'ai donc utilisé plusieurs variantes de mon adresse locale plus quelques autres variantes sûres pour les noms d'ordinateur. Les noms spécifiques sont strictement destinés à des échantillons de données à la démonstration de l'idée de base d'utiliser une table de recherche. i> b> [ Grin i>
Votre logique est-elle à choisir des fichiers pertinents en fonction du nom de fichier? Il y a beaucoup de façons de le faire. Mais voulait bien comprendre l'exigence correctement.