J'écris un script PowerShell pour désactiver et déplacer les utilisateurs avec AD. cette partie fonctionne très bien. Cependant, je voudrais enregistrer chaque événement dans le journal des événements. La cmdlet Write-EventLog
fonctionne correctement lorsqu'elle est tapée manuellement. Cependant, lorsque j'ajoute l'applet de commande au script, il y a des erreurs.PowerShell Write-EventLog CmdLet fonctionne manuellement, pas dans le script
Write-EventLog –LogName ManageAD –Source “ManageUsers Script” –EntryType Information –EventID 1 –Message “User ” + $SAM + " has been disabled"
Write-EventLog : A positional parameter cannot be found that accepts argument 'Scriptâ??'.
At C:\test\ManageUsers.ps1:12 char:16
+ Write-EventLog <<<< â?"LogName ManageAD â?"Source â?oManageUsers Scriptâ?? â?"EntryType Information â?"EventID
â?"Message â?oUser â?? + $SAM + " has been disabled"
+ CategoryInfo : InvalidArgument: (:) [Write-EventLog], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.WriteEventLogCommand
Toutes les suggestions sont appréciées.
Si vous enregistrez des scripts au format UTF8, utilisez BOM. PowerShell ne détecte pas UTF8, si le fichier n'a pas de nomenclature. – PetSerAl
@PetSerAl Donc, si le fichier était codé avec UTF8 et que la nomenclature était présente, cela serait correct? Est-ce vrai pour d'autres encodages ou juste UTF8? – Matt
@Matt Pour moi PowerShell gérer correctement les guillemets spéciaux en tirets, tant qu'il peut les lire correctement à partir du fichier. Je ne teste que UTF8 et UTF16, tous deux correctement détectés à partir de BOM. – PetSerAl