L'Utilità di pianificazione di Windows non eseguirà powershell.exe


0

Sono un ingegnere della sicurezza con un background nell'amministrazione Linux che sta cercando di insegnare me stesso sugli oggetti Criteri di gruppo sulle copie di valutazione di Windows Server 2016 Preview 5 e Windows 10 Enterprise. Ho creato un'attività immediata per eseguire uno script di PowerShell.

Quando l'attività tenta di eseguire, visualizzo questo avviso nel Visualizzatore eventi:

Il servizio Utilità di pianificazione ha rilevato una configurazione errata nella definizione NT TASK \ EMET 5.51. Dati aggiuntivi: valore di errore: powershell.exe.

Tutto ciò che ho letto suggerisce che dovrebbe funzionare. Che cosa sto facendo di sbagliato?

Ecco l'attività in XML:

<?xml version="1.0" encoding="utf-8"?>
<ScheduledTasks clsid="{CC63F200-7309-4ba0-B154-A71CD118DBCC}">
    <ImmediateTaskV2 clsid="{9756B581-76EC-4169-9AFC-0CA8D43ADB5F}" name="EMET 5.51" image="0" userContext="0" removePolicy="0" changed="2016-08-14 19:45:32" uid="{1CA5AB58-B38C-4F73-944F-9CDCBBF57037}">
        <Properties action="C" name="EMET 5.51" runAs="BYTHEBIT\Administrator" logonType="InteractiveToken">
            <Task version="1.2">
                <RegistrationInfo>
                    <Author>BYTHEBIT\Administrator</Author>
                    <Description></Description>
                </RegistrationInfo>
                <Principals>
                    <Principal id="Author">
                        <UserId>BYTHEBIT\Administrator</UserId>
                        <LogonType>InteractiveToken</LogonType>
                        <RunLevel>HighestPrivilege</RunLevel>
                    </Principal>
                </Principals>
                <Settings>
                    <IdleSettings>
                        <Duration>PT5M</Duration>
                        <WaitTimeout>PT1H</WaitTimeout>
                        <StopOnIdleEnd>false</StopOnIdleEnd>
                        <RestartOnIdle>false</RestartOnIdle>
                    </IdleSettings>
                    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
                    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
                    <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
                    <AllowHardTerminate>false</AllowHardTerminate>
                    <StartWhenAvailable>true</StartWhenAvailable>
                    <AllowStartOnDemand>false</AllowStartOnDemand>
                    <Enabled>true</Enabled>
                    <Hidden>false</Hidden>
                    <WakeToRun>true</WakeToRun>
                    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
                    <Priority>7</Priority>
                    <DeleteExpiredTaskAfter>PT0S</DeleteExpiredTaskAfter>
                </Settings>
                <Actions Context="Author">
                    <Exec>
                        <Command>powershell.exe</Command>
                        <Arguments>-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File \\DC\Shared\Deployment\deployment.ps1</Arguments>
                    </Exec>
                </Actions>
                <Triggers>
                    <TimeTrigger>
                        <StartBoundary>%LocalTimeXmlEx%</StartBoundary>
                        <EndBoundary>%LocalTimeXmlEx%</EndBoundary>
                        <Enabled>true</Enabled>
                    </TimeTrigger>
                </Triggers>
            </Task>
        </Properties>
        <Filters><FilterRunOnce hidden="1" not="0" bool="AND" id="{C58ADBD5-837B-46E8-98E4-80703D52F20E}"/>
        </Filters>
    </ImmediateTaskV2>
</ScheduledTasks>

Puntare l'Utilità di pianificazione su "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe" in modo esplicito e vedere cosa succede ... questo sarebbe nella <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>parte del valore del file XML piuttosto che solo il valore di powershell.exeFammi sapere se questo ti aiuta.
Pimp Juice IT

Inoltre, lo \\uncpathscript PowerShell potrebbe non essere accessibile dall'account locale in cui è in esecuzione questo lavoro, provare a indicarlo su un percorso di lettera dell'unità server / PC locale e assicurarsi che lo script sia salvato lì. Oppure esegui come account di dominio con esegui l'accesso al percorso UNC in cui viene salvato lo script PS anziché eseguendolo come account locale.
Pimp Juice IT

Hai avuto la possibilità di esaminare i miei suggerimenti nei commenti per vedere se questi avrebbero risolto il tuo problema?
Pimp Juice IT

@PIMP_JUICE_IT Ci scusiamo per la risposta molto tardi, ho provato entrambi e non hanno funzionato. Anche se alcune volte non è stato visualizzato nulla nel registro eventi (probabilmente dalla modifica di un evento che ho contrassegnato come run-once?), Quindi potrei fare qualcos'altro di sbagliato.
Sean W.

Quindi piuttosto che inserendo l' -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File \\DC\Shared\Deployment\deployment.ps1argomento come nell'attività, basta eliminare tutto ciò dall'argomento e quindi inserire powershell.exe -NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File "\\DC\Shared\Deployment\deployment.ps1"come comando e vedere se si ottengono risultati diversi, quindi tutto sarà nel comando e doppie virgolette attorno al percorso unc del file PS1 e nessun argomento in Utilità di pianificazione.
Pimp Juice IT
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.