2016-05-20 10 views
2

Ich frage mich, wenn einige zeigen können, warum die letzte Zeile im Skript nicht über meine geplante Aufgabe ausgeführt wird, wird die Aufgabe bei der Anmeldung und als Systemkonto ausgeführt. die Linie läuft, wenn ich es manuell ausführenInvoke-Element nicht von geplanten Task ausgeführt

ich auch start-process versucht haben, statt invoke-item

$username = Get-WmiObject -class Win32_ComputerSystem | select-object -ExpandProperty username 
$username = $username.replace(Domainname\', '') 

$FaxClientService = 'printclient' 
$FaxClientexec = 'C:\program files (x86)\fax\client\bin\printclient.exe' 

$WantFile = "c:\users\'+$username+'\appdata\roaming\fax\client\PrintToFaxUserSettings.xml" 
$FileExists = Test-Path $WantFile 
If ($FileExists -eq $true) 
{ 
    exit 
} 

Else 
{ 
    # Insert username into XML 
    $xml = new-object XML 
    $xml.PreserveWhiteSpace = $true 
    $xml.load("C:\temp\faxprinter\PrintToFaxUserSettings.xml") 
    $xml.usersettings.username = $username 
    $xml.PreserveWhiteSpace = $true 
    $xml.save("C:\temp\faxprinter\PrintToFaxUserSettings.xml") 
    Start-Sleep -s 10 
    $ErrorActionPreference = "SilentlyContinue" 
    Stop-Process -processname $FaxClientService -Force 
    $ErrorActionPreference = "Stop" 
    New-Item c:\users\$username\appdata\roaming\fax -type directory 
    New-Item c:\users\$username\appdata\roaming\fax\Client -type directory 

    $source = 'c:\temp\faxprinter\PrintToFaxUserSettings.xml' 
    $dest = 'c:\users\' + $username + '\appdata\roaming\fax\client\PrintToFaxUserSettings.xml' 
    Copy-Item -Force $source $dest 
    Start-Sleep -s 30 
    Invoke-Item $FaxClientexec 
} 
+0

Nur eine Vermutung, aber versuchen Sie, Anmeldeinformationen in Ihrem 'Invoke-Item' Befehl zu übergeben. https://technet.microsoft.com/en-us/library/hh849794.aspx –

Antwort

1

Wenn die Aufgabe

  • a Hat bei der Anmeldung Trigger
  • das Benutzerprofil Greift
  • Enthält eine interaktive Aktion (Starten einer Anwendung)

dann klingt es wirklich so, als ob Sie möchten, dass es als Users ausgeführt wird und "nur wenn ein Benutzer angemeldet ist" und nicht als SYSTEM.

+0

Das Problem, das ich habe, ist das Skript, das es fehlschlug, als ich versuchte, es aus dem Lauf einmal Schlüssel auszuführen, deshalb wählte ich System, und a geplante Aufgabe, ich bin mir nicht sicher, dass es tatsächlich Benutzerrechte oder nur UAC-Probleme waren, ich werde es versuchen, dachte –

+0

Ich kann UAC Probleme hier nicht sehen. Ich würde die Fehler untersuchen, die Sie bekommen haben, da Sie wahrscheinlich die gleichen mit meiner Antwort erhalten werden. Die gute Sache bei geplanten Aufgaben ist, dass Sie sie manuell in der Konsole ausführen können, damit Sie sie im selben Kontext immer wieder testen können. :-) –

+0

Es scheint, dass interaktive erfordert ein Passwort, etwas, das ich vermeiden wollte. –

Verwandte Themen