Tving en batchfil til at svare ja til prompts
SQL Server-instansen til SharePoint skulle genstarte kl. 5 hver morgen, men net stop spørger om lov. Løsningen er en y.txt og en planlagt opgave.
For lidt siden stødte jeg på det her problem hos en af mine kunder. De havde brug for, at SharePoint-instansen af MSSQL-serveren genstartede kl. 5 hver morgen. Det lød som en rimelig opgave at løse ret nemt. Det viser sig dog, at prompten, der spørger brugeren, om han/hun er sikker på at stoppe servicen.
Som om jeg nogensinde ville gøre noget uden at være sikker.. suk!
Nå, men jeg gravede lidt og fandt ud af, at jeg var nødt til at bygge en lidt underlig løsning, for at det kunne køre 100 % automatisk.
For at undgå det spørgsmål, hver gang man genstarter sin service, skal man:
- Oprette mappen c:\CustomSolutions\RestartMSSQL
- Oprette en fil kaldet c:\CustomSolutions\RestartMSSQL\y.txt, som KUN indeholder bogstavet y og et carrige return (skriv “y” og tryk Enter)
- Oprette filen c:\CustomSolutions\RestartMSSQL\restartsql.bat, som indeholder:
net stop MSSQL$SharePoint /y < “c:\CustomSolutions\RestartMSSQL\y.txt” && net start MSSQL$SharePoint /y < “c:\CustomSolutions\RestartMSSQL\y.txt” - Oprette en planlagt opgave, der kører batchfilen, når man har brug for det. Husk at sætte den planlagte opgave til at køre, også selvom brugeren ikke er logget på.
Det her er faktisk Best Practice for, hvordan man gør det. Jeg fik løsningen fra technet et sted. Det overgår min forstand, hvorfor det her hack er nødvendigt. Hvorfor er der ikke et flag, jeg kan sætte et sted, så jeg undgår den dumme y.txt-fil? Det virker perfekt, men jeg ville hellere scripte det hele i mit batchscript.
Hvis nogen kender en anden måde at gøre det på, så skriv en kommentar og lær mig det. Der må være en bedre måde at gøre det på.
Sidst opdateret