Ich möchte einen Befehl auf einem Remote-Server aufrufen, ich möchte nicht das Kennwort eingeben müssen, um das Skript auszuführen. Ich habe versucht, das Passwort zu verschlüsseln und es in einer TXT-Datei zu speichern. HierInvoke-Befehl mit -credentials
$username = "Mydomain\service.account"
$password = cat C:\username-password-encrypted.txt | convertto-securestring
$cred = new-object -typename System.Management.Automation.PSCredential - argumentlist $username, $password
Invoke-command $cred -Computer myserver -scriptblock {param([string]$LocalUser); Add-PSSnapin Citrix* ; Get-BrokerSession -max 10000 | Where-Object brokeringusername -eq "mydomain\$($LocalUser)" | Stop-BrokerSession} -ArgumentList $user
ist der Fehler bekomme ich
Invoke-Command : A positional parameter cannot be found that accepts argument 'System.Management.Automation.PSCredential'.
At \\uncpath\citrix\Installation Media\Citrix\Ticketing_script\Ticketing_Script - Copy (3).ps1:70 char:1
+ Invoke-command $cred -Computer MyServer -scriptblock {param([s ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeCommandCommand
Es muss einen einfacheren Weg, um diesen Befehl auf myserver auszuführen, ohne jedes Mal das Kennwort setzen zu müssen.
den Raum entfernen zwischen - und argumente in Zeile 3 –
Als ich tue, dass es nicht liest mehr in dem creds des Benutzers das ist das Skript ausgeführt wird. – user770022