Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel helpt u bij het oplossen van het probleem dat optreedt wanneer het computerbeleid van de domeincontroller niet is ingesteld op RemoteSigned by GPO voor SQL Server.
Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 2995870
Symptomen
Wanneer u de SQL Server PowerShell-console van Microsoft SQL Server 2012 of Microsoft SQL Server 2014 opent en het computerbeleid van de domeincontroller niet is ingesteld op RemoteSigned by Group Policy Object (GPO), wordt mogelijk het volgende foutbericht weergegeven:
set-executionpolicy: Windows PowerShell heeft uw uitvoeringsbeleid bijgewerkt, maar de instelling wordt overschreven door een beleid dat is gedefinieerd in een specifieker bereik. Vanwege de onderdrukking behoudt uw shell het huidige effectieve uitvoeringsbeleid van Unrestricted. Typ Get-ExecutionPolicy -List om de instellingen voor het uitvoeringsbeleid weer te geven.
Zie voor meer informatie
"Get-Help Set-ExecutionPolicy".
Op regel:1 teken:1
+ set-executionpolicy RemoteSigned -scope process -Force
Bovendien syspolicy_purge_history mislukt de taak in de derde stap als de domeincontroller niet is ingesteld op RemoteSigned by GPO en u kunt het volgende foutbericht ontvangen:
Uitgevoerd als gebruiker: AJ\devARsqlagt. Een taakstap heeft een fout ontvangen op regel 1 in een PowerShell-script. De bijbehorende regel is 'set-executionpolicy RemoteSigned -scope process -Force'. Corrigeer het script en wijzig de taak. De foutgegevens die door PowerShell worden geretourneerd, zijn: 'Beveiligingsfout. '. Afsluitcode verwerken -1. De stap is mislukt.
Oorzaak
Dit probleem treedt op omdat het computerbeleid niet is ingesteld op RemoteSigned door groepsbeleidsobject en wordt gepusht naar de lidservers. Als het uitvoeringsbeleid voor de installatie van de domeincontroller bijvoorbeeld als volgt is:
Scope - ExecutionPolicy
--------------------------------------------------------------
MachinePolicy - Unrestricted
UserPolicy - Undefined
Process - RemoteSigned
CurrentUser - Undefined
LocalMachine - RemoteSigned
MachinePolicy heeft voorrang op alle andere beleidsregels.
Groepsbeleid wordt gepusht van de domeincontroller naar de lidservers die zijn gekoppeld voor dat groepsbeleid. Hiermee stelt u de MachinePolicy optie Onbeperkte modus in en probeert SQL Server PowerShell uit te voeren met RemoteSigned uitvoeringsbeleid. Daarom treedt er een conflicterende situatie op en mislukt de syspolicy_purge_history taak. Dezelfde taak wordt uitgevoerd in SQL Server, ongeacht het computerbeleid in de domeincontroller.
Tijdelijke oplossing
Als beveiligingsmaatregel start SQL Server 2012 SQL PowerShell in RemoteSigned-beleid. Hierdoor mislukt de taak en treedt het vorige probleem op.
Onbeperkt wordt absoluut niet aanbevolen vanuit een beveiligingsperspectief, omdat dit betekent dat er geen beperkingen zijn. Dat is de reden waarom u begint met SQL 2012, PowerShell-scripts worden uitgevoerd wanneer MachinePolicy is ingesteld als RemoteSigned in de domeincontroller.
Om dit probleem te omzeilen, kunt u een van de volgende methoden gebruiken:
Stel het computerbeleid van de domeincontroller niet in op groepsbeleidsobject. Als dit niet is gedefinieerd, betekent dit dat het beleid op het volgende niveau (bijvoorbeeld UserPolicy, process, then CurrentUser en ten slotte LocalMachine) voorrang krijgt.
Maak een nieuwe organisatie-eenheid (OE) in Active Directory en koppel deze organisatie-eenheid aan uw groepsbeleid. Schakel het vervolgens in voor RemoteSigned-beleid. Hiervoor volgt u deze stappen:
Ga naar Active Directory.
Klik met de rechtermuisknop op uw domein -New ->>Organizational Unit om een nieuwe organisatie-eenheid te maken.
Typ gpmc.msc in Uitvoeren en klik vervolgens met de rechtermuisknop op Groepsbeleidsobject ->Nieuw om een nieuw groepsbeleidsobject te maken.
Klik met de rechtermuisknop op het zojuist gemaakte groepsbeleidsobject -> Bewerken. Er wordt een nieuw venster geopend.
Ga naar Computerconfiguratie ->Beleid ->Beheersjablonen ->Windows-onderdelen ->Windows PowerShell -> dubbelklik op Scriptuitvoering inschakelen.
Stel het uitvoeringsbeleid in op Lokale scripts en externe ondertekende scripts toestaan.
Klik achtereenvolgens op Toepassen en op OK.
Ga naar Active Directory en klik op Computers. U vindt een lijst met computers voor het domein. Klik met de rechtermuisknop op de computer(s) die u wilt verplaatsen in de zojuist gemaakte organisatie-eenheid. Op deze manier kunt u één of een groep computers verplaatsen naar een organisatie-eenheid.
Ga naar Groepsbeleidsbeheer, klik met de rechtermuisknop op nieuw gemaakte organisatie-eenheid, klik op Een bestaand groepsbeleidsobject koppelen, selecteer het zojuist gemaakte groepsbeleidsobject en klik vervolgens op OK.
Werk het beleid op de domeincontroller en op de clientcomputer bij door deze opdracht uit te voeren in PowerShell.
gpupdate /forceControleer het computerbeleid voor de organisatie-eenheid en het clientonderdeel. Dit moet RemoteSigned zijn.