À l'aide d'une Variable (PowerShell) à l'intérieur d'une commande
$computer = gc env:computername
SchTasks /create /SC Daily /tn "Image Verification" /ST 18:00:00 /TR C:\bdr\ImageVerification\ImageVerification.exe /RU '$computer'\admin /RP password
Essentiellement, j'ai besoin de fournir le nom de l'ordinateur dans la tâche planifiée...
Vous en remercie d'avance!
Les Variables ne sont pas interpolées dans des chaînes avec des guillemets simples. L'utilisation des guillemets à la place.
OriginalL'auteur RogerLawrence | 2012-09-12
Vous devez vous connecter pour publier un commentaire.
Unique chaînes entre guillemets ne développeront pas les variables en PowerShell. Essayez une double chaîne de caractères entre guillemets par exemple:
Ouais, c'est ce que je ferais normalement. Je voulais simplement faire remarquer la différence entre simple et double chaînes entre guillemets. 🙂
J'obtiens une erreur: ERREUR: Échec d'ouverture de session: nom d'utilisateur inconnu ou mot de passe... Pourtant je sais que l'utilisateur existe toute pensée? Je suis en train de faire cela correctement?
Si vous utilisez /RU on dirait le nom d'utilisateur doit être quelque chose comme "NT AUTHORITY\LocalService". Peut-être que vous ne voulez pas utiliser la fonction "exécuter en tant que" compte et l'utiliser juste /U /P à la place? Aussi le temps de la spécification doit être juste 18:00 selon l'utilisation.
OriginalL'auteur Keith Hill
utilisez la commande "hostname" pour obtenir le nom de l'ordinateur local.
$Env:Computername
ou[Environment]::MachineName
sont de meilleures options de PowerShell ...J'ai gagné;t en désaccord avec vous, mais la solution est valide, alors le -1 n'est pas vraiment approprié.
Eh bien, la réponse n'est pas très utile, puisque leur méthode d'obtenir le nom de l'ordinateur fonctionne (même si c'est un peu alambiqué) et ce n'est pas où se trouve le problème
OriginalL'auteur Frank Thomas