Je tente d'utiliser la cmdlet Remove-Item dans le cadre d'une automatisation pour un système. Les fichiers sont stockés sur un serveur qui nécessite des droits élevés pour effectuer la suppression du fichier. J'ai accès à un compte d'administrateur de domaine que j'utilise pour de tels scripts d'automatisation.Utilisation de Remove-Item avec informations d'identification
Le code ci-dessous construira l'objet PSCredential:
$password = New-Object System.Security.SecureString
"passwordhere".ToCharArray() | ForEach-Object { $password.AppendChar($_) }
$cred = New-Object System.Management.Automation.PSCredential("domain\username",$password)
$cred
Je passe cet objet à l'action suivante:
Remove-Item -LiteralPath $path -Force -Credential $cred
Toutes les idées?
DPAPI est cool! Merci de partager! – stej
Je suis d'accord que le codage en dur d'un mot de passe est une mauvaise idée, mais c'était une exigence pour les tests de mon hôte. J'ai décidé d'ouvrir notre serveur utilisé pour une telle automatisation et je me suis connecté en tant que compte de domaine. De là, j'ai pu tester avec succès. Remove-Item n'est pas en mesure d'accepter les informations d'identification du meilleur que je peux trouver. Je vais vous donner le crédit que la réponse parce que les choses DPAPI est juste. – websch01ar
Merci. WRT rename-item et -credential vous avez raison quand il s'agit du fournisseur de système de fichiers. Gardez à l'esprit que l'élément rename-item est conçu pour fonctionner avec différents fournisseurs (registre, fonction, etc.). Saviez-vous que vous pouvez copier et renommer des fonctions? PowerShell est plutôt cool de cette façon. Vous pouvez copier votre fonction d'invite sous un nom différent, expérimenter avec une nouvelle fonction d'invite, puis restaurer l'ancienne lorsque vous avez terminé. –