Goedemiddag!
Laten we even beginnen met het melden dat mijn powershell kennis vrij beperkt is op het moment.
Veelvuldig moet ik hardwarehashes van batches laptops ophalen voor Autopilot. Hiervoor maak ik gebruik van het autopilot powershell script van de powershell galaries van Microsoft (https://www.powershellgallery.com/packages/Get-WindowsAutoPilotInfo/1.3/Content/Get-WindowsAutoPilotInfo.ps1)
Om te zorgen dat deze makkelijk is uit te voeren op nieuwe laptops (zonder deze te configureren), en om te zorgen dat iedereen er mee over weg kan bij ons heb ik een klein bat script uitgewerkt welke zorgt dat Powershell scripts uitgevoerd mogen worden, het powershell script uitvoert en de output in een CSV zet, en vervolgens de executionpolicy weer aanpast naar default (restricted)
1) Als ik de USB met het script in de laptop steek krijgt deze altijd de D schijf, wegschrijven is dus op die manier geen probleem. Maar als men vergeet eerst de Windows stick te verwijderen krijgt de script USB een andere letter en werkt het wegschrijven niet. Hoe kan ik zorgen dat het csv bestand wordt weggeschreven naar de stick waar vandaan het script wordt uitgevoerd?
2) Hoe kan ik zorgen dat hij het csv bestand aanvult in plaats van overschrijft?
Ik heb al gezocht naar manieren met -append en dergelijke maar dat werkt niet in een bat script. Ook met de bekende >> kom ik niet verder. Helaas kom ik via google niet bij de juiste sites terecht die een dergelijke constructie gebruiken.
Het gedeelte van het wegschrijven naar CSV heb ik gejat uit het get-autopilot powershell script, hierin staan allerlei voorbeelden voor commando's.
Alvast bedankt!!
Michel
Laten we even beginnen met het melden dat mijn powershell kennis vrij beperkt is op het moment.
Veelvuldig moet ik hardwarehashes van batches laptops ophalen voor Autopilot. Hiervoor maak ik gebruik van het autopilot powershell script van de powershell galaries van Microsoft (https://www.powershellgallery.com/packages/Get-WindowsAutoPilotInfo/1.3/Content/Get-WindowsAutoPilotInfo.ps1)
Om te zorgen dat deze makkelijk is uit te voeren op nieuwe laptops (zonder deze te configureren), en om te zorgen dat iedereen er mee over weg kan bij ons heb ik een klein bat script uitgewerkt welke zorgt dat Powershell scripts uitgevoerd mogen worden, het powershell script uitvoert en de output in een CSV zet, en vervolgens de executionpolicy weer aanpast naar default (restricted)
Nu mijn vragen!@ECHO off
ECHO Toestaan dat Powershell scripts mag uitvoeren
powershell -Command "& {Set-ExecutionPolicy unrestricted;}"
ECHO Powershell script voor hardwarehash uitvoeren...
powershell -Command "\Get-WindowsAutoPilotInfo.ps1 -ComputerName $env:computername -OutputFile D:\AutopilotImport.csv"
ECHO Toestaan dat powershell scripts mag uitvoeren terug draaien
powershell -Command "& {Set-ExecutionPolicy restricted;}"
ECHO Afgerond en gegevens geëxporteerd naar D:\AutopilotImport.csv
PAUSE
1) Als ik de USB met het script in de laptop steek krijgt deze altijd de D schijf, wegschrijven is dus op die manier geen probleem. Maar als men vergeet eerst de Windows stick te verwijderen krijgt de script USB een andere letter en werkt het wegschrijven niet. Hoe kan ik zorgen dat het csv bestand wordt weggeschreven naar de stick waar vandaan het script wordt uitgevoerd?
2) Hoe kan ik zorgen dat hij het csv bestand aanvult in plaats van overschrijft?
Ik heb al gezocht naar manieren met -append en dergelijke maar dat werkt niet in een bat script. Ook met de bekende >> kom ik niet verder. Helaas kom ik via google niet bij de juiste sites terecht die een dergelijke constructie gebruiken.
Het gedeelte van het wegschrijven naar CSV heb ik gejat uit het get-autopilot powershell script, hierin staan allerlei voorbeelden voor commando's.
Alvast bedankt!!
Michel
[Voor 3% gewijzigd door Michel op 16-10-2018 16:37]