<# timpe: ~8 minutes 41 seconds #> # Variables $ErrorActionPreference = "stop" # path $pth_usrPrf = "C:\Users\Default" $pth_AppData = "C:\Users\Default\AppData\Roaming" $pth_OneDriveSetup = "C:\Windows\SysWOW64\OneDriveSetup.exe" # taskBar $pth_PinnedTaskBar = "C:\Users\Default\AppData\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" # ddl x64 $pth_ddlX64 = "$env:winDir\system32" # ddl x32 $pth_ddlX32 = "$env:winDir\SysWOW64\" # drivers $pth_drivers = "$env:winDir\system32\drivers" # shell:startUp $pth_StartUp = ni "C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartUp" -type directory # ddl-gns3 (93.3M) $URL_gns3 = "https://downloads.solarwinds.com/solarwinds/GNS3/v2.2.32/GNS3-2.2.32-all-in-one-regular.exe" # empty30G_qcow2 (FG) $URL_empty30G_qcow2 = "https://cfhcable.dl.sourceforge.net/project/gns-3/Empty%20Qemu%20disk/empty30G.qcow2" # SW_iosv_2020.qcow2 $URL_sw_iosv_2020_qcow2 = "https://master.dl.sourceforge.net/project/images/SW_iosv_2020.qcow2?viasf=1" # FGT6.4.7.qcow2 $URL_FGT6_4_7_qcow2 = "https://master.dl.sourceforge.net/project/images/FGT6.4.7.qcow2?viasf=1" # rt_159-3.m4.qcow $URL_vios_159_3_m4_qcow2 = "https://master.dl.sourceforge.net/project/images/qcow2/vios_159-3.m4.qcow2?viasf=1" # iosV_startup_config.img (router) $URL_iosv_startup_cfg_img = "https://master.dl.sourceforge.net/project/images/qcow2/iosv_startup_config.img?viasf=1" # fortinet.svg $URL_fortinet_svg = "https://master.dl.sourceforge.net/project/images/fortinet.svg?viasf=1" # firefox.svg $URL_firefox_svg = "https://master.dl.sourceforge.net/project/images/firefox.svg?viasf=1" # gns3_server.ini (appData) $URL_gns3_server_ini = "https://master.dl.sourceforge.net/project/images/gns3_server.ini?viasf=1" # gns3_controller_ini (appData) $URL_gns3_controller_ini = "https://master.dl.sourceforge.net/project/images/AppData/02-06-2022/gns3_controller.ini?viasf=1" # Packet dll_x64 $URL_packet_x64 = "https://master.dl.sourceforge.net/project/images/System32/Packet.dll?viasf=1" # wpcap ddl_x32 $URL_wpcap_x32 = "https://master.dl.sourceforge.net/project/images/SysWOW64/wpcap.dll?viasf=1" # pthreadVC.dll $URL_pthreadVC_x32 = "https://master.dl.sourceforge.net/project/images/SysWOW64/pthreadVC.dll?viasf=1" # Packet ddl_x32 $URL_packet_x32 = "https://master.dl.sourceforge.net/project/images/SysWOW64/Packet.dll?viasf=1" # npf.sys $URL_npf_sys = "https://master.dl.sourceforge.net/project/images/drivers/npf.sys?viasf=1" # rpcapd.exe in InstallDir\WinPcap $URL_rpcapd_exe = "https://altushost-swe.dl.sourceforge.net/project/images/ProgramFilesX86/rpcapd.exe" # winPcap (tmp - bypass checkUp from gns3.exe) $URL_winPcap_msi = "http://www.win10pcap.org/download/Win10Pcap-v10.2-5002.msi" # ScriptLogon $URL_ScriptLogon = "https://raw.githubusercontent.com/pc-aide/Windows/master/PowerShell/ARM/gns3_%26_loopback/StartUp/ScriptLogon/11-06-2022.ps1" # NTUSER.DAT $URL_ntuser = "https://master.dl.sourceforge.net/project/images/NTUSER.DAT/NTUSER.DAT?viasf=1" # gns3_gui.ini $fil_gns3_gui = @" { "Builtin": { "default_nat_interface": "vmnet8" }, "Docker": { "containers": [] }, "Dynamips": { "allocate_aux_console_ports": false, "dynamips_path": "", "ghost_ios_support": true, "mmap_support": true, "sparse_memory_support": true }, "GraphicsView": { "default_label_color": "#000000", "default_label_font": "TypeWriter,10,-1,5,75,0,0,0,0,0", "default_note_color": "#000000", "default_note_font": "TypeWriter,10,-1,5,75,0,0,0,0,0", "draw_link_status_points": true, "draw_rectangle_selected_item": false, "drawing_grid_size": 25, "grid_size": 75, "limit_size_node_symbols": true, "scene_height": 1000, "scene_width": 2000, "show_grid": false, "show_grid_on_new_project": false, "show_interface_labels": false, "show_interface_labels_on_new_project": false, "show_layers": false, "snap_to_grid": false, "snap_to_grid_on_new_project": false, "zoom": null }, "IOU": { "iourc_content": "", "license_check": true }, "MainWindow": { "check_for_update": true, "debug_level": 0, "delay_console_all": 1500, "direct_file_upload": false, "experimental_features": false, "geometry": "AdnQywADAAAAAAHSAAAAgwAABa0AAANuAAAB0wAAAKIAAAWsAAADbQAAAAAAAAAAB4AAAAHTAAAAogAABawAAANt", "hdpi": true, "hide_getting_started_dialog": false, "hide_new_template_button": false, "hide_setup_wizard": true, "last_check_for_update": 0, "multi_profiles": false, "overlay_notifications": true, "recent_files": [], "recent_projects": [], "send_stats": true, "spice_console_command": "\"C:\\Program Files\\VirtViewer v7.0-256\\bin\\remote-viewer.exe\" spice://%h:%p", "state": "AAAA/wAAAAD9AAAAAwAAAAAAAAAAAAAAAPwCAAAAAfsAAAAiAHUAaQBOAG8AZABlAHMARABvAGMAawBXAGkAZABnAGUAdAAAAAAA/////wAAAIcA////AAAAAQAAAQAAAAGT/AIAAAAC+wAAADYAdQBpAFQAbwBwAG8AbABvAGcAeQBTAHUAbQBtAGEAcgB5AEQAbwBjAGsAVwBpAGQAZwBlAHQBAAAAQwAAAMcAAABZAP////sAAAA0AHUAaQBDAG8AbQBwAHUAdABlAFMAdQBtAG0AYQByAHkARABvAGMAawBXAGkAZABnAGUAdAEAAAEQAAAAxgAAAFkA////AAAAAwAAA5oAAADT/AEAAAAB+wAAACYAdQBpAEMAbwBuAHMAbwBsAGUARABvAGMAawBXAGkAZABnAGUAdAEAAABAAAADmgAAAEYAB///AAAClAAAAZMAAAAEAAAABAAAAAgAAAAI/AAAAAIAAAAAAAAAAQAAACIAdQBpAEIAcgBvAHcAcwBlAHIAcwBUAG8AbwBsAEIAYQByAwAAAAD/////AAAAAAAAAAAAAAACAAAAAwAAACAAdQBpAEcAZQBuAGUAcgBhAGwAVABvAG8AbABCAGEAcgEAAAAA/////wAAAAAAAAAAAAAAIAB1AGkAQwBvAG4AdAByAG8AbABUAG8AbwBsAEIAYQByAQAAAGL/////AAAAAAAAAAAAAAAmAHUAaQBBAG4AbgBvAHQAYQB0AGkAbwBuAFQAbwBvAGwAQgBhAHIBAAABmP////8AAAAAAAAAAA==", "stats_visitor_id": "bdde99d6-7b08-4a90-9d18-144f902e683a", "style": "Classic", "symbol_theme": "Classic", "telnet_console_command": "Solar-PuTTY.exe --telnet --hostname %h --port %p --name \"%d\"", "vnc_console_command": "tvnviewer.exe %h:%p" }, "NodesView": { "nodes_view_filter": 0 }, "Qemu": { "enable_hardware_acceleration": true, "require_hardware_acceleration": true }, "VMware": { "block_host_traffic": true, "host_type": "ws", "vmnet_end_range": 19, "vmnet_start_range": 2, "vmrun_path": "" }, "VPCS": { "vpcs_path": "" }, "VirtualBox": { "vboxmanage_path": "" }, "type": "settings", "version": "2.2.32" } "@ # test.gn3 - file $fil_test_gns3 = @" { "auto_close": true, "auto_open": false, "auto_start": false, "drawing_grid_size": 25, "grid_size": 75, "name": "test", "project_id": "a755b1fc-5c72-4a35-aae9-b1ff3cf7092c", "revision": 9, "scene_height": 1000, "scene_width": 2000, "show_grid": false, "show_interface_labels": true, "show_layers": false, "snap_to_grid": false, "supplier": null, "topology": { "computes": [ { "compute_id": "2e0d1578-d11f-46cf-b22b-d02aa3a5d426", "host": "gns3", "name": "gns3", "port": 3080, "protocol": "http" } ], "drawings": [], "links": [ { "filters": {}, "link_id": "cd72c182-551c-4ba5-a333-f913b1ab0bb8", "link_style": {}, "nodes": [ { "adapter_number": 2, "label": { "rotation": 0, "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", "text": "Port3", "x": 39, "y": 64 }, "node_id": "375ab30d-530e-45f8-9de6-897ea2f600d4", "port_number": 0 }, { "adapter_number": 0, "label": { "rotation": 0, "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", "text": "Loopback", "x": 48, "y": -16 }, "node_id": "5861eb87-977e-4c84-b6c1-161acab661ce", "port_number": 1 } ], "suspend": false } ], "nodes": [ { "compute_id": "local", "console": null, "console_auto_start": false, "console_type": "none", "custom_adapters": [], "first_port_name": null, "height": 60, "label": { "rotation": 0, "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", "text": "MGMT", "x": 5, "y": 70 }, "locked": false, "name": "MGMT", "node_id": "5861eb87-977e-4c84-b6c1-161acab661ce", "node_type": "cloud", "port_name_format": "Ethernet{0}", "port_segment_size": 0, "properties": { "interfaces": [ { "name": "Ethernet", "special": false, "type": "ethernet" }, { "name": "Loopback", "special": true, "type": "ethernet" } ], "ports_mapping": [ { "interface": "Ethernet", "name": "Ethernet", "port_number": 0, "type": "ethernet" }, { "interface": "Loopback", "name": "Loopback", "port_number": 1, "type": "ethernet" } ], "remote_console_host": "", "remote_console_http_path": "/", "remote_console_port": 23, "remote_console_type": "none" }, "symbol": ":/symbols/affinity/circle/red/client.svg", "template_id": "39e257dc-8412-3174-b6b3-0ee3ed6a43e9", "width": 60, "x": -99, "y": 97, "z": 1 }, { "compute_id": "2e0d1578-d11f-46cf-b22b-d02aa3a5d426", "console": 5000, "console_auto_start": false, "console_type": "telnet", "custom_adapters": [], "first_port_name": "", "height": 50, "label": { "rotation": 0, "style": "font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;", "text": "FG-1", "x": 17, "y": -25 }, "locked": false, "name": "FG-1", "node_id": "375ab30d-530e-45f8-9de6-897ea2f600d4", "node_type": "qemu", "port_name_format": "Port{port1}", "port_segment_size": 0, "properties": { "adapter_type": "e1000", "adapters": 10, "bios_image": "", "bios_image_md5sum": null, "boot_priority": "c", "cdrom_image": "", "cdrom_image_md5sum": null, "cpu_throttling": 0, "cpus": 1, "create_config_disk": false, "hda_disk_image": "FGT6.4.7.qcow2", "hda_disk_image_md5sum": "dcdf7bf5e1ff85c64638c1dfaa48ff65", "hda_disk_interface": "virtio", "hdb_disk_image": "empty30G.qcow2", "hdb_disk_image_md5sum": "3411a599e822f2ac6be560a26405821a", "hdb_disk_interface": "virtio", "hdc_disk_image": "", "hdc_disk_image_md5sum": null, "hdc_disk_interface": "none", "hdd_disk_image": "", "hdd_disk_image_md5sum": null, "hdd_disk_interface": "none", "initrd": "", "initrd_md5sum": null, "kernel_command_line": "", "kernel_image": "", "kernel_image_md5sum": null, "legacy_networking": false, "linked_clone": true, "mac_address": "0c:5a:b3:0d:00:00", "on_close": "power_off", "options": "", "platform": "x86_64", "process_priority": "normal", "qemu_path": "/usr/bin/qemu-system-x86_64", "ram": 1024, "replicate_network_connection_state": true, "usage": "Default username is admin, no password is set." }, "symbol": "fortinet.svg", "template_id": "ef90e3b5-4b61-42e3-8396-d807d5a684af", "width": 70, "x": -104, "y": -99, "z": 1 } ] }, "type": "topology", "variables": null, "version": "2.2.32", "zoom": 100 } "@ # loopback $loopbackName = "Loopback" # loopback nic $primary_interface = "Ethernet" # Pckg Nuget # Find-PackageProvider -Name "NuGet" -AllVersions Install-PackageProvider -Name "NuGet" -RequiredVersion " 2.8.5.208" -Force # Modules Install-Module -Name LoopbackAdapter -MinimumVersion 1.2.0.0 -Force # New NIC New-LoopbackAdapter -Name $loopbackName -Force # NIC_loopback $interface_loopback = Get-NetAdapter -Name $loopbackName $interface_main = Get-NetAdapter -Name $primary_interface # IP $loopback_ipv4 = '192.168.3.10' # Subnet mask $loopback_ipv4_length = '24' # Set the IPv4 address New-NetIPAddress -InterfaceAlias $loopbackName -IPAddress $loopback_ipv4 ` -PrefixLength $loopback_ipv4_length -AddressFamily ipv4 # UserProfile cd $pth_usrPrf 'images','configs','projects','symbols' | % {ni -Name ".\GNS3\$_" -ItemType 'Directory' -EA 0} # QEMU $pth_QEMU = ni $pth_usrPrf\GNS3\images -Name QEMU -Type Directory # AppData $pth_AppData_2_2 = ni $pth_AppData\GNS3 -Name 2.2 -Type Directory # symbols $pth_symbols = "$pth_usrPrf\GNS3\symbols" # projects $pth_projects = "$pth_usrPrf\GNS3\projects" # gns3-app Start-BitsTransfer -Source $URL_gns3 ` -Destination "d:\gns3.exe" -EA 0 # SW_iosv_2020.qcow2 Start-BitsTransfer -Source $URL_sw_iosv_2020_qcow2 ` -Destination "$pth_QEMU\SW_iosv_2020.qcow2" -EA 0 # FGT6.4.7.qcow2 Start-BitsTransfer -Source $URL_FGT6_4_7_qcow2 ` -Destination "$pth_QEMU\FGT6.4.7.qcow2" -EA 0 # vios_159-3.m4.qcow2 Start-BitsTransfer -Source $URL_vios_159_3_m4_qcow2 ` -Destination "$pth_QEMU\vios_159-3.m4.qcow2" -EA 0 # iosv_startup_config.img Start-BitsTransfer -Source $URL_iosv_startup_cfg_img ` -Destination "$pth_QEMU\iosv_startup_config.img" -EA 0 # empty30G.qcow2 Start-BitsTransfer -Source $URL_empty30G_qcow2 ` -Destination $pth_QEMU\empty30G.qcow2 -EA 0 # fortinet.svg Start-BitsTransfer -Source $URL_fortinet_svg ` -Destination "$pth_symbols\fortinet.svg" -EA 0 # $URL_firefox.svg Start-BitsTransfer -Source $URL_firefox_svg ` -Destination "$pth_symbols\firefox.svg" -EA 0 # gns3_server.ini (appData) Start-BitsTransfer -Source $URL_gns3_server_ini ` -Destination "$pth_AppData_2_2\gns3_server.ini" -EA 0 # gns3_controller.ini (appData) Start-BitsTransfer -Source $URL_gns3_controller_ini ` -Destination "$pth_AppData_2_2\gns3_controller.ini" -EA 0 # gn3_gui.ini $fil_gns3_gui | out-file "$pth_AppData_2_2\gns3_gui.ini" -Encoding ascii # project files try{ $fil_test_gns3 | out-file $pth_usrPrf\GNS3\projects\test.gns3 -Encoding ascii }catch{ $Error[0] | out-file d:\ErrorTest.gns3.log } # acl.default (Access to the path is denied) ACL: read,execute $acl = get-acl $pth_OneDriveSetup # new rule $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("nt authority\system","FullControl","Allow") $acl.SetAccessRule($AccessRule) $acl | Set-Acl $pth_OneDriveSetup # Block autoInstall OneDrive to a NewUser try{ ri $pth_OneDriveSetup -force }catch{ $erro[0] | out-file "d:\ErrorRemoveOneDriveSetup.log" } # Turn off the Network Location wizard ni HKLM:\System\CurrentControlSet\Control\Network\ -Name NewNetworkWindowOff # Disable Privacy Settings Experience Using ni HKLM:\SOFTWARE\Policies\Microsoft\Windows\ -Name OOBE New-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\Windows\OOBE ` -Name DisablePrivacyExperience -Type DWord -Value 1 # Disable First run welcome page Edge ni HKLM:\SOFTWARE\Policies\Microsoft\ -Name Edge New-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\Edge\ ` -Name HideFirstRunExperience -Type DWord -Value 1 # Remove icons pinned to TaskBar # try this in futur : Import-StartLayout -MountPath $env:systemdrive\ -LayoutPath "StartLayout.bin" #ri "C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\*" -EA 0 # bypass checkUp gns3 wiht win10Pcap.msi try{ Start-BitsTransfer -Source $URL_winPcap_msi ` -Destination "d:\win10Pcap.msi" }catch{ $Error[0] | out-file d:\ErrorInstallWin10Pcap_msi.log } # install silent Win10Pcap.msi try{ start msiExec -args "/i d:\win10Pcap.msi /q /l* d:\InstallW10Pcap_msi.log" }catch{ $Error[0] | out-file d:\ErrorInstallWin10Pcap_msi.log } # Install silent gns3.exe try{ start d:\gns3.exe -args "/S" -wait }catch{ $Error[0] | out-file ErrorInstallGns3.log } # uninstall W10Pcap.msi (deprecated files ddl) try{ start msiExec -args "/x {B5B58F8A-1984-4F3E-B400-235A6E005002} /q /l* d:\UninstallWin10Pcap_msi.log" }catch{ $Error[0] | out-file d:\ErrorUninstallWin10Pcap_msi.log } # InstallDir WinPcap try{ $pth_winPcap = ni ${env:ProgramFiles(x86)} -Name WinPcap -Type Directory }catch{ $Error[0] | out-file d:\ErroInstallDirWinPcap.log } # packet.dll x64 try{ Start-BitsTransfer -Source $URL_packet_x64 ` -Destination "$pth_ddlX64\Packet.dll" }catch{ $Error[0] | out-file d:\ErrorPacket_ddl_x64.log } # npf.sys try{ Start-BitsTransfer -Source $URL_npf_sys ` -Destination "$pth_drivers\npf.sys" }catch{ $Error[0] | out-file d:\ErrorNpf_drivers_x64.log } # wpcap.dll x32 try{ Start-BitsTransfer -Source $URL_wpcap_x32 ` -Destination "$pth_ddlX32\wpcap.dll" }catch{ $Error[0] | out-file d:\ErrorWpcap_ddl_x32.log } # packet.dll x32 try{ Start-BitsTransfer -Source $URL_packet_x32 ` -Destination "$pth_ddlX32\Packet.dll" }catch{ $Error[0] | out-file d:\ErrorPacket_ddl_x32.log } # rpcapd.exe try{ Start-BitsTransfer -Source $URL_rpcapd_exe ` -Destination "$pth_winPcap\rpcapd.exe" }catch{ $Error[0] | out-file d:\ErrorRpcapd_exe_InstallDirWinPcap.log } # app & 1st service sc.exe create rpcapd type= own start= demand binPath= "$pth_winPcap\rpcad.exe" DisplayName= "Remote Package Capture Protocol..." # driver (*.sys - 2e service) sc.exe create npf binPath= "system32\drivers\npf.sys" type= kernel start= auto error= normal tag= no DisplayName= "NetGroup Packet Filter Driver" # start-service try{ sc.exe start npf }catch{ $Error[0] | out-file d:\Error2StartServiceNpf_sys.log } # ntuser.dat try{ start-BitsTransfer $URL_ntuser ` -Destination "$pth_usrPrf\NTUSER.DAT" }catch{ $Error[0] | out-file d:\ErrorNTUser.dat.log }