PowerShell: à l'Aide de $env:userprofile dans une condition if
Je suis à l'aide de PowerShell ISE (je crois 4).
Je suis de l'écriture de scripts d'ouverture de session, afin de remplacer l'ancien"*.BAT' fichiers.
Je suis en train de tester pour un utilisateur de profil condition avant "la création/suppression de' certains répertoires de l'ordinateur de bureau.
Exemple
If(($env:userprofile = "rmullins"))
{
Remove-Item $env:userprofile\Desktop\ITFILES -Recurse -Force
}
Donc je lance la suite pour voir ce qu'il se passe:
md -Path $env:userprofile\Desktop\ITFILES
Le chemin est créé à l'emplacement suivant:
C:\Windows\System32.........
Le rapport de commande ci-dessus fonctionne très bien jusqu'à ce que je exécuter cette déclaration "if". Je pense que je ne pourrais pas comprendre comment le $env:userprofile
part de travaux.
Des idées?
=
est un opérateur d'affectation, pas un opérateur de comparaison...- Je pense que tu veux dire
if ($env:username -eq "rmullins")
Vous devez vous connecter pour publier un commentaire.
Sur Windows 7:
Renvoie le chemin d'accès au répertoire de profil. Par conséquent, je m'attends à de la recherche que pour le nom d'utilisateur à l'échec de la condition. Je ferais un simple match plutôt:
==
n'est pas un opérateur de comparaison, en PowerShell. Le PowerShell opérateur de comparaison est égal à est-eq
. Je vous suggère d'exécuter la commande PowerShellGet-Help about_Comparison_Operators
pour en savoir plus sur les opérateurs de comparaison dans PowerShell.