2016-11-03 2 views
0

J'ai un script très simple qui fonctionne parfaitement sur un serveur, où je me connecte au serveur et l'exécute.Privilèges ACLs erreur lors de l'exécution à distance. invoke-command

invoke-command -scriptblock { & snacfg workstation Computer /delete} 

Cependant, lorsque je tente de le faire à distance, je reçois « Vous ne disposez pas des privilèges requis pour définir ACLs du système sur les fichiers. »

invoke-command -ComputerName SERVER -scriptblock {snacfg workstation COMPUTER /print} -Credential "" 

J'ai également essayé de l'appeler à distance mais d'obtenir le même message d'erreur.

Start-Process powershell.exe -ArgumentList \\SERVER\c$\users\USERNAME\desktop\SCRIPT.ps1 -Credential "" 

Des idées?

Merci.

Répondre

0

Vous devriez probablement laisser le -Credential "" loin, en ajoutant ceci vous dire bassicly pour courir sans compte je pense. Donc Soit le supprimer complètement afin qu'il soit exécuté sous le compte de l'utilisateur actuel, soit déclarer les informations d'identification comme dans les 2 exemples suivants.

Option 1

$creds = Get-Credential 
Invoke-Command -ComputerName Server -ScriptBlock { snacfg workstation computer /print } -Credential $creds 

Option 2:

$pwd = ConvertTo-SecureString "ThePassword" -AsPlainText -Force 
$creds = New-Object System.Management.Automation.PSCredential ("TheUsername", $pwd) 
Invoke-Command -ComputerName Server -ScriptBlock { snacfg workstation computer /print } -Credential $creds 
+0

Salut Kage, -Credential "" est juste un exemple où je tape mon diplôme manuellement. Oui, j'ai essayé les deux options et j'utilise actuellement l'option 2 pour mon autre script sur un autre serveur. Donc, à peu près, je peux faire n'importe quoi à partir du serveur directement, mais pas quand je veux le faire à distance. – PJT