Ausführen icacls in Powershell Zugriff auf eine Datei-Freigabe für Domänen-computer
Frage ich mich, wie nutzt icacls in powershell-Skript für das Festlegen von Berechtigungen auf einem fileshare für ein " für z.B. Domain\MeinServer$
Dies ist, was ich versuche:
$ComputerAccount = "domain\myServer$"
$Folder = "\\TestServer\TestShare\folder1"
$rule = $ComputerAccount+':(M),(OI),(CI)'
$resICacls = invoke-expression "icacls $folder /grant $rule"
I got this error message:
invoke-expression : At line:1 char:83
+ ... ant Domain\myServer$:(M),(OI),(CI)
+ ~~
Variable reference is not valid. '$' was not followed by a valid variable name character. Consider using ${} to delimit the name.
At c:\Binary\testacl.ps1:12 char:26
+ $resICacls = invoke-expression "icacls $folder /grant $rule"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ParserError: (:) [Invoke-Expression], ParseException
+ FullyQualifiedErrorId : InvalidVariableReference,Microsoft.PowerShell.Commands.InvokeExpressionCommand
Ich versucht, verschiedene Varianten der Flucht vor dem $, aber keine Lösung gefunden.
Jeder haves ein Hinweis, wie dies zu tun?
Dank!
InformationsquelleAutor Ulrich Trentowski | 2014-10-30
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit dem Aufruf-operator (
&
) odercmd /c
stattInvoke-Expression
:oder verwenden Sie
Get-Acl
/Set-Acl
für das ändern von Berechtigungen:InformationsquelleAutor Ansgar Wiechers
Invoke-Expression -Command:
icacls foldername /grant groupName:"(CI)(OI)M"
Diese funktioniert einwandfrei. Also ich denke, dass, wenn Sie setzen Sie den Befehl in einfache Anführungszeichen (d.h.
''
) wird es funktionieren. Zum Beispiel:InformationsquelleAutor Maciej