Mijn vraag:
Ik ben een taak binnen FSRM aan het automatiseren,
Een script heb ik geschreven voor het downloaden van een lijst van https://fsrm.experiant.ca/api/v1/get die een lijst met meest geupdate extensies hebben.
Vervolgens check ik deze op wijzigingen met het laatst gebruikte bestand met extensies
Ik had in eerste instantie deze code, maar omdat deze site gecomprimeerd kan worden of er ineens .doc in de lijst komt te staan wil ik deze altijd eerst checken op wijzigingen.
Deze variant gebruik ik dus niet, maar werkte wel.
Deze heb ik nu gefabriceerd maar loopt vast op invalid arguments:
Deze error kreeg ik:
Daarbij werk ik dus ook nog aan een script dat als er geen wijzigingen zijn hij geen aanpassingen hoeft te doen, en als er wijzigingen zijn ik daarvan op de hoogte gesteld word, dit is nog work in progress.
Erbij gezegd hebbene dat dit mijn eerste code is die ik schrijf met cmdlets en verder totaal zero ervaring heb met Powershell dus be easy with me :-)
Probeer het KISS principe een beetje aan te houden zodat ik het kan blijven lezen haha.
Draai op dit moment in een machine met Server 2012 R2 met Powershell ICE.
Bij voorbaat alvast dank!
Ik ben een taak binnen FSRM aan het automatiseren,
Een script heb ik geschreven voor het downloaden van een lijst van https://fsrm.experiant.ca/api/v1/get die een lijst met meest geupdate extensies hebben.
code:
1
2
3
4
5
6
7
8
9
| $website = "https://fsrm.experiant.ca/api/v1/get" $filePath = "C:\Users\***\Desktop\" $fileName ="ExtensionList" $webclient = New-Object System.Net.WebClient $jsonString = $webclient.DownloadString($website) $filePath = $filePath + $fileName $jsonString | Out-File $filePath |
Vervolgens check ik deze op wijzigingen met het laatst gebruikte bestand met extensies
code:
1
2
3
4
| $File1 = "C:\Users\***\Desktop\ExtensionList" $File2 = "C:\Users\***\Desktop\ExtensionList1" $Location = "C:\Users\***\Desktop\verschil" Compare-Object -referenceObject $(Get-Content $File1) -differenceObject $(Get-Content $File2) | %{$_.Inputobject + $_.SideIndicator} | ft -auto | out-file $Location -width 5000 |
Ik had in eerste instantie deze code, maar omdat deze site gecomprimeerd kan worden of er ineens .doc in de lijst komt te staan wil ik deze altijd eerst checken op wijzigingen.
Deze variant gebruik ik dus niet, maar werkte wel.
code:
1
2
| remove-FsrmFileGroup -name "Anti-Ransomware File Groups" -confirm:$false new-FsrmFileGroup -name "Anti-Ransomware File Groups" -IncludePattern @((Invoke-WebRequest -Uri "https://fsrm.experiant.ca/api/v1/get").content | convertfrom-json | % {$_.filters}) |
Deze heb ik nu gefabriceerd maar loopt vast op invalid arguments:
code:
1
2
3
4
5
| remove-FsrmFileGroup -name "Anti-Ransomware File Groups" -confirm:$false $FGroup = Get-Content "C:\users\***\desktop\ExtensionList" new-FsrmFileGroup -name "Anti-Ransomware File Groups" -IncludePattern @($FGroup) #Send-MailMessage -From blabla@blabla.nl -Subject "Ransomware update $env:COMPUTERNAME" -To blabla@blabla.nl -Body "Update geslaagd op $env:COMPUTERNAME met IP: $(Get-NetIPAddress) op $(Get-Date)" -BodyAsHtml -DeliveryNotificationOption OnSuccess -SmtpServer * #Send-MailMessage -From blabla@blabla.nl -Subject "Ransomware update $env:COMPUTERNAME" -To blabla@blabla.nl -Body "Update mislukt op $env:COMPUTERNAME met IP: $(Get-NetIPAddress) op $(Get-Date)" -BodyAsHtml -DeliveryNotificationOption OnFailure -SmtpServer * |
Deze error kreeg ik:
code:
1
2
3
4
5
6
| new-FsrmFileGroup : 0x80070057, The parameter is incorrect. At C:\Users\***\Desktop\UpdateRansonwareLijst-test.ps1:4 char:1 + new-FsrmFileGroup -name "Anti-Ransomware File Groups" -IncludePattern @($FGroup) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (MSFT_FSRMFileGroup:Root/Microsoft/...T_FSRMFileGroup) [New-FsrmFileGroup], CimException + FullyQualifiedErrorId : MI RESULT 4,New-FsrmFileGroup |
Daarbij werk ik dus ook nog aan een script dat als er geen wijzigingen zijn hij geen aanpassingen hoeft te doen, en als er wijzigingen zijn ik daarvan op de hoogte gesteld word, dit is nog work in progress.
Erbij gezegd hebbene dat dit mijn eerste code is die ik schrijf met cmdlets en verder totaal zero ervaring heb met Powershell dus be easy with me :-)
Probeer het KISS principe een beetje aan te houden zodat ik het kan blijven lezen haha.
Draai op dit moment in een machine met Server 2012 R2 met Powershell ICE.
Bij voorbaat alvast dank!
Wie niet wegklikt is gezien!