Compare commits

...

11 Commits

Author SHA1 Message Date
AnD
f761ff2ed6 Bug fix: network interfaces team. 2026-05-15 16:26:08 -06:00
AnD
97d42da9a2 Merge branch 'main' of http://10.1.101.60:3000/andnb/FAT_Test
# Conflicts:
#	TastList.cs
#	bin/Debug/FHT.exe
#	bin/Debug/FHT.pdb
#	bin/Debug/profile.json
2026-04-25 14:13:43 -06:00
AnD
7d35ac2b37 load different profile.json
fix bugs relating to profile loading
2026-04-25 14:10:43 -06:00
AnD
fdfca14fb3 load different profile.json
fix bugs relating to profile loading
2026-04-15 18:06:27 -06:00
AnD
f07fe51193 Unencrypted PS and Json files 2026-03-21 13:36:53 -06:00
AnD
b087d95122 - option to disable/enable encrypt/decrypt buttons for compiling for separating app for admin and app for end users
- fix bugs regarding to user interfaces
- last run column.
2026-03-12 18:54:06 -06:00
AnD
dc577a228d Encrypted all
Admin version with Encrypt/Decrypt buttons
2026-02-27 15:32:10 -07:00
AnD
2e8bd6b90f - GUI files
- separate Utilities.cs
2026-01-30 11:57:51 -07:00
AnD
f76246d6a8 - profiles with parameters
- run in batch
- save tasklist in json
- save output
- GUI
2026-01-30 11:55:08 -07:00
AnD
7701ac62f5 Delete unused filed 2026-01-30 11:48:15 -07:00
AnD
cdf2dce90e more profiles 2026-01-30 11:46:27 -07:00
141 changed files with 11164 additions and 1725 deletions

View File

@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -25,6 +22,10 @@
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

BIN
Arrange16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

107
Arrange16.svg Normal file
View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333334 4.2333333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Arrange16.svg"
inkscape:export-filename="Arrange16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="32"
inkscape:cx="10.125"
inkscape:cy="10.796875"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<linearGradient
id="swatch1"
inkscape:swatch="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop1" />
</linearGradient>
<mask
id="gear-b"
fill="#ffffff">
<path
id="use1"
d="M 5.4614991,9.9518025 C 5.6362002,9.9834655 5.8161692,10 6,10 7.6568543,10 9,8.6568543 9,7 9,5.5334927 7.9477401,4.3127538 6.5570585,4.0516214 7.4512289,1.184857 9.2276196,0.04964861 11.886231,0.64599609 l 1.333496,1.11425781 h 1.88623 l 1.036133,2.4746094 -1.782715,1.3344726 v 2.3530274 l 1.782715,2.2880857 -1.036133,1.630371 h -1.88623 l -2.007813,1.098145 v 2.838379 L 8.800293,17.22168 6.2539062,15.043945 H 4.684082 L 2.8081055,17.22168 0.62158203,15.777344 V 12.938965 C 3.0110859,13.747194 4.6243916,12.751473 5.4614991,9.9518025 Z M 6,8 C 5.4477152,8 5,7.5522847 5,7 5,6.4477152 5.4477152,6 6,6 6.5522847,6 7,6.4477152 7,7 7,7.5522847 6.5522847,8 6,8 Z" />
</mask>
<mask
id="gear-d"
fill="#ffffff">
<path
id="use3"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
<mask
id="gear-d-2"
fill="#ffffff">
<path
id="use3-4"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
</defs>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline;mix-blend-mode:normal">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="fill:none">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-5"
style="fill:none"
transform="translate(13.958393,-6.902529)">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-1"
style="fill:none"
transform="translate(11.461172,7.6128007)" />
</g>
<path
id="path1"
style="fill:#66ff00;stroke:#55d400;stroke-width:0.143711;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2;stroke-dasharray:none;paint-order:normal"
inkscape:transform-center-x="-0.2837718"
inkscape:transform-center-y="0.10860242"
d="M 3.216625,0.07185371 2.2649822,1.4424608 2.6387143,1.4432507 c -5.88e-4,0.00835 -0.00107,0.016823 -0.00107,0.025368 v 2.4074801 c 0,0.1580118 0.1026871,0.285378 0.2302361,0.285378 h 0.690707 c 0.1275488,0 0.2302362,-0.1273662 0.2302362,-0.285378 v -2.407478 c 0,-0.00788 -2.139e-4,-0.015677 -7.115e-4,-0.023385 l 0.3733751,7.9e-4 z" />
<path
id="path1-2"
style="display:inline;mix-blend-mode:normal;fill:#0000ff;stroke:#000080;stroke-width:0.143711;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2;stroke-dasharray:none;paint-order:normal"
inkscape:transform-center-x="-0.28377229"
inkscape:transform-center-y="-0.10860206"
d="M 1.0234916,4.1614835 0.07184921,2.7908766 0.44558128,2.790079 c -5.8803e-4,-0.00835 -0.00107,-0.016823 -0.00107,-0.025368 V 0.35723367 c 0,-0.15801199 0.10268721,-0.28537796 0.23023603,-0.28537796 H 1.3654549 c 0.127549,0 0.2302363,0.12736597 0.2302363,0.28537796 V 2.7647167 c 0,0.00788 -2.14e-4,0.015677 -7.114e-4,0.023385 L 1.9683549,2.787304 Z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Arrange24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

107
Arrange24.svg Normal file
View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3500001 6.35"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Arrange24.svg"
inkscape:export-filename="Arrange24.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="34.469669"
inkscape:cx="7.7749513"
inkscape:cy="11.821987"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<linearGradient
id="swatch1"
inkscape:swatch="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop1" />
</linearGradient>
<mask
id="gear-b"
fill="#ffffff">
<path
id="use1"
d="M 5.4614991,9.9518025 C 5.6362002,9.9834655 5.8161692,10 6,10 7.6568543,10 9,8.6568543 9,7 9,5.5334927 7.9477401,4.3127538 6.5570585,4.0516214 7.4512289,1.184857 9.2276196,0.04964861 11.886231,0.64599609 l 1.333496,1.11425781 h 1.88623 l 1.036133,2.4746094 -1.782715,1.3344726 v 2.3530274 l 1.782715,2.2880857 -1.036133,1.630371 h -1.88623 l -2.007813,1.098145 v 2.838379 L 8.800293,17.22168 6.2539062,15.043945 H 4.684082 L 2.8081055,17.22168 0.62158203,15.777344 V 12.938965 C 3.0110859,13.747194 4.6243916,12.751473 5.4614991,9.9518025 Z M 6,8 C 5.4477152,8 5,7.5522847 5,7 5,6.4477152 5.4477152,6 6,6 6.5522847,6 7,6.4477152 7,7 7,7.5522847 6.5522847,8 6,8 Z" />
</mask>
<mask
id="gear-d"
fill="#ffffff">
<path
id="use3"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
<mask
id="gear-d-2"
fill="#ffffff">
<path
id="use3-4"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
</defs>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline;mix-blend-mode:normal">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="fill:none">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-5"
style="fill:none"
transform="translate(13.958393,-6.902529)">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-1"
style="fill:none"
transform="translate(11.461172,7.6128007)" />
</g>
<path
id="path1"
style="fill:#66ff00;stroke:#55d400;stroke-width:0.196976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2;stroke-dasharray:none;paint-order:normal"
inkscape:transform-center-x="-0.42440027"
inkscape:transform-center-y="0.1364168"
d="m 4.8200858,0.62474126 -1.423269,1.72164144 0.5589507,9.924e-4 c -8.796e-4,0.010486 -0.00161,0.021132 -0.00161,0.031864 v 3.0240744 c 0,0.1984813 0.1535783,0.3584678 0.3443394,0.3584678 h 1.0330179 c 0.1907611,0 0.3443394,-0.1599865 0.3443394,-0.3584678 V 2.3792423 c 0,-0.00989 -3.199e-4,-0.019694 -0.00107,-0.029374 l 0.5584169,9.923e-4 z" />
<path
id="path1-2"
style="display:inline;mix-blend-mode:normal;fill:#0000ff;stroke:#000080;stroke-width:0.196976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.2;stroke-dasharray:none;paint-order:normal"
inkscape:transform-center-x="-0.42440475"
inkscape:transform-center-y="-0.13641648"
d="m 1.5400535,5.7617907 -1.42326893,-1.7216413 0.5589507,-10e-4 c -8.7946e-4,-0.010486 -0.001601,-0.021133 -0.001601,-0.031864 V 0.98321217 c 0,-0.19848148 0.15357812,-0.35846791 0.34433913,-0.35846791 h 1.033018 c 0.190761,0 0.3443394,0.15998643 0.3443394,0.35846791 V 4.00729 c 0,0.00989 -3.198e-4,0.019694 -0.00107,0.029374 l 0.5584169,-0.001 z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Check16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

70
Check16.svg Normal file
View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333333 4.2333333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Check16.svg"
inkscape:export-filename="Check16b.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="34.46967"
inkscape:cx="19.161773"
inkscape:cy="9.0079192"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
<path
style="fill:#0000ff;stroke-width:0.264583"
d="M 0.18273029,3.1172699 C -0.19539472,2.8476975 0.20624193,3.5460387 0.53009712,4.0363446 0.85395231,4.5266504 1.1000001,4.8088815 1.4292764,5.3353618 1.7585528,5.861842 2.1710446,6.6325502 2.6685873,6.2453715 3.16613,5.8581927 3.7486726,4.3131885 4.5537873,2.9074039 5.358902,1.5016194 6.3864926,0.23522258 6.2996488,0.07600889 6.212805,-0.08320481 5.0115372,0.86478362 4.2552721,2.0136553 3.4990069,3.162527 3.1878351,4.5121441 2.453281,4.5682308 1.7187269,4.6243174 0.5608553,3.3868422 0.18273029,3.1172699 Z"
id="path2"
inkscape:path-effect="#path-effect2"
inkscape:original-d="M -0.59703946,2.1493422 C -0.19539472,2.8476975 0.20624195,3.5460387 0.60789472,4.244408 0.85395234,4.5266504 1.1000001,4.8088815 1.3460528,5.0911184 1.7585528,5.861842 2.1710446,6.6325502 2.5835528,7.403289 3.16613,5.8581927 3.7486726,4.3131885 4.3312499,2.768092 5.358902,1.5016194 6.3864926,0.23522257 7.4141447,-1.03125 6.212805,-0.0832048 5.0115372,0.8647836 3.8101974,1.8128289 3.4990069,3.162527 3.1878352,4.5121441 2.8766447,5.8618421 1.7187269,4.6243174 0.56085532,3.3868422 -0.59703946,2.1493422 Z"
sodipodi:nodetypes="ccccccccc"
transform="matrix(0.66808337,0,0,0.67176106,-0.01325099,-0.03236537)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
Check16b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
Check24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

69
Check24.svg Normal file
View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3499999 6.3499999"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Check24.svg"
inkscape:export-filename="Check24.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="24.373737"
inkscape:cx="22.955035"
inkscape:cy="13.518649"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
<path
style="fill:#ff0000;stroke-width:0.264583"
d="M 0.1827303,3.1172698 C -0.19539472,2.8476975 0.20624195,3.5460387 0.53009715,4.0363446 0.85395234,4.5266504 1.1000001,4.8088815 1.4292765,5.3353617 1.7585528,5.861842 2.1710446,6.6325502 2.6685873,6.2453715 3.16613,5.8581927 3.7486726,4.3131885 4.5537873,2.907404 5.358902,1.5016194 6.3864926,0.23522257 6.2996488,0.07600889 6.212805,-0.0832048 5.0115372,0.8647836 4.2552721,2.0136553 3.4990069,3.162527 3.1878352,4.5121441 2.453281,4.5682307 1.7187269,4.6243174 0.56085532,3.3868422 0.1827303,3.1172698 Z"
id="path2"
inkscape:path-effect="#path-effect2"
inkscape:original-d="M -0.59703946,2.1493422 C -0.19539472,2.8476975 0.20624195,3.5460387 0.60789472,4.244408 0.85395234,4.5266504 1.1000001,4.8088815 1.3460528,5.0911184 1.7585528,5.861842 2.1710446,6.6325502 2.5835528,7.403289 3.16613,5.8581927 3.7486726,4.3131885 4.3312499,2.768092 5.358902,1.5016194 6.3864926,0.23522257 7.4141447,-1.03125 6.212805,-0.0832048 5.0115372,0.8647836 3.8101974,1.8128289 3.4990069,3.162527 3.1878352,4.5121441 2.8766447,5.8618421 1.7187269,4.6243174 0.56085532,3.3868422 -0.59703946,2.1493422 Z"
sodipodi:nodetypes="ccccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
Delete24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

111
Delete24.svg Normal file
View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3500001 6.35"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Delete24.svg"
inkscape:export-filename="Delete256.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="17.234835"
inkscape:cx="23.092765"
inkscape:cy="21.323093"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<linearGradient
id="swatch1"
inkscape:swatch="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop1" />
</linearGradient>
<mask
id="gear-b"
fill="#ffffff">
<path
id="use1"
d="M 5.4614991,9.9518025 C 5.6362002,9.9834655 5.8161692,10 6,10 7.6568543,10 9,8.6568543 9,7 9,5.5334927 7.9477401,4.3127538 6.5570585,4.0516214 7.4512289,1.184857 9.2276196,0.04964861 11.886231,0.64599609 l 1.333496,1.11425781 h 1.88623 l 1.036133,2.4746094 -1.782715,1.3344726 v 2.3530274 l 1.782715,2.2880857 -1.036133,1.630371 h -1.88623 l -2.007813,1.098145 v 2.838379 L 8.800293,17.22168 6.2539062,15.043945 H 4.684082 L 2.8081055,17.22168 0.62158203,15.777344 V 12.938965 C 3.0110859,13.747194 4.6243916,12.751473 5.4614991,9.9518025 Z M 6,8 C 5.4477152,8 5,7.5522847 5,7 5,6.4477152 5.4477152,6 6,6 6.5522847,6 7,6.4477152 7,7 7,7.5522847 6.5522847,8 6,8 Z" />
</mask>
<mask
id="gear-d"
fill="#ffffff">
<path
id="use3"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
<mask
id="gear-d-2"
fill="#ffffff">
<path
id="use3-4"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
</defs>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline;mix-blend-mode:normal">
<path
id="rect1-8"
style="fill:#ff0000;stroke:#800000;stroke-width:0.173509;stroke-dasharray:none"
d="m 2.1879454,0.10548604 c -0.086901,0 -0.1568942,0.0956434 -0.1568942,0.21445544 v 0.40372656 c 0,0.11491676 0.065654,0.20732238 0.1485766,0.21331297 H 1.1260707 c -0.085009,0 -0.1534759,0.0935577 -0.1534759,0.20978209 v 0.394899 c 0,0.1162245 0.0684677,0.209782 0.1534759,0.209782 h 4.0978586 c 0.085009,0 0.1534759,-0.093558 0.1534759,-0.209782 v -0.394899 c 0,-0.1162245 -0.068468,-0.20978209 -0.1534759,-0.20978209 H 4.1703722 c 0.082922,-0.005991 0.1485766,-0.0983963 0.1485766,-0.21331297 V 0.31994148 c 0,-0.11881146 -0.069993,-0.21445544 -0.1568941,-0.21445544 z" />
<rect
style="fill:#ff0000;stroke:#800000;stroke-width:0.173509;stroke-dasharray:none"
id="rect2"
width="4.4860158"
height="4.2452002"
x="0.93199211"
y="2.0352938"
ry="0.20979184" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="fill:none">
<path
id="rect3"
style="fill:#ffffff;stroke:#800000;stroke-width:0.173509;stroke-dasharray:none"
d="m 1.8869649,2.6179281 c -0.1162247,0 -0.2098063,0.093582 -0.2098063,0.2098063 v 2.7398845 c 0,0.1162246 0.093582,0.2098063 0.2098063,0.2098063 h 0.085783 c 0.1162247,0 0.2098063,-0.093582 0.2098063,-0.2098063 V 2.8277344 c 0,-0.1162247 -0.093582,-0.2098063 -0.2098063,-0.2098063 z m 1.2448853,0 c -0.1162247,0 -0.2098064,0.093582 -0.2098064,0.2098063 v 2.7398845 c 0,0.1162246 0.093582,0.2098063 0.2098064,0.2098063 h 0.0863 c 0.1162247,0 0.2098063,-0.093582 0.2098063,-0.2098063 V 2.8277344 c 0,-0.1162247 -0.093582,-0.2098063 -0.2098063,-0.2098063 z m 1.245402,0 c -0.1162247,0 -0.2098063,0.093582 -0.2098063,0.2098063 v 2.7398845 c 0,0.1162246 0.093582,0.2098063 0.2098063,0.2098063 h 0.085783 c 0.1162246,0 0.2098063,-0.093582 0.2098063,-0.2098063 V 2.8277344 c 0,-0.1162247 -0.093582,-0.2098063 -0.2098063,-0.2098063 z" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-5"
style="fill:none"
transform="translate(13.958393,-6.902529)">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-1"
style="fill:none"
transform="translate(11.461172,7.6128007)" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Delete256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

132
Delete256.svg Normal file
View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="256"
height="256"
viewBox="0 0 67.733334 67.733333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Delete256.svg"
inkscape:export-filename="Delete256.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="2.1543544"
inkscape:cx="95.620294"
inkscape:cy="127.41636"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1-5" />
<defs
id="defs1">
<linearGradient
id="swatch1"
inkscape:swatch="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop1" />
</linearGradient>
<mask
id="gear-b"
fill="#ffffff">
<path
id="use1"
d="M 5.4614991,9.9518025 C 5.6362002,9.9834655 5.8161692,10 6,10 7.6568543,10 9,8.6568543 9,7 9,5.5334927 7.9477401,4.3127538 6.5570585,4.0516214 7.4512289,1.184857 9.2276196,0.04964861 11.886231,0.64599609 l 1.333496,1.11425781 h 1.88623 l 1.036133,2.4746094 -1.782715,1.3344726 v 2.3530274 l 1.782715,2.2880857 -1.036133,1.630371 h -1.88623 l -2.007813,1.098145 v 2.838379 L 8.800293,17.22168 6.2539062,15.043945 H 4.684082 L 2.8081055,17.22168 0.62158203,15.777344 V 12.938965 C 3.0110859,13.747194 4.6243916,12.751473 5.4614991,9.9518025 Z M 6,8 C 5.4477152,8 5,7.5522847 5,7 5,6.4477152 5.4477152,6 6,6 6.5522847,6 7,6.4477152 7,7 7,7.5522847 6.5522847,8 6,8 Z" />
</mask>
<mask
id="gear-d"
fill="#ffffff">
<path
id="use3"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
<mask
id="gear-d-2"
fill="#ffffff">
<path
id="use3-4"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
</defs>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline;mix-blend-mode:normal">
<path
id="rect1-8"
style="fill:#ff0000;stroke:#800000;stroke-width:2.01904;stroke-dasharray:none"
d="m 20.436479,4.0064738 c -1.182403,0 -2.134754,0.9518342 -2.134754,2.1342367 v 4.0178425 c 0,1.143638 0.893311,2.06325 2.021582,2.122868 H 5.988265 c -1.1566553,0 -2.0882446,0.931072 -2.0882446,2.087728 v 3.929992 c 0,1.156656 0.9315893,2.087728 2.0882446,2.087728 h 55.756804 c 1.156656,0 2.088244,-0.931072 2.088244,-2.087728 v -3.929992 c 0,-1.156656 -0.931588,-2.087728 -2.088244,-2.087728 H 47.410026 c 1.128271,-0.05962 2.021582,-0.97923 2.021582,-2.122868 V 6.1407105 c 0,-1.1824025 -0.95235,-2.1342367 -2.134753,-2.1342367 z" />
<rect
style="fill:#ff0000;stroke:#800000;stroke-width:2.01904;stroke-dasharray:none"
id="rect2"
width="61.0382"
height="42.247768"
x="3.3475666"
y="23.21171"
ry="2.0878255" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="fill:none">
<rect
style="fill:#ffffff;stroke:#800000;stroke-width:2.01904;stroke-dasharray:none"
id="rect3"
width="6.8775434"
height="31.440199"
x="14.065845"
y="29.010948"
ry="2.0878255" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-5"
style="fill:none"
transform="translate(13.958393,-6.902529)">
<rect
style="fill:#ffffff;stroke:#800000;stroke-width:2.01904;stroke-dasharray:none"
id="rect3-5"
width="6.8775434"
height="31.440199"
x="17.05057"
y="35.913479"
ry="2.0878255" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-1"
style="fill:none"
transform="translate(11.461172,7.6128007)">
<rect
style="fill:#ffffff;stroke:#800000;stroke-width:2.01904;stroke-dasharray:none"
id="rect3-52"
width="6.8775434"
height="31.440199"
x="22.532516"
y="28.300676"
ry="2.0878255" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

BIN
Deleteb16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

105
Deleteb16.svg Normal file
View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333334 4.2333333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Deleteb16.svg"
inkscape:export-filename="Deleteb16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="34.46967"
inkscape:cx="10.980668"
inkscape:cy="11.589899"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer2" />
<defs
id="defs1">
<linearGradient
id="swatch1"
inkscape:swatch="solid">
<stop
style="stop-color:#0000ff;stop-opacity:1;"
offset="0"
id="stop1" />
</linearGradient>
<mask
id="gear-b"
fill="#ffffff">
<path
id="use1"
d="M 5.4614991,9.9518025 C 5.6362002,9.9834655 5.8161692,10 6,10 7.6568543,10 9,8.6568543 9,7 9,5.5334927 7.9477401,4.3127538 6.5570585,4.0516214 7.4512289,1.184857 9.2276196,0.04964861 11.886231,0.64599609 l 1.333496,1.11425781 h 1.88623 l 1.036133,2.4746094 -1.782715,1.3344726 v 2.3530274 l 1.782715,2.2880857 -1.036133,1.630371 h -1.88623 l -2.007813,1.098145 v 2.838379 L 8.800293,17.22168 6.2539062,15.043945 H 4.684082 L 2.8081055,17.22168 0.62158203,15.777344 V 12.938965 C 3.0110859,13.747194 4.6243916,12.751473 5.4614991,9.9518025 Z M 6,8 C 5.4477152,8 5,7.5522847 5,7 5,6.4477152 5.4477152,6 6,6 6.5522847,6 7,6.4477152 7,7 7,7.5522847 6.5522847,8 6,8 Z" />
</mask>
<mask
id="gear-d"
fill="#ffffff">
<path
id="use3"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
<mask
id="gear-d-2"
fill="#ffffff">
<path
id="use3-4"
d="M 2,7.8667778 C 3.105406,8.4742181 3.8545971,9.6496176 3.8545971,11 c 0,1.350383 -0.7491911,2.525782 -1.8545971,3.133222 0.1211355,0.347993 0.2618841,0.6868 0.4209221,1.015099 1.2110633,-0.35193 2.5717571,-0.05052 3.526515,0.904242 0.954758,0.954758 1.2561721,2.315452 0.9042424,3.526515 C 7.1799777,19.738116 7.518785,19.878865 7.8667778,20 8.4742181,18.894594 9.6496176,18.145403 11,18.145403 c 1.350383,0 2.525782,0.749191 3.133222,1.854597 0.347993,-0.121135 0.6868,-0.261884 1.015099,-0.420922 -0.35193,-1.211063 -0.05052,-2.571757 0.904242,-3.526515 0.954758,-0.954758 2.315452,-1.256172 3.526515,-0.904242 C 19.738116,14.820022 19.878865,14.481215 20,14.133222 18.894594,13.525782 18.145403,12.350383 18.145403,11 18.145403,9.6496176 18.894594,8.4742181 20,7.8667778 19.878865,7.518785 19.738116,7.1799777 19.579078,6.8516795 18.368015,7.2036092 17.007321,6.9021951 16.052563,5.9474371 15.097805,4.9926792 14.796391,3.6319854 15.148321,2.4209221 14.820022,2.2618841 14.481215,2.1211355 14.133222,2 13.525782,3.105406 12.350383,3.8545971 11,3.8545971 9.6496176,3.8545971 8.4742181,3.105406 7.8667778,2 7.518785,2.1211355 7.1799777,2.2618841 6.8516795,2.4209221 7.2036092,3.6319854 6.9021951,4.9926792 5.9474371,5.9474371 4.9926792,6.9021951 3.6319854,7.2036092 2.4209221,6.8516795 2.2618841,7.1799777 2.1211355,7.518785 2,7.8667778 Z M 0.11116557,7.2092792 C 0.25729984,6.7894708 0.42758029,6.3790103 0.62099958,5.9797399 1.0461962,5.1020175 2.0424795,4.6589712 2.9790261,4.9311276 3.5282187,5.0907205 4.1222792,4.944168 4.5332236,4.5332236 4.944168,4.1222792 5.0907205,3.5282187 4.9311276,2.9790261 4.6589712,2.0424795 5.1020175,1.0461962 5.9797399,0.62099958 6.3790103,0.42758029 6.7894708,0.25729984 7.2092792,0.11116557 8.1309407,-0.20966256 9.1495762,0.18153389 9.6195665,1.0368115 9.8950266,1.5380877 10.418771,1.8545971 11,1.8545971 c 0.581229,0 1.104973,-0.3165094 1.380434,-0.8177856 0.46999,-0.85527761 1.488625,-1.24647406 2.410287,-0.92564593 0.419808,0.14613427 0.830269,0.31641472 1.229539,0.50983401 0.877722,0.42519662 1.320769,1.42147992 1.048612,2.35802652 -0.159593,0.5491926 -0.01304,1.1432531 0.397904,1.5541975 0.410945,0.4109444 1.005005,0.5574969 1.554198,0.397904 0.936546,-0.2721564 1.93283,0.1708899 2.358026,1.0486123 0.19342,0.3992704 0.3637,0.8097309 0.509834,1.2295393 0.320829,0.9216615 -0.07037,1.940297 -0.925646,2.4102873 C 20.461912,9.8950266 20.145403,10.418771 20.145403,11 c 0,0.581229 0.316509,1.104973 0.817785,1.380434 0.855278,0.46999 1.246475,1.488625 0.925646,2.410287 C 21.7427,15.210529 21.57242,15.62099 21.379,16.02026 c -0.425196,0.877722 -1.42148,1.320769 -2.358026,1.048612 -0.549193,-0.159593 -1.143253,-0.01304 -1.554198,0.397904 -0.410944,0.410945 -0.557497,1.005005 -0.397904,1.554198 0.272157,0.936546 -0.17089,1.93283 -1.048612,2.358026 -0.39927,0.19342 -0.809731,0.3637 -1.229539,0.509834 -0.921662,0.320829 -1.940297,-0.07037 -2.410287,-0.925646 C 12.104973,20.461912 11.581229,20.145403 11,20.145403 c -0.581229,0 -1.1049734,0.316509 -1.3804335,0.817785 C 9.1495762,21.818466 8.1309407,22.209663 7.2092792,21.888834 6.7894708,21.7427 6.3790103,21.57242 5.9797399,21.379 5.1020175,20.953804 4.6589712,19.95752 4.9311276,19.020974 5.0907205,18.471781 4.944168,17.877721 4.5332236,17.466776 4.1222792,17.055832 3.5282187,16.909279 2.9790261,17.068872 2.0424795,17.341029 1.0461962,16.897982 0.62099958,16.02026 0.42758029,15.62099 0.25729984,15.210529 0.11116557,14.790721 -0.20966256,13.869059 0.18153389,12.850424 1.0368115,12.380434 1.5380877,12.104973 1.8545971,11.581229 1.8545971,11 1.8545971,10.418771 1.5380877,9.8950266 1.0368115,9.6195665 0.18153389,9.1495762 -0.20966256,8.1309407 0.11116557,7.2092792 Z M 11,15 c 2.209139,0 4,-1.790861 4,-4 0,-2.209139 -1.790861,-4 -4,-4 -2.209139,0 -4,1.790861 -4,4 0,2.209139 1.790861,4 4,4 z m 0,-2 C 9.8954305,13 9,12.10457 9,11 9,9.8954305 9.8954305,9 11,9 c 1.10457,0 2,0.8954305 2,2 0,1.10457 -0.89543,2 -2,2 z" />
</mask>
</defs>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
style="display:inline;mix-blend-mode:normal">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
style="display:inline;mix-blend-mode:normal;fill:none">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-5"
style="display:inline;mix-blend-mode:normal;fill:none"
transform="translate(13.958393,-6.9025289)">
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1-1"
style="fill:none"
transform="translate(11.461172,7.6128007)" />
</g>
<circle
style="display:inline;fill:#ff0000;stroke:#ff0000;stroke-width:0.529167;stroke-dasharray:none"
id="path3"
cx="2.1166668"
cy="2.1166668"
r="1.8520833" />
</g>
<path
id="rect3"
style="fill:#ffffff;stroke:#ff0000;stroke-width:0.114048;stroke-dasharray:none"
d="M 3.0125096,0.73051803 C 2.897083,0.62572986 2.7036642,0.64921598 2.5787546,0.78323999 L 2.0827687,1.3154172 1.5435565,0.82590267 C 1.4077605,0.70262096 1.2130314,0.69513068 1.1068579,0.80905107 L 0.71219373,1.2325117 c -0.10617339,0.1139206 -0.0823769,0.3048159 0.0534189,0.428096 L 1.3048248,2.1501224 0.80883905,2.6822995 C 0.68392912,2.8163234 0.67634017,3.008512 0.7917661,3.1133002 L 1.220827,3.5028129 c 0.1154233,0.1047906 0.3088422,0.081306 0.433752,-0.052719 L 2.1505651,2.9179167 2.6897775,3.4074314 c 0.1357955,0.1232812 0.3305248,0.1307713 0.436698,0.016851 L 3.5211398,3.0008215 C 3.6273127,2.886901 3.6035168,2.6960057 3.4677203,2.5727257 L 2.9285083,2.0832112 3.424494,1.551034 C 3.5494056,1.4170097 3.5569948,1.2248211 3.4415684,1.120033 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,4 +1,4 @@
namespace SSH_Test
namespace FHT
{
partial class FormConfiguration
{
@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormConfiguration));
this.labelIP = new System.Windows.Forms.Label();
this.textBoxSftpIP = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
@@ -40,16 +41,18 @@
this.label5 = new System.Windows.Forms.Label();
this.textBoxTftpIP = new System.Windows.Forms.TextBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.checkBox_Local = new System.Windows.Forms.CheckBox();
this.label3 = new System.Windows.Forms.Label();
this.textBoxIDRACPassword = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBoxIDRACUsername = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.textBoxIDRACIP = new System.Windows.Forms.TextBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.buttonProfilePath = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.buttonTasklistDec = new System.Windows.Forms.Button();
this.buttonTasklistEnc = new System.Windows.Forms.Button();
this.buttonEncryptTaskList = new System.Windows.Forms.Button();
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout();
//
// labelIP
@@ -60,7 +63,6 @@
this.labelIP.Size = new System.Drawing.Size(17, 13);
this.labelIP.TabIndex = 0;
this.labelIP.Text = "IP";
this.labelIP.Click += new System.EventHandler(this.label1_Click);
//
// textBoxSftpIP
//
@@ -68,7 +70,6 @@
this.textBoxSftpIP.Name = "textBoxSftpIP";
this.textBoxSftpIP.Size = new System.Drawing.Size(214, 20);
this.textBoxSftpIP.TabIndex = 1;
this.textBoxSftpIP.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// groupBox1
//
@@ -84,7 +85,6 @@
this.groupBox1.TabIndex = 3;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Sftp";
this.groupBox1.Enter += new System.EventHandler(this.groupBox1_Enter);
//
// label2
//
@@ -94,7 +94,6 @@
this.label2.Size = new System.Drawing.Size(53, 13);
this.label2.TabIndex = 4;
this.label2.Text = "Password";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// textBoxSftpPassword
//
@@ -158,98 +157,103 @@
//
// groupBox3
//
this.groupBox3.Controls.Add(this.checkBox_Local);
this.groupBox3.Controls.Add(this.label3);
this.groupBox3.Controls.Add(this.textBoxIDRACPassword);
this.groupBox3.Controls.Add(this.label4);
this.groupBox3.Controls.Add(this.textBoxIDRACUsername);
this.groupBox3.Controls.Add(this.label6);
this.groupBox3.Controls.Add(this.textBoxIDRACIP);
this.groupBox3.Controls.Add(this.groupBox5);
this.groupBox3.Controls.Add(this.groupBox4);
this.groupBox3.Controls.Add(this.buttonEncryptTaskList);
this.groupBox3.Location = new System.Drawing.Point(307, 12);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(278, 152);
this.groupBox3.Size = new System.Drawing.Size(240, 177);
this.groupBox3.TabIndex = 6;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "IDRAC";
this.groupBox3.Text = "Profile && Encryption";
//
// checkBox_Local
// groupBox5
//
this.checkBox_Local.AutoSize = true;
this.checkBox_Local.Location = new System.Drawing.Point(23, 19);
this.checkBox_Local.Name = "checkBox_Local";
this.checkBox_Local.Size = new System.Drawing.Size(52, 17);
this.checkBox_Local.TabIndex = 6;
this.checkBox_Local.Text = "Local";
this.checkBox_Local.UseVisualStyleBackColor = true;
this.checkBox_Local.CheckedChanged += new System.EventHandler(this.checkBox_Local_CheckedChanged);
this.groupBox5.Controls.Add(this.buttonProfilePath);
this.groupBox5.Location = new System.Drawing.Point(8, 87);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(200, 54);
this.groupBox5.TabIndex = 10;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Profile Path";
//
// label3
// buttonProfilePath
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(20, 105);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 13);
this.label3.TabIndex = 4;
this.label3.Text = "Password";
this.buttonProfilePath.Location = new System.Drawing.Point(15, 18);
this.buttonProfilePath.Name = "buttonProfilePath";
this.buttonProfilePath.Size = new System.Drawing.Size(163, 29);
this.buttonProfilePath.TabIndex = 9;
this.buttonProfilePath.Text = "profile.json";
this.buttonProfilePath.UseVisualStyleBackColor = true;
this.buttonProfilePath.Click += new System.EventHandler(this.buttonProfilePath_Click);
//
// textBoxIDRACPassword
// groupBox4
//
this.textBoxIDRACPassword.Location = new System.Drawing.Point(83, 102);
this.textBoxIDRACPassword.Name = "textBoxIDRACPassword";
this.textBoxIDRACPassword.Size = new System.Drawing.Size(186, 20);
this.textBoxIDRACPassword.TabIndex = 5;
this.textBoxIDRACPassword.UseSystemPasswordChar = true;
this.groupBox4.Controls.Add(this.buttonTasklistDec);
this.groupBox4.Controls.Add(this.buttonTasklistEnc);
this.groupBox4.Location = new System.Drawing.Point(8, 22);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(220, 62);
this.groupBox4.TabIndex = 8;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Tasklist, Profile, Powershell Script File";
//
// label4
// buttonTasklistDec
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(20, 79);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(57, 13);
this.label4.TabIndex = 2;
this.label4.Text = "UserName";
this.buttonTasklistDec.Location = new System.Drawing.Point(123, 19);
this.buttonTasklistDec.Name = "buttonTasklistDec";
this.buttonTasklistDec.Size = new System.Drawing.Size(86, 37);
this.buttonTasklistDec.TabIndex = 8;
this.buttonTasklistDec.Text = "Decrypt";
this.buttonTasklistDec.UseVisualStyleBackColor = true;
this.buttonTasklistDec.Click += new System.EventHandler(this.buttonTasklistDec_Click);
//
// textBoxIDRACUsername
// buttonTasklistEnc
//
this.textBoxIDRACUsername.Location = new System.Drawing.Point(83, 76);
this.textBoxIDRACUsername.Name = "textBoxIDRACUsername";
this.textBoxIDRACUsername.Size = new System.Drawing.Size(186, 20);
this.textBoxIDRACUsername.TabIndex = 3;
this.buttonTasklistEnc.Location = new System.Drawing.Point(11, 19);
this.buttonTasklistEnc.Name = "buttonTasklistEnc";
this.buttonTasklistEnc.Size = new System.Drawing.Size(86, 37);
this.buttonTasklistEnc.TabIndex = 7;
this.buttonTasklistEnc.Text = "Encrypt";
this.buttonTasklistEnc.UseVisualStyleBackColor = true;
this.buttonTasklistEnc.Click += new System.EventHandler(this.buttonTasklistEnc_Click);
//
// label6
// buttonEncryptTaskList
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(56, 53);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(17, 13);
this.label6.TabIndex = 0;
this.label6.Text = "IP";
this.buttonEncryptTaskList.Location = new System.Drawing.Point(23, 43);
this.buttonEncryptTaskList.Name = "buttonEncryptTaskList";
this.buttonEncryptTaskList.Size = new System.Drawing.Size(75, 23);
this.buttonEncryptTaskList.TabIndex = 7;
this.buttonEncryptTaskList.Text = "Encrypt";
this.buttonEncryptTaskList.UseVisualStyleBackColor = true;
//
// textBoxIDRACIP
// openFileDialog
//
this.textBoxIDRACIP.Location = new System.Drawing.Point(83, 50);
this.textBoxIDRACIP.Name = "textBoxIDRACIP";
this.textBoxIDRACIP.Size = new System.Drawing.Size(186, 20);
this.textBoxIDRACIP.TabIndex = 1;
this.openFileDialog.DefaultExt = "json";
this.openFileDialog.FileName = "*.json";
this.openFileDialog.Filter = "json file|*.json|Powershell scrips|*.ps1";
this.openFileDialog.Title = "File Path";
//
// FormConfiguration
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(586, 228);
this.ClientSize = new System.Drawing.Size(552, 228);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.groupBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FormConfiguration";
this.Text = "FormConfiguration";
this.Text = "Configuration";
this.Load += new System.EventHandler(this.FormConfiguration_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox4.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -268,12 +272,12 @@
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBoxTftpIP;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBoxIDRACPassword;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBoxIDRACUsername;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBoxIDRACIP;
private System.Windows.Forms.CheckBox checkBox_Local;
private System.Windows.Forms.Button buttonEncryptTaskList;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.Button buttonTasklistDec;
private System.Windows.Forms.Button buttonTasklistEnc;
private System.Windows.Forms.OpenFileDialog openFileDialog;
private System.Windows.Forms.Button buttonProfilePath;
private System.Windows.Forms.GroupBox groupBox5;
}
}

View File

@@ -1,14 +1,18 @@
using System;
using log4net;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Security.Cryptography;
namespace SSH_Test
namespace FHT
{
public partial class FormConfiguration : Form
{
@@ -16,57 +20,42 @@ namespace SSH_Test
public string Sftp_IP { get; set; }
public string Sftp_Username { get; set; }
public string Sftp_Password { get; set; }
public string IDRAC_IP { get; set; }
public string IDRAC_Username { get; set; }
public string IDRAC_Password { get; set; }
public bool IDRAC_Local { get; set; }
public bool bEncryption { get; set; }
public string sTasklistPath { get; set; }
public string sProfilePath { get; set; }
public Aes aes { get; set; }
public FormConfiguration(string tftp_IP, string sftpIP, string sftp_Username, string sftp_Password, string idrac_IP, string idrac_Username, string idrac_Password, bool iDRAC_Local)
public static ILog log;
public FormConfiguration(string tftp_IP, string sftpIP, string sftp_Username, string sftp_Password, bool bencryption
, Aes aaes, string sprofilepath, ILog Log)
{
InitializeComponent();
this.textBoxTftpIP.Text = Tftp_IP = tftp_IP;
this.textBoxSftpIP.Text = Sftp_IP = sftpIP;
this.textBoxSftpUsername.Text = Sftp_Username = sftp_Username;
this.textBoxSftpPassword.Text = Sftp_Password = sftp_Password;
this.textBoxIDRACIP.Text = IDRAC_IP = idrac_IP;
this.textBoxIDRACUsername.Text = IDRAC_Username = idrac_Username;
this.textBoxIDRACPassword.Text = IDRAC_Password = idrac_Password;
this.checkBox_Local.Checked = iDRAC_Local;
buttonProfilePath.Text = sProfilePath = sprofilepath;
aes = aaes;
log = Log;
this.Update();
}
private void groupBox1_Enter(object sender, EventArgs e)
public void AdminDisable()
{
buttonTasklistEnc.Enabled = false;
buttonTasklistDec.Enabled = false;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void buttonOK_Click(object sender, EventArgs e)
{
Tftp_IP = textBoxTftpIP.Text;
Sftp_IP = textBoxSftpIP.Text;
Sftp_Username = textBoxSftpUsername.Text;
Sftp_Password = textBoxSftpPassword.Text;
IDRAC_IP = textBoxIDRACIP.Text;
IDRAC_Username= textBoxIDRACUsername.Text;
IDRAC_Password= textBoxIDRACPassword.Text;
IDRAC_Local=checkBox_Local.Checked;
this.Close();
}
@@ -75,19 +64,89 @@ namespace SSH_Test
}
private void checkBox_Local_CheckedChanged(object sender, EventArgs e)
{
if (checkBox_Local.Checked)
{
checkBox_Local.Checked = true;
IDRAC_Local = checkBox_Local.Checked;
}
else
{
checkBox_Local.Checked = false;
IDRAC_Local = checkBox_Local.Checked;
}
private void buttonTasklistEnc_Click(object sender, EventArgs e)
{
Utilities utilities = new Utilities(log);
//Enable selecting multiple files
openFileDialog.Multiselect = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string[] Jsonfilenames = openFileDialog.FileNames;
foreach (string Jsonfilename in Jsonfilenames)
{
if (File.Exists(Jsonfilename))
{
try
{
//read tasklist data from file
string sData = File.ReadAllText(Jsonfilename);
log.Info(string.Format("Read {0} to String", Jsonfilename));
//encrypt data
byte[] bData = Utilities.EncryptStringAES(sData, aes.Key);
//write encrypted data to file
File.WriteAllBytes(Jsonfilename, bData);
}
catch (Exception ex)
{
//could not read tasklist.json properly
log.Error(string.Format("Could not load {0} for encrypting", Jsonfilename));
log.Error(ex);
}
}
}
}
//disable multiselect
openFileDialog.Multiselect = false;
}
private void buttonTasklistDec_Click(object sender, EventArgs e)
{
Utilities utilities = new Utilities(log);
//Enable selecting multiple files
openFileDialog.Multiselect = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string[] Jsonfilenames = openFileDialog.FileNames;
foreach (string JsonFileName in Jsonfilenames)
{
if (File.Exists(JsonFileName))
{
try
{
//read json data from file
byte[] bData = File.ReadAllBytes(JsonFileName);
//decrypt data and save to file
File.WriteAllText(JsonFileName, Utilities.DecryptStringFromBytes(bData, aes.Key));
}
catch (Exception ex)
{
//could not read tasklist.json properly
log.Error(string.Format("Could not load {0} for encrypting", JsonFileName));
log.Error(ex);
}
}
}
}
}
private void buttonProfilePath_Click(object sender, EventArgs e)
{
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
sProfilePath = openFileDialog.FileName;
buttonProfilePath.Text = openFileDialog.SafeFileName;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormCredential));
this.textBoxUserName = new System.Windows.Forms.TextBox();
this.textBoxPassword = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
@@ -105,6 +106,7 @@
this.Controls.Add(this.label1);
this.Controls.Add(this.textBoxPassword);
this.Controls.Add(this.textBoxUserName);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FormCredential";
this.Text = "Credential";
this.ResumeLayout(false);

File diff suppressed because it is too large Load Diff

125
FormParameters.Designer.cs generated Normal file
View File

@@ -0,0 +1,125 @@
namespace SSH_Test
{
partial class FormParameters
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormParameters));
this.buttonOK = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.dataGridViewParameters = new System.Windows.Forms.DataGridView();
this.Parameters = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Values = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.richTextBoxHelper = new System.Windows.Forms.RichTextBox();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewParameters)).BeginInit();
this.SuspendLayout();
//
// buttonOK
//
this.buttonOK.Location = new System.Drawing.Point(207, 191);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(120, 30);
this.buttonOK.TabIndex = 2;
this.buttonOK.Text = "OK";
this.buttonOK.UseCompatibleTextRendering = true;
this.buttonOK.UseVisualStyleBackColor = true;
this.buttonOK.Click += new System.EventHandler(this.bOK_Click);
//
// buttonCancel
//
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(81, 191);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(120, 30);
this.buttonCancel.TabIndex = 3;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.UseCompatibleTextRendering = true;
this.buttonCancel.UseVisualStyleBackColor = true;
//
// dataGridViewParameters
//
this.dataGridViewParameters.AllowDrop = true;
this.dataGridViewParameters.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridViewParameters.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Parameters,
this.Values});
this.dataGridViewParameters.Location = new System.Drawing.Point(13, 13);
this.dataGridViewParameters.Name = "dataGridViewParameters";
this.dataGridViewParameters.Size = new System.Drawing.Size(396, 172);
this.dataGridViewParameters.TabIndex = 1;
this.dataGridViewParameters.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewParameters_CellClick);
this.dataGridViewParameters.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewParameters_CellEndEdit);
this.dataGridViewParameters.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dataGridViewParameters_CellFormatting);
//
// Parameters
//
this.Parameters.HeaderText = "Parameters";
this.Parameters.Name = "Parameters";
this.Parameters.Width = 150;
//
// Values
//
this.Values.HeaderText = "Values";
this.Values.Name = "Values";
this.Values.Width = 200;
//
// richTextBoxHelper
//
this.richTextBoxHelper.Location = new System.Drawing.Point(415, 13);
this.richTextBoxHelper.Name = "richTextBoxHelper";
this.richTextBoxHelper.Size = new System.Drawing.Size(682, 208);
this.richTextBoxHelper.TabIndex = 4;
this.richTextBoxHelper.Text = "";
//
// FormParameters
//
this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(1098, 222);
this.Controls.Add(this.richTextBoxHelper);
this.Controls.Add(this.dataGridViewParameters);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FormParameters";
this.Text = "Parameters Input Form";
((System.ComponentModel.ISupportInitialize)(this.dataGridViewParameters)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button buttonOK;
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.DataGridView dataGridViewParameters;
private System.Windows.Forms.RichTextBox richTextBoxHelper;
private System.Windows.Forms.DataGridViewTextBoxColumn Parameters;
private System.Windows.Forms.DataGridViewTextBoxColumn Values;
}
}

107
FormParameters.cs Normal file
View File

@@ -0,0 +1,107 @@
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using TextBox = System.Windows.Forms.TextBox;
namespace SSH_Test
{
public partial class FormParameters : Form
{
public Dictionary <string,string> dParameters{ get; set; }
public FormParameters(Dictionary<string, string> parameters, string helpertext, string formtext)
{
InitializeComponent();
dParameters = new Dictionary<string, string>();
dParameters = parameters;
this.Text = formtext;
for (int i = 0; i < parameters.Count; i++)
{
string sKey = parameters.ElementAt(i).Key;
dataGridViewParameters.Rows.Add(sKey, parameters[sKey]);
}
this.dataGridViewParameters.AllowUserToAddRows = false;
// Put edit cursor on the first row
this.dataGridViewParameters.CurrentCell = dataGridViewParameters.Rows[0].Cells[1];
this.dataGridViewParameters.CellEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewParameters_CellEnter);
this.dataGridViewParameters.Focus();
this.dataGridViewParameters.AllowDrop = true;
this.dataGridViewParameters.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
this.richTextBoxHelper.Text = helpertext;
richTextBoxHelper.SelectionStart = richTextBoxHelper.Text.Length;
richTextBoxHelper.ScrollToCaret();
}
private void bOK_Click(object sender, EventArgs e)
{
for (int i = 0; i < dParameters.Count; i++)
{
if (dataGridViewParameters.Rows[i].Cells[1].Value != null)
dParameters[dataGridViewParameters.Rows[i].Cells[0].Value.ToString()] = dataGridViewParameters.Rows[i].Cells[1].Value.ToString().TrimEnd().TrimStart();
}
this.DialogResult = DialogResult.OK;
this.Close();
}
//to skip TAB stop at the colummn "parameters" 1
private void dataGridViewParameters_CellEnter(object sender, DataGridViewCellEventArgs e)
{
// Check if the current column is the one you want to skip
if (e.ColumnIndex == 0) // Use the zero-based index of your column
{
// Send a Tab key press to move to the next cell
SendKeys.Send("{TAB}");
}
}
private void dataGridViewParameters_CellClick(object sender, DataGridViewCellEventArgs e)
{
// Ensure the click is on a valid cell and not the header
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
// Set the cell as the current cell (if not already)
dataGridViewParameters.CurrentCell = dataGridViewParameters.Rows[e.RowIndex].Cells[e.ColumnIndex];
// Start the edit mode immediately
dataGridViewParameters.BeginEdit(true);
}
}
private void dataGridViewParameters_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
string sTemp = (string)dataGridViewParameters.Rows[e.RowIndex].Cells[1].Value;
if (sTemp != null)
dParameters[(string)dataGridViewParameters.Rows[e.RowIndex].Cells[0].Value] = sTemp;
if (e.RowIndex == dataGridViewParameters.RowCount - 1)
dataGridViewParameters.Rows[e.RowIndex].Cells[1].Selected = false;
}
private void dataGridViewParameters_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
//mask password cells
// check if it is the value column
if (e.ColumnIndex == 1 && e.Value != null)
if (dParameters.ElementAt(e.RowIndex).Key.Contains("Password"))
{
e.Value = new String('*', e.Value.ToString().Length);
e.FormattingApplied = true;
}
}
}
}

1158
FormParameters.resx Normal file

File diff suppressed because it is too large Load Diff

BIN
Load24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

74
Load24.svg Normal file
View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3499999 6.3499999"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Load24.svg"
inkscape:export-filename="Load24b.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="22.627417"
inkscape:cx="8.2643105"
inkscape:cy="12.352272"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
</g>
<path
id="path4"
style="fill:#ff0000;stroke:#ff0000;stroke-width:0.361969;stroke-opacity:1"
inkscape:label="Triangle"
d="M 3.175 0.42478027 L 0.93275959 2.0443196 L 5.4172403 2.0443196 L 3.175 0.42478027 z M 1.5570109 2.5331787 L 1.5570109 4.0385131 L 4.792989 4.0385131 L 4.792989 2.5331787 L 1.5570109 2.5331787 z " />
<rect
style="fill:#067922;stroke:#ff0000;stroke-width:0.59395;stroke-dasharray:none;stroke-opacity:1"
id="rect4-5"
width="4.9236631"
height="0.62062359"
x="0.71316838"
y="5.1615062" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
Load24b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -2,21 +2,30 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace SSH_Test
{
internal class Profile
public class Profile
{
public string ProfileName { get; set; }
public string ProfileType { get; set; }
public string[] ProfileCommands { get; set; }
public Profile(string profileName, string profileType, string[] profileCommands)
public string[] ProfileParameters { get; set; }
public Profile() {
ProfileName = "Do nothing";
ProfileType = "";
}
public Profile(string profileName, string profileType, string[] profileCommands, string[] profileParameters)
{
ProfileName = profileName;
ProfileType = profileType;
ProfileCommands = profileCommands;
ProfileParameters = profileParameters;
}
}

BIN
Run16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

67
Run16.svg Normal file
View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333333 4.2333333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Run16.svg"
inkscape:export-filename="Run16b.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="22.627417"
inkscape:cx="11.048543"
inkscape:cy="-1.5688932"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
</g>
<path
style="fill:#00ff00;stroke:#067922;stroke-width:0.620305;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="Triangle"
d="M 0.30831961,0.50240187 V 3.7309486 L 3.5398397,2.1166752 Z"
id="path4" />
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Run16b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
Run24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

67
Run24.svg Normal file
View File

@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3499999 6.3499999"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Run24.svg"
inkscape:export-filename="Run24.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="22.627417"
inkscape:cx="8.2643105"
inkscape:cy="12.352272"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
</g>
<path
style="fill:#067922;stroke:#00ff00;stroke-width:0.930391;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="Triangle"
d="M 0.46363084,0.75275096 V 5.5969601 L 5.3088367,3.1748555 Z"
id="path4" />
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Run24b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

View File

@@ -5,9 +5,9 @@
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{73DED4CD-B2B1-491E-87B7-BC1F11759C53}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>SSH_Test</RootNamespace>
<AssemblyName>SSH_Test</AssemblyName>
<OutputType>Exe</OutputType>
<RootNamespace>FHT</RootNamespace>
<AssemblyName>FHT</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
@@ -15,7 +15,8 @@
<IsWebBootstrapper>false</IsWebBootstrapper>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>D:\Shared\VS\</PublishUrl>
<TargetFrameworkProfile />
<PublishUrl>D:\Shared\VS\Publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
@@ -25,11 +26,12 @@
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
<BootstrapperEnabled>false</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -40,6 +42,8 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -49,9 +53,11 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
<StartupObject>
</StartupObject>
</PropertyGroup>
<PropertyGroup>
<TargetZone>LocalIntranet</TargetZone>
@@ -59,9 +65,7 @@
<PropertyGroup>
<GenerateManifests>false</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup>
<ManifestCertificateThumbprint>4A871742B5537E7E2FE907BD60809E3A6E6EEDBF</ManifestCertificateThumbprint>
</PropertyGroup>
@@ -69,17 +73,24 @@
<ManifestKeyFile>SSH_Test_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>main256.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>packages\BouncyCastle.Cryptography.2.6.2\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
<Reference Include="log4net, Version=3.3.1.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>packages\log4net.3.3.1\lib\net462\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Bcl.AsyncInterfaces.10.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Bcl.AsyncInterfaces.10.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
@@ -99,8 +110,11 @@
<Reference Include="System.Formats.Asn1, Version=8.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Formats.Asn1.8.0.2\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.IO.Pipelines.10.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=10.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.IO.Pipelines.10.0.2\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.PowerShell.5.1.ReferenceAssemblies.1.0.0\lib\net461\System.Management.Automation.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
@@ -128,7 +142,6 @@
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
@@ -145,11 +158,11 @@
<Compile Include="FormCredential.Designer.cs">
<DependentUpon>FormCredential.cs</DependentUpon>
</Compile>
<Compile Include="FormProfile.cs">
<Compile Include="FormParameters.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormProfile.Designer.cs">
<DependentUpon>FormProfile.cs</DependentUpon>
<Compile Include="FormParameters.Designer.cs">
<DependentUpon>FormParameters.cs</DependentUpon>
</Compile>
<Compile Include="Profile.cs" />
<Compile Include="TastList.cs">
@@ -160,14 +173,15 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utilities.cs" />
<EmbeddedResource Include="FormConfiguration.resx">
<DependentUpon>FormConfiguration.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FormCredential.resx">
<DependentUpon>FormCredential.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FormProfile.resx">
<DependentUpon>FormProfile.cs</DependentUpon>
<EmbeddedResource Include="FormParameters.resx">
<DependentUpon>FormParameters.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TastList.resx">
<DependentUpon>TastList.cs</DependentUpon>
@@ -182,10 +196,14 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="log4net.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
<None Include="profile.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Properties\app.manifest" />
<None Include="Properties\DataSources\Profile.datasource" />
<None Include="Properties\DataSources\Program.datasource" />
@@ -198,9 +216,9 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="tasklist.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.8">
@@ -216,14 +234,16 @@
</ItemGroup>
<ItemGroup>
<None Include="SSH_Test_TemporaryKey.pfx" />
<None Include="unicorn.jpg" />
</ItemGroup>
<ItemGroup>
<Content Include="main256.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets" Condition="Exists('packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets'))" />
</Target>
<Import Project="packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets" Condition="Exists('packages\System.ValueTuple.4.6.1\build\net471\System.ValueTuple.targets')" />
</Project>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>D:\Shared\VS\|publish\</PublishUrlHistory>
<PublishUrlHistory>D:\Shared\VS\Publish\|D:\Shared\VS\|publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />

BIN
Save24.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

74
Save24.svg Normal file
View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="24"
height="24"
viewBox="0 0 6.3499999 6.3499999"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="Save24.svg"
inkscape:export-filename="Save24b.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="22.627417"
inkscape:cx="8.2643105"
inkscape:cy="12.352272"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
</g>
<path
id="path4"
style="fill:#0000ff;stroke:#0000ff;stroke-width:0.361969;stroke-opacity:1"
inkscape:label="Triangle"
d="M 3.175,3.9962404 0.93275959,2.376701 H 5.4172403 Z M 1.5570109,1.8878419 V 0.38250754 H 4.792989 V 1.8878419 Z" />
<rect
style="fill:#0000ff;stroke:#0000ff;stroke-width:0.59395;stroke-dasharray:none;stroke-opacity:1"
id="rect4-5"
width="4.9236631"
height="0.62062359"
x="0.71316838"
y="5.1615062" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
Save24b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

382
TastList.Designer.cs generated
View File

@@ -29,205 +29,409 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.bRunAll = new System.Windows.Forms.Button();
this.dataGridViewTask = new System.Windows.Forms.DataGridView();
this.buttonSave = new System.Windows.Forms.Button();
this.buttonLoad = new System.Windows.Forms.Button();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TastList));
this.buttonConf = new System.Windows.Forms.Button();
this.richTextBoxOutput = new System.Windows.Forms.RichTextBox();
this.dataGridViewTask = new System.Windows.Forms.DataGridView();
this.contextMenuStripRow = new System.Windows.Forms.ContextMenuStrip(this.components);
this.MoveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.DeleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.dataGridViewImageColumn1 = new System.Windows.Forms.DataGridViewImageColumn();
this.dataGridViewImageColumn2 = new System.Windows.Forms.DataGridViewImageColumn();
this.buttonUncheckAll = new System.Windows.Forms.Button();
this.buttonCheckAll = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.profileCommandsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.profileBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.profileBindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.programBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.programBindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.buttonLoad = new System.Windows.Forms.Button();
this.buttonSave = new System.Windows.Forms.Button();
this.bRun = new System.Windows.Forms.Button();
this.checkBoxArrangeTask = new System.Windows.Forms.CheckBox();
this.openFileDialogTasklist = new System.Windows.Forms.OpenFileDialog();
this.buttonTasklistPath = new System.Windows.Forms.Button();
this.toolTipbuttonTasklist = new System.Windows.Forms.ToolTip(this.components);
this.toolTipGeneralConf = new System.Windows.Forms.ToolTip(this.components);
this.buttonAESString = new System.Windows.Forms.Button();
this.TaskNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TaskDescription = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TaskDevice = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.TaskIp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Port = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Run = new System.Windows.Forms.DataGridViewButtonColumn();
this.Configuration = new System.Windows.Forms.DataGridViewButtonColumn();
this.Select = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.Run = new System.Windows.Forms.DataGridViewImageColumn();
this.Status = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Profile = new System.Windows.Forms.DataGridViewComboBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewTask)).BeginInit();
this.contextMenuStripRow.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.profileCommandsBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.profileBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.profileBindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.programBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.programBindingSource1)).BeginInit();
this.SuspendLayout();
//
// bRunAll
// buttonConf
//
this.bRunAll.Location = new System.Drawing.Point(737, 9);
this.bRunAll.Name = "bRunAll";
this.bRunAll.Size = new System.Drawing.Size(137, 50);
this.bRunAll.TabIndex = 1;
this.bRunAll.Text = "Run All";
this.bRunAll.UseVisualStyleBackColor = true;
this.bRunAll.Click += new System.EventHandler(this.bRunAll_Click);
this.buttonConf.Location = new System.Drawing.Point(725, 12);
this.buttonConf.Name = "buttonConf";
this.buttonConf.Size = new System.Drawing.Size(96, 50);
this.buttonConf.TabIndex = 6;
this.buttonConf.Text = "General Configuration";
this.buttonConf.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonConf.UseVisualStyleBackColor = true;
this.buttonConf.Click += new System.EventHandler(this.buttonConf_Click);
//
// richTextBoxOutput
//
this.richTextBoxOutput.Dock = System.Windows.Forms.DockStyle.Bottom;
this.richTextBoxOutput.Location = new System.Drawing.Point(0, 549);
this.richTextBoxOutput.Name = "richTextBoxOutput";
this.richTextBoxOutput.ReadOnly = true;
this.richTextBoxOutput.Size = new System.Drawing.Size(1094, 245);
this.richTextBoxOutput.TabIndex = 7;
this.richTextBoxOutput.TabStop = false;
this.richTextBoxOutput.Text = "";
//
// dataGridViewTask
//
this.dataGridViewTask.AllowDrop = true;
this.dataGridViewTask.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.dataGridViewTask.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridViewTask.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.TaskNum,
this.TaskDescription,
this.TaskDevice,
this.TaskIp,
this.Port,
this.Select,
this.Run,
this.Configuration,
this.Status,
this.Profile});
this.dataGridViewTask.Location = new System.Drawing.Point(12, 65);
this.dataGridViewTask.ContextMenuStrip = this.contextMenuStripRow;
this.dataGridViewTask.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridViewTask.Location = new System.Drawing.Point(3, 16);
this.dataGridViewTask.Name = "dataGridViewTask";
this.dataGridViewTask.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
this.dataGridViewTask.Size = new System.Drawing.Size(1023, 373);
this.dataGridViewTask.Size = new System.Drawing.Size(1087, 462);
this.dataGridViewTask.TabIndex = 2;
this.dataGridViewTask.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewTask_CellClick);
this.dataGridViewTask.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewTask_CellContentClick);
this.dataGridViewTask.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewTask_CellEndEdit);
this.dataGridViewTask.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridViewTask_CellMouseDown);
this.dataGridViewTask.CellToolTipTextNeeded += new System.Windows.Forms.DataGridViewCellToolTipTextNeededEventHandler(this.dataGridViewTask_CellToolTipTextNeeded);
this.dataGridViewTask.DragDrop += new System.Windows.Forms.DragEventHandler(this.dataGridViewTask_DragDrop);
this.dataGridViewTask.DragEnter += new System.Windows.Forms.DragEventHandler(this.dataGridViewTask_DragEnter);
//
// buttonSave
// contextMenuStripRow
//
this.buttonSave.Location = new System.Drawing.Point(114, 9);
this.buttonSave.Name = "buttonSave";
this.buttonSave.Size = new System.Drawing.Size(96, 50);
this.buttonSave.TabIndex = 3;
this.buttonSave.Text = "Save Task List";
this.buttonSave.UseVisualStyleBackColor = true;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
this.contextMenuStripRow.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.MoveToolStripMenuItem,
this.DeleteToolStripMenuItem});
this.contextMenuStripRow.Name = "contextMenuStrip1";
this.contextMenuStripRow.Size = new System.Drawing.Size(148, 48);
//
// buttonLoad
// MoveToolStripMenuItem
//
this.buttonLoad.Location = new System.Drawing.Point(12, 9);
this.buttonLoad.Name = "buttonLoad";
this.buttonLoad.Size = new System.Drawing.Size(96, 50);
this.buttonLoad.TabIndex = 4;
this.buttonLoad.Text = "Load Tasklist";
this.buttonLoad.UseMnemonic = false;
this.buttonLoad.UseVisualStyleBackColor = true;
this.buttonLoad.Click += new System.EventHandler(this.buttonLoad_Click);
this.MoveToolStripMenuItem.AutoToolTip = true;
this.MoveToolStripMenuItem.CheckOnClick = true;
this.MoveToolStripMenuItem.Image = global::SSH_Test.Properties.Resources.Arrange16;
this.MoveToolStripMenuItem.Name = "MoveToolStripMenuItem";
this.MoveToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
this.MoveToolStripMenuItem.Text = "Arrange Tasks";
this.MoveToolStripMenuItem.Click += new System.EventHandler(this.MoveToolStripMenuItem_Click);
//
// buttonConf
// DeleteToolStripMenuItem
//
this.buttonConf.Location = new System.Drawing.Point(216, 9);
this.buttonConf.Name = "buttonConf";
this.buttonConf.Size = new System.Drawing.Size(96, 50);
this.buttonConf.TabIndex = 5;
this.buttonConf.Text = "General Configuration";
this.buttonConf.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonConf.UseVisualStyleBackColor = true;
this.buttonConf.Click += new System.EventHandler(this.buttonConf_Click);
this.DeleteToolStripMenuItem.Image = global::SSH_Test.Properties.Resources.Deleteb16;
this.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem";
this.DeleteToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
this.DeleteToolStripMenuItem.Text = "Delete";
this.DeleteToolStripMenuItem.Click += new System.EventHandler(this.DeleteToolStripMenuItem_Click);
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.groupBox1.Controls.Add(this.dataGridViewTask);
this.groupBox1.Location = new System.Drawing.Point(0, 65);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(1093, 481);
this.groupBox1.TabIndex = 8;
this.groupBox1.TabStop = false;
//
// dataGridViewImageColumn1
//
this.dataGridViewImageColumn1.FillWeight = 47.00047F;
this.dataGridViewImageColumn1.HeaderText = "Run";
this.dataGridViewImageColumn1.Name = "dataGridViewImageColumn1";
this.dataGridViewImageColumn1.ReadOnly = true;
this.dataGridViewImageColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridViewImageColumn1.ToolTipText = "Run a Task";
this.dataGridViewImageColumn1.Width = 30;
//
// dataGridViewImageColumn2
//
this.dataGridViewImageColumn2.FillWeight = 47.00047F;
this.dataGridViewImageColumn2.HeaderText = "Run";
this.dataGridViewImageColumn2.Image = global::SSH_Test.Properties.Resources.Run16b;
this.dataGridViewImageColumn2.Name = "dataGridViewImageColumn2";
this.dataGridViewImageColumn2.ReadOnly = true;
this.dataGridViewImageColumn2.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridViewImageColumn2.ToolTipText = "Run a Task";
this.dataGridViewImageColumn2.Width = 30;
//
// buttonUncheckAll
//
this.buttonUncheckAll.Image = global::SSH_Test.Properties.Resources.Unckeck16;
this.buttonUncheckAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonUncheckAll.Location = new System.Drawing.Point(531, 37);
this.buttonUncheckAll.Name = "buttonUncheckAll";
this.buttonUncheckAll.Size = new System.Drawing.Size(90, 25);
this.buttonUncheckAll.TabIndex = 5;
this.buttonUncheckAll.Text = "Uncheck All";
this.buttonUncheckAll.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonUncheckAll.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonUncheckAll.UseVisualStyleBackColor = true;
this.buttonUncheckAll.Click += new System.EventHandler(this.buttonUncheckAll_Click);
//
// buttonCheckAll
//
this.buttonCheckAll.Image = global::SSH_Test.Properties.Resources.Check16b;
this.buttonCheckAll.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonCheckAll.Location = new System.Drawing.Point(531, 12);
this.buttonCheckAll.Name = "buttonCheckAll";
this.buttonCheckAll.Size = new System.Drawing.Size(90, 25);
this.buttonCheckAll.TabIndex = 4;
this.buttonCheckAll.Text = " Check All";
this.buttonCheckAll.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.buttonCheckAll.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonCheckAll.UseVisualStyleBackColor = true;
this.buttonCheckAll.Click += new System.EventHandler(this.buttonCheckAll_Click);
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(349, 4);
this.pictureBox1.Location = new System.Drawing.Point(884, 9);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(206, 55);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 6;
this.pictureBox1.TabStop = false;
//
// profileCommandsBindingSource
// buttonLoad
//
this.profileCommandsBindingSource.DataMember = "ProfileCommands";
this.profileCommandsBindingSource.DataSource = this.profileBindingSource;
this.buttonLoad.Image = global::SSH_Test.Properties.Resources.Load24b;
this.buttonLoad.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonLoad.Location = new System.Drawing.Point(6, 35);
this.buttonLoad.Name = "buttonLoad";
this.buttonLoad.Size = new System.Drawing.Size(80, 30);
this.buttonLoad.TabIndex = 1;
this.buttonLoad.Text = "ReLoad";
this.buttonLoad.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonLoad.UseMnemonic = false;
this.buttonLoad.UseVisualStyleBackColor = true;
this.buttonLoad.Click += new System.EventHandler(this.buttonLoad_Click);
//
// buttonSave
//
this.buttonSave.Image = global::SSH_Test.Properties.Resources.Save24b;
this.buttonSave.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonSave.Location = new System.Drawing.Point(91, 35);
this.buttonSave.Name = "buttonSave";
this.buttonSave.Size = new System.Drawing.Size(80, 30);
this.buttonSave.TabIndex = 2;
this.buttonSave.Text = "Save";
this.buttonSave.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonSave.UseVisualStyleBackColor = true;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
//
// bRun
//
this.bRun.Image = global::SSH_Test.Properties.Resources.Run24;
this.bRun.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.bRun.Location = new System.Drawing.Point(629, 12);
this.bRun.Name = "bRun";
this.bRun.Size = new System.Drawing.Size(90, 50);
this.bRun.TabIndex = 3;
this.bRun.Text = "Run Selected Tasks";
this.bRun.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.bRun.UseVisualStyleBackColor = true;
this.bRun.Click += new System.EventHandler(this.bRun_Click);
//
// checkBoxArrangeTask
//
this.checkBoxArrangeTask.AutoSize = true;
this.checkBoxArrangeTask.Image = global::SSH_Test.Properties.Resources.Arrange24;
this.checkBoxArrangeTask.Location = new System.Drawing.Point(182, 38);
this.checkBoxArrangeTask.Name = "checkBoxArrangeTask";
this.checkBoxArrangeTask.Size = new System.Drawing.Size(119, 24);
this.checkBoxArrangeTask.TabIndex = 9;
this.checkBoxArrangeTask.Text = "Arrange Tasks";
this.checkBoxArrangeTask.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.checkBoxArrangeTask.UseVisualStyleBackColor = true;
this.checkBoxArrangeTask.CheckedChanged += new System.EventHandler(this.checkBoxArrangeTask_CheckedChanged);
//
// openFileDialogTasklist
//
this.openFileDialogTasklist.DefaultExt = "json";
this.openFileDialogTasklist.FileName = "tasklisk.json";
this.openFileDialogTasklist.Filter = "json file (*.json)|*.json";
this.openFileDialogTasklist.Title = "Task list file";
//
// buttonTasklistPath
//
this.buttonTasklistPath.AccessibleDescription = "Choose Task list file";
this.buttonTasklistPath.Location = new System.Drawing.Point(6, 2);
this.buttonTasklistPath.Margin = new System.Windows.Forms.Padding(1);
this.buttonTasklistPath.Name = "buttonTasklistPath";
this.buttonTasklistPath.Size = new System.Drawing.Size(165, 30);
this.buttonTasklistPath.TabIndex = 10;
this.buttonTasklistPath.Text = "tasklist.json";
this.buttonTasklistPath.UseVisualStyleBackColor = true;
this.buttonTasklistPath.Click += new System.EventHandler(this.buttonTasklistPath_Click);
//
// buttonAESString
//
this.buttonAESString.Image = global::SSH_Test.Properties.Resources.Encryption24;
this.buttonAESString.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonAESString.Location = new System.Drawing.Point(182, 2);
this.buttonAESString.Name = "buttonAESString";
this.buttonAESString.Size = new System.Drawing.Size(80, 30);
this.buttonAESString.TabIndex = 11;
this.buttonAESString.Text = "AES";
this.buttonAESString.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
this.buttonAESString.UseVisualStyleBackColor = true;
this.buttonAESString.Click += new System.EventHandler(this.buttonAESString_Click);
//
// TaskNum
//
this.TaskNum.ContextMenuStrip = this.contextMenuStripRow;
this.TaskNum.FillWeight = 111.9059F;
this.TaskNum.HeaderText = "Task #";
this.TaskNum.Name = "TaskNum";
this.TaskNum.ReadOnly = true;
this.TaskNum.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.TaskNum.ToolTipText = "sfasfsfsfsaf";
this.TaskNum.Width = 50;
//
// TaskDescription
//
this.TaskDescription.FillWeight = 47.00047F;
this.TaskDescription.HeaderText = "Description";
this.TaskDescription.MinimumWidth = 50;
this.TaskDescription.Name = "TaskDescription";
this.TaskDescription.Width = 200;
this.TaskDescription.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.TaskDescription.Width = 300;
//
// TaskDevice
//
this.TaskDevice.FillWeight = 406.0913F;
this.TaskDevice.HeaderText = "Device";
this.TaskDevice.Name = "TaskDevice";
this.TaskDevice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.TaskDevice.Width = 80;
//
// TaskIp
//
this.TaskIp.FillWeight = 47.00047F;
this.TaskIp.HeaderText = "IP";
this.TaskIp.Name = "TaskIp";
this.TaskIp.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.TaskIp.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.TaskIp.ToolTipText = "IP address";
this.TaskIp.Width = 80;
//
// Port
// Select
//
this.Port.HeaderText = "Port";
this.Port.Name = "Port";
this.Port.ToolTipText = "Port SSH=22";
this.Port.Width = 50;
this.Select.FillWeight = 47.00047F;
this.Select.HeaderText = "Select";
this.Select.Name = "Select";
this.Select.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.Select.ToolTipText = "Select to Run All";
this.Select.Width = 40;
//
// Run
//
this.Run.FillWeight = 47.00047F;
this.Run.HeaderText = "Run";
this.Run.Image = global::SSH_Test.Properties.Resources.Run16b;
this.Run.Name = "Run";
this.Run.ReadOnly = true;
this.Run.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.Run.Text = "Run";
this.Run.Width = 50;
this.Run.ToolTipText = "Run a Task";
this.Run.Width = 30;
//
// Configuration
// Status
//
this.Configuration.HeaderText = "Configuration";
this.Configuration.Name = "Configuration";
this.Configuration.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.Configuration.Width = 80;
this.Status.FillWeight = 47.00047F;
this.Status.HeaderText = "LastRun";
this.Status.Name = "Status";
this.Status.ReadOnly = true;
this.Status.Resizable = System.Windows.Forms.DataGridViewTriState.False;
this.Status.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Status.Width = 70;
//
// Profile
//
this.Profile.DisplayStyle = System.Windows.Forms.DataGridViewComboBoxDisplayStyle.ComboBox;
this.Profile.HeaderText = "Profile";
this.Profile.Name = "Profile";
this.Profile.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.Profile.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.Profile.Width = 300;
this.Profile.Width = 392;
//
// TastList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1039, 450);
this.ClientSize = new System.Drawing.Size(1094, 794);
this.Controls.Add(this.buttonAESString);
this.Controls.Add(this.buttonTasklistPath);
this.Controls.Add(this.checkBoxArrangeTask);
this.Controls.Add(this.buttonUncheckAll);
this.Controls.Add(this.buttonCheckAll);
this.Controls.Add(this.richTextBoxOutput);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.buttonConf);
this.Controls.Add(this.buttonLoad);
this.Controls.Add(this.buttonSave);
this.Controls.Add(this.dataGridViewTask);
this.Controls.Add(this.bRunAll);
this.Controls.Add(this.bRun);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "TastList";
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Task List";
this.Load += new System.EventHandler(this.fSSHTest_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridViewTask)).EndInit();
this.contextMenuStripRow.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button bRunAll;
private System.Windows.Forms.DataGridView dataGridViewTask;
private System.Windows.Forms.Button bRun;
private System.Windows.Forms.Button buttonSave;
private System.Windows.Forms.Button buttonLoad;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.BindingSource profileBindingSource;
private System.Windows.Forms.BindingSource profileBindingSource1;
private System.Windows.Forms.BindingSource profileCommandsBindingSource;
private System.Windows.Forms.BindingSource programBindingSource;
private System.Windows.Forms.BindingSource programBindingSource1;
public System.Windows.Forms.Button buttonConf;
private System.Windows.Forms.RichTextBox richTextBoxOutput;
private System.Windows.Forms.DataGridView dataGridViewTask;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button buttonCheckAll;
private System.Windows.Forms.Button buttonUncheckAll;
private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn1;
private System.Windows.Forms.DataGridViewImageColumn dataGridViewImageColumn2;
private System.Windows.Forms.CheckBox checkBoxArrangeTask;
private System.Windows.Forms.ContextMenuStrip contextMenuStripRow;
private System.Windows.Forms.ToolStripMenuItem MoveToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem DeleteToolStripMenuItem;
private System.Windows.Forms.OpenFileDialog openFileDialogTasklist;
private System.Windows.Forms.Button buttonTasklistPath;
private System.Windows.Forms.ToolTip toolTipbuttonTasklist;
private System.Windows.Forms.ToolTip toolTipGeneralConf;
private System.Windows.Forms.Button buttonAESString;
private System.Windows.Forms.DataGridViewTextBoxColumn TaskNum;
private System.Windows.Forms.DataGridViewTextBoxColumn TaskDescription;
private System.Windows.Forms.DataGridViewTextBoxColumn TaskDevice;
private System.Windows.Forms.DataGridViewTextBoxColumn TaskIp;
private System.Windows.Forms.DataGridViewTextBoxColumn Port;
private System.Windows.Forms.DataGridViewButtonColumn Run;
private System.Windows.Forms.DataGridViewButtonColumn Configuration;
private System.Windows.Forms.DataGridViewCheckBoxColumn Select;
private System.Windows.Forms.DataGridViewImageColumn Run;
private System.Windows.Forms.DataGridViewTextBoxColumn Status;
private System.Windows.Forms.DataGridViewComboBoxColumn Profile;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

74
UnCheck16.svg Normal file
View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333333 4.2333333"
version="1.1"
id="svg1"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
sodipodi:docname="UnCheck16.svg"
inkscape:export-filename="Unckeck16.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="true"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
inkscape:zoom="34.46967"
inkscape:cx="10.414953"
inkscape:cy="7.0931924"
inkscape:window-width="2560"
inkscape:window-height="1057"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs1">
<inkscape:path-effect
effect="bspline"
id="path-effect2"
is_visible="true"
lpeversion="1.3"
weight="33.333333"
steps="2"
helper_size="0"
apply_no_weight="true"
apply_with_weight="true"
only_selected="false"
uniform="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#000000;stroke-width:0.264583"
d="m -0.49934211,2.0733552 c -0.0289473,0 -0.0578947,0 -0.0868421,0"
id="path1" />
<path
style="fill:#0000ff;stroke-width:0.264583"
d="M 0.18273029,3.1172699 C -0.19539472,2.8476975 0.20624193,3.5460387 0.53009712,4.0363446 0.85395231,4.5266504 1.1000001,4.8088815 1.4292764,5.3353618 1.7585528,5.861842 2.1710446,6.6325502 2.6685873,6.2453715 3.16613,5.8581927 3.7486726,4.3131885 4.5537873,2.9074039 5.358902,1.5016194 6.3864926,0.23522258 6.2996488,0.07600889 6.212805,-0.08320481 5.0115372,0.86478362 4.2552721,2.0136553 3.4990069,3.162527 3.1878351,4.5121441 2.453281,4.5682308 1.7187269,4.6243174 0.5608553,3.3868422 0.18273029,3.1172699 Z"
id="path2"
inkscape:path-effect="#path-effect2"
inkscape:original-d="M -0.59703946,2.1493422 C -0.19539472,2.8476975 0.20624195,3.5460387 0.60789472,4.244408 0.85395234,4.5266504 1.1000001,4.8088815 1.3460528,5.0911184 1.7585528,5.861842 2.1710446,6.6325502 2.5835528,7.403289 3.16613,5.8581927 3.7486726,4.3131885 4.3312499,2.768092 5.358902,1.5016194 6.3864926,0.23522257 7.4141447,-1.03125 6.212805,-0.0832048 5.0115372,0.8647836 3.8101974,1.8128289 3.4990069,3.162527 3.1878352,4.5121441 2.8766447,5.8618421 1.7187269,4.6243174 0.56085532,3.3868422 -0.59703946,2.1493422 Z"
sodipodi:nodetypes="ccccccccc"
transform="matrix(0.66808337,0,0,0.67176106,-0.01325099,-0.03236537)" />
<path
id="path3"
style="display:inline;fill:#ff0000;stroke-width:0.264583"
d="M 2.0726909,0.38932465 A 1.7258991,1.7797226 0 0 0 0.34669815,2.1690609 1.7258991,1.7797226 0 0 0 2.0726909,3.9487972 1.7258991,1.7797226 0 0 0 3.798167,2.1690609 1.7258991,1.7797226 0 0 0 2.0726909,0.38932465 Z m 0.00827,0.30592448 A 1.3920004,1.4650136 0 0 1 3.4731222,2.1602759 1.3920004,1.4650136 0 0 1 3.3258444,2.8144995 L 1.0484641,1.1835914 A 1.3920004,1.4650136 0 0 1 2.0809592,0.69524913 Z M 0.81178604,1.5685807 3.0726299,3.1881201 A 1.3920004,1.4650136 0 0 1 2.0809592,3.6253027 1.3920004,1.4650136 0 0 1 0.68879613,2.1602759 1.3920004,1.4650136 0 0 1 0.81178604,1.5685807 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
Unckeck16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

View File

@@ -0,0 +1,3 @@
REG ADD "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f
REG ADD "HKCU\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:\WINDOWS\system32\sstext3d.scr" /f
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Screensavers\ssText3d" /v DisplayString /t REG_SZ /d "Unified Systems Inc." /f

View File

@@ -0,0 +1,38 @@
#Add exclusions
Add-MpPreference -ExclusionProcess "C:\Program Files\Avigilon\Avigilon Control Center Server\VmsAdminPanel.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsAdminPanel.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsAdminPanelLauncher.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsDaemonService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Daemon\VmsDaemon.exe",
"C:\Program Files\Avigilon\Avigilon Unity Core\VmsCore.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsUpgraderApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\LPR6\LprDaemonApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Device Management\VmsDeviceManagement.exe",
"C:\Program Files\Avigilon\Avigilon Unity Analytics Add-on\AnalyticsDaemonService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Client\VmsClientApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Client Framework\AvigilonUnityClientFramework.exe",
"C:\Program Files\Avigilon\Avigilon Unity Web Endpoint\WebEndpointService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Web Endpoint\node.exe",
"C:\Program Files\Avigilon\Avigilon Unity API Gateway\VmsApiGateway.exe",
"C:\Program Files\Avigilon\Avigilon Unity Cloud Bridge\VmsCloudBridge.exe",
"C:\Program Files\Avigilon\Avigilon Unity Orchestrator Service\VmsOrchestratorService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Virtual Matrix\VmsVirtualMatrixApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Software Manager\Service\VmsLocalUpdaterService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Player\VmsPlayerApp.exe",
"C:\Program Files (x86)\Avigilon\Avigilon Unity Player\VmsPlayerApp.exe"
Add-MpPreference -ExclusionExtension ".avd"
Add-MpPreference -ExclusionPath "$Env:programdata\Avigilon",
"$Env:appdata\Avigilon",
"$Env:localappdata\Avigilon",
"C:\Program Files\Avigilon",
"D:\AvigilonData",
"E:\AvigilonData",
"D:\AvigilonConfig",
"C:\AvigilonConfig"
#Check what is already excluded
Get-MpPreference | Select-Object -Property ExclusionExtension -ExpandProperty ExclusionExtension
Get-MpPreference| Select-Object -Property ExclusionPath | Format-table -wrap
Get-MpPreference | Select-Object -Property ExclusionProcess | Format-list

View File

@@ -0,0 +1,33 @@
# Create incoming rule for Ping
New-NetFirewallRule -DisplayName "Ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow
# Create incoming rule for CIW on Total Care PC
New-NetFirewallRule -DisplayName "CIW Syslog" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 514 `
-Action Allow `
-Profile Private
New-NetFirewallRule -DisplayName "CIW Email" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 25 `
-Action Allow `
-Profile Private
# Create outgoing rule for CIW on NVRs
New-NetFirewallRule -DisplayName "CIW Email" `
-Direction Outbound `
-Protocol TCP `
-LocalPort 25 `
-RemotePort 25 `
-Action Allow `
-Profile Private,Public
New-NetFirewallRule -DisplayName "CIW Syslog" `
-Direction Outbound `
-Protocol UDP `
-LocalPort 514 `
-RemotePort 514 `
-Action Allow `
-Profile Private,Public

View File

@@ -0,0 +1,62 @@
# Show favorites in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowFavorites' -Value 1
# Show all folders in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowAllFolders' -Value 1
# Automatically expand to current folder
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneExpandToCurrentFolder' -Value 1
# Show libraries in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowLibraries' -Value 1
# Always show menus
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'AlwaysShowMenus' -Value 1
# Display file icon on thumbnails
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'IconsOnly' -Value 0
# Display file size information in folder tips
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'FolderContentsInfoTip' -Value 1
# Show hidden files and folders
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'Hidden' -Value 1
# Unhide empty drives
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideDrivesWithNoMedia' -Value 0
# Uncheck "Hide extensions for known file types"
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideFileExt' -Value 0
# Uncheck "Hide folder merge conflicts"
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideFolderMergeConflicts' -Value 0
# Hide protected operating system files
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowSuperHidden' -Value 0
# Restore previous folder windows at logon
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'PersistBrowsers' -Value 1
# Show drive letters
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowDriveLetters' -Value 1
# Show encrypted or compressed NTFS files in color
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowEncryptedCompressedColor' -Value 1
# Show pop-up description for folders and desktop items
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowInfoTip' -Value 1
# Show previous handlers in preview pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowPreviewHandlers' -Value 1
# Show status bar
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'StatusBar' -Value 1
# Apply the changes by restarting File Explorer
Stop-Process -Name explorer -Force
Start-Process explorer
# Apply settings to all folders (This usually requires user action; automate if necessary)
$wshell = New-Object -ComObject wscript.shell
$wshell.SendKeys('%(ve)') # Opens Folder Options -> View
$wshell.SendKeys('{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}') # Select "Apply to Folders" and Confirm

View File

@@ -0,0 +1,8 @@
$adapters = Get-NetAdapter -Physical | Get-NetAdapterPowerManagement
foreach ($adapter in $adapters)
{
$adapter.WakeOnMagicPacket = 'Enabled'
$adapter.WakeOnPattern = 'Enabled'
$adapter.AllowComputerToTurnOffDevice = 'Disabled'
$adapter | Set-NetAdapterPowerManagement
}

View File

@@ -0,0 +1,8 @@
# Set computer to never sleep
powercfg /change standby-timeout-ac 0
# Set monitor to never turn off
powercfg /change monitor-timeout-ac 0
# Set hard drives to never turn off
powercfg /change disk-timeout-ac 0

View File

@@ -0,0 +1,9 @@
# Enable Remote Desktop
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
# Enable Remote Desktop through Windows Firewall
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
# Allow "Everyone" group to connect
$rdpAccessGroup = "Remote Desktop Users"
Add-LocalGroupMember -Group $rdpAccessGroup -Member "Everyone"

View File

@@ -0,0 +1,49 @@
# Import the Update Session COM object
$updateSession = New-Object -ComObject Microsoft.Update.Session
# Create an update searcher object
$updateSearcher = $updateSession.CreateUpdateSearcher()
# Search for available updates
$searchResult = $updateSearcher.Search("IsInstalled=0")
# Check if updates are available
if ($searchResult.Updates.Count -gt 0) {
Write-Output "$($searchResult.Updates.Count) updates found. Installing..."
# Create an update downloader object
$updateDownloader = $updateSession.CreateUpdateDownloader()
$updateDownloader.Updates = $searchResult.Updates
# Download updates
$downloadResult = $updateDownloader.Download()
if ($downloadResult.ResultCode -eq 2) {
Write-Output "Updates downloaded successfully."
# Create an update installer object
$updateInstaller = $updateSession.CreateUpdateInstaller()
$updateInstaller.Updates = $searchResult.Updates
# Install updates
$installResult = $updateInstaller.Install()
if ($installResult.ResultCode -eq 2) {
Write-Output "Updates installed successfully."
# Check if a restart is required
if ($installResult.RebootRequired) {
Write-Output "Restart is required. Restarting the computer..."
Restart-Computer -Force
} else {
Write-Output "No restart is required."
}
} else {
Write-Error "Failed to install updates. Result code: $($installResult.ResultCode)"
}
} else {
Write-Error "Failed to download updates. Result code: $($downloadResult.ResultCode)"
}
} else {
Write-Output "No updates are available."
}

View File

@@ -0,0 +1,520 @@
[
{
"ProfileName": "Do nothing",
"ProfileType": "",
"ProfileCommands": [
],
"ProfileParameters": [
"{P00}",
"{P01}",
"{P02}",
"{P03}"
]
},
{
"ProfileName": "Test",
"ProfileType": "CMD",
"ProfileCommands": [
"command 1 {P00} {P01} {P02}",
"command 2 {P00} {P01}",
"command 3 {P00} {P03}"
],
"ProfileParameters": [
"{P00}",
"{P01}",
"{P02}",
"{P03}"
]
},
{
"ProfileName": "Change Hostname",
"ProfileType": "Powershell",
"ProfileCommands": [
"Rename-Computer -NewName {New Host Name} -Force -PassThru",
"hostname"
],
"ProfileParameters": [
"{New Host Name}"
]
},
{
"ProfileName": "CMD_Show_NetworkInterfaces",
"ProfileType": "CMD",
"ProfileCommands": [
"netsh interface show interface"
],
"ProfileParameters": [
]
},
{
"ProfileName": "CMD_Assign_IPv4Address",
"ProfileType": "CMD",
"ProfileCommands": [
"netsh interface ipv4 set address name=\"{Name of Interface}\" source=static addr={IP Address} mask={Net mask} gateway={Gateway}",
"netsh interface set interface \"{Name of Interface}\" admin=disable",
"netsh interface set interface \"{Name of Interface}\" admin=enable",
"netsh interface ipv4 show config name=\"{Name of Interface}\" "
],
"ProfileParameters": [
"{Name of Interface}",
"{IP Address}",
"{Net mask}",
"{Gateway}"
]
},
{
"ProfileName": "Powershell_Assign_IPv4Address",
"ProfileType": "Powershell",
"ProfileCommands": [
"New-NetIPAddress -InterfaceAlias \"{Name of Interface}\" -IPAddress {IP Address} -PrefixLength {PrefixLength} -DefaultGateway {Gateway}",
"Get-NetIPAddress -InterfaceAlias \"{Name of Interface}\""
],
"ProfileParameters": [
"{Name of Interface}",
"{IP Address}",
"{PrefixLength}",
"{Gateway}"
]
},
{
"ProfileName": "SSH_Cisco_Tftp_Running",
"ProfileType": "SSH",
"ProfileCommands": [
"copy run tftp://"
],
"ProfileParameters": [
"{IP Address}",
"{User Name}",
"{Password}"
]
},
{
"ProfileName": "SSH_Cisco_Catalyst_Tftp_Running",
"ProfileType": "SSH_Catalyst",
"ProfileCommands": [
"copy running-config tftp://"
],
"ProfileParameters": [
"{IP Address}",
"{User Name}",
"{Password}"
]
},
{
"ProfileName": "SSH_Cisco_Tftp_Startup",
"ProfileType": "SSH",
"ProfileCommands": [
"copy startup-config tftp://"
],
"ProfileParameters": [
"{IP Address}",
"{User Name}",
"{Password}"
]
},
{
"ProfileName": "SSH_Cisco_Catalyst_Tftp_Startup",
"ProfileType": "SSH_Catalyst",
"ProfileCommands": [
"copy startup-config tftp://"
],
"ProfileParameters": [
"{IP Address}",
"{User Name}",
"{Password}"
]
},
{
"ProfileName": "RAC9_PS_status_dual",
"ProfileType": "RAC9",
"ProfileCommands": [
"get system.power.supply.1",
"get system.power.supply.2"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_storage_pdisks",
"ProfileType": "RAC9",
"ProfileCommands": [
"storage get get pdisks -o"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_networkinterfaces",
"ProfileType": "RAC9",
"ProfileCommands": [
"gethostnetworkinterfaces"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_OS_name",
"ProfileType": "CMD",
"ProfileCommands": [
"systeminfo | findstr /B /C:\"OS Name\" /B /C:\"OS Version\""
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Windows_Activation_status",
"ProfileType": "CMD",
"ProfileCommands": [
"cscript c:\\Windows\\System32\\slmgr.vbs /dlv"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Windows_Enable_RemoteDesktop",
"ProfileType": "CMD",
"ProfileCommands": [
"REG ADD \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\" /v fDenyTSConnections /t REG_DWORD /d 0 /f",
"netsh advfirewall firewall add rule name=\"Remote Desktop (TCP-In)\" dir=in action=allow protocol=TCP localport=3389",
"net start TermService"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Avigilon_Version",
"ProfileType": "Powershell",
"ProfileCommands": [
"Get-WmiObject -Class Win32_Product | where vendor -eq Avigilon | select Name, Version"
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_VideoController",
"ProfileType": "Powershell",
"ProfileCommands": [
"Get-CimInstance -ClassName Win32_VideoController"
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Avigilon_Servername",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Avigilon_Servername.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Get_NetworkInterface",
"ProfileType": "Powershell",
"ProfileCommands": [
"Get-NetAdapter | Select-Object Name, MacAddress, InterfaceDescription| Sort-Object -Property Name"
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_NetworkInterface_Team_LACP_Dynamic",
"ProfileType": "Powershell",
"ProfileCommands": [
"New-NetLbfoTeam -Name \"{Team Name}\" -TeamMembers \"{NIC1}\", \"{NIC2}\" -TeamingMode LACP -LoadBalancingAlgorithm Dynamic -Confirm:$false",
"Set-NetAdapterAdvancedProperty -Name \"{NIC1}\" -DisplayName \"Speed & Duplex\" -DisplayValue \"10 Gbps Full Duplex\" ",
"Set-NetAdapterAdvancedProperty -Name \"{NIC2}\" -DisplayName \"Speed & Duplex\" -DisplayValue \"10 Gbps Full Duplex\" ",
"Set-NetAdapterAdvancedProperty -Name \"{NIC1}\" -DisplayName \"Energy-Efficient Ethernet\" -DisplayValue \"Disabled\" ",
"Set-NetAdapterAdvancedProperty -Name \"{NIC2}\" -DisplayName \"Energy-Efficient Ethernet\" -DisplayValue \"Disabled\" ",
"Get-NetAdapterAdvancedProperty -Name \"{NIC1}\" ",
"Get-NetAdapterAdvancedProperty -Name \"{NIC2}\" ",
"Get-NetAdapterAdvancedProperty -Name \"{Team Name}\" "
],
"ProfileParameters": [
"{Team Name}",
"{NIC1}",
"{NIC2}"
]
},
{
"ProfileName": "Powershell_ACC8 Antivirus Exclusions",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"ACC8 Antivirus Exclusions.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Firewall Rule",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Firewall Rule.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Folder Options",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Folder Options.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Power Options",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Power Options.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Remote Desktop Enable",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Remote Desktop Enable.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "Powershell_Windows Update Restart",
"ProfileType": "Powershell",
"ProfileCommands": [
"-File \"Windows Update Restart.ps1\""
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Add_Local_Admin_User",
"ProfileType": "CMD",
"ProfileCommands": [
"Net user {Local Admin User 1} {Password 1} /add /Y",
"net localgroup administrators {Local Admin User 1} /add ",
"net localgroup administrators"
],
"ProfileParameters": [
"{Local Admin User 1}",
"{Password 1}"
]
},
{
"ProfileName": "CMD_Add_Local_2_Admin_Users",
"ProfileType": "CMD",
"ProfileCommands": [
"Net user {Local Admin User 1} {Password 1} /add /Y",
"net localgroup administrators {Local Admin User 1} /add ",
"Net user {Local Admin User 2} {Password 2} /add /Y",
"net localgroup administrators {Local Admin User 2} /add ",
"net localgroup administrators"
],
"ProfileParameters": [
"{Local Admin User 1}",
"{Password 1}",
"{Local Admin User 2}",
"{Password 2}"
]
},
{
"ProfileName": "CMD_ScreenSaver",
"ProfileType": "CMD",
"ProfileCommands": [
"cd C:\\USI\\Images\\ & C:\\USI\\Images\\bg.bat"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Install_FoxitReader",
"ProfileType": "CMD",
"ProfileCommands": [
"C:\\USI\\Apps\\FoxitPDFReader.exe /QUIET"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Install_TeamViewer.msi",
"ProfileType": "CMD",
"ProfileCommands": [
"C:\\USI\\Apps\\TeamViewer.msi /qn",
"winget list --disable-interactivity --accept-source-agreements| FINDSTR /i \"TeamViewer\""
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_ShowAllSoftwareVersion",
"ProfileType": "CMD",
"ProfileCommands": [
"winget list --disable-interactivity --accept-source-agreements "
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Timezone_CanCentralStandardTime_6",
"ProfileType": "CMD",
"ProfileCommands": [
"tzutil /s \"Central Standard Time\"",
"tzutil /g"
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Meinberg ntp-4.2.8",
"ProfileType": "CMD",
"ProfileCommands": [
"C:\\USI\\Apps\\\"Meinberg ntp-4.2.8p15a-win32-setup.exe\" /USE_FILE=\"C:\\USI\\Apps\\MeinbergSetup.ini\"",
"ntpd --version",
"echo server {IP Address 1} iburst minpoll 6 maxpoll 7 >> C:\\\"Program Files (x86)\"\\NTP\\etc\\ntp.conf",
"echo server {IP Address 2} iburst minpoll 6 maxpoll 7 >> C:\\\"Program Files (x86)\"\\NTP\\etc\\ntp.conf"
],
"ProfileParameters": [
"{IP Address 1}",
"{IP Address 2}"
]
},
{
"ProfileName": "CMD_Ipv6_Disable_ALL",
"ProfileType": "CMD",
"ProfileCommands": [
"powershell \"Disable-NetAdapterBinding -Name \"*\" -ComponentID ms_tcpip6\"",
"powershell \"Get-NetAdapterBinding -ComponentID ms_tcpip6| Sort-Object -Property Name\""
],
"ProfileParameters": []
},
{
"ProfileName": "CMD_Ipv6_Disable_Interface",
"ProfileType": "CMD",
"ProfileCommands": [
"powershell \"Disable-NetAdapterBinding -Name \"{Interface Name}\" -ComponentID ms_tcpip6\"",
"powershell \"Get-NetAdapterBinding -ComponentID ms_tcpip6| Sort-Object -Property Name\""
],
"ProfileParameters": [
"{Interface Name}"
]
},
{
"ProfileName": "RAC9_IDRAC_Assign_IP_Network_Interface",
"ProfileType": "CMD",
"ProfileCommands": [
"racadm setniccfg -s {IP Address} {Network Mask} {Gateway}"
],
"ProfileParameters": [ "{IP Address}", "{Network Mask}", "{Gateway}" ]
},
{
"ProfileName": "RAC9_IDRAC_Configure_User",
"ProfileType": "CMD",
"ProfileCommands": [
"racadm set iDRAC.Users.{Index}.Username {Username}",
"racadm set iDRAC.Users.{Index}.Password {Password}",
"racadm get iDRAC.Users.{Index}.Username",
"racadm set iDRAC.Users.{Index}.Enable 1",
"racadm set iDRAC.Users.{Index}.IpmiLanPriv 4"
],
"ProfileParameters": [ "{Index}", "{Username}", "{Password}" ]
},
{
"ProfileName": "RAC9_IDRAC_Configure_Users_at_234",
"ProfileType": "CMD",
"ProfileCommands": [
"racadm set iDRAC.Users.2.Password {Password 2 root}",
"racadm set iDRAC.Users.3.Username {Username 3}",
"racadm set iDRAC.Users.3.Password {Password 3}",
"racadm set iDRAC.Users.4.Username {Username 4}",
"racadm set iDRAC.Users.4.Password {Password 4}",
"racadm get iDRAC.Users.2.Username",
"racadm get iDRAC.Users.3.Username",
"racadm get iDRAC.Users.4.Username",
"racadm set iDRAC.Users.3.Enable 1",
"racadm set iDRAC.Users.3.IpmiLanPriv 4",
"racadm set iDRAC.Users.4.Enable 1",
"racadm set iDRAC.Users.4.IpmiLanPriv 4"
],
"ProfileParameters": [
"{Password 2 root}",
"{Username 3}",
"{Password 3}",
"{Username 4}",
"{Password 4}"
]
},
{
"ProfileName": "RAC9_IDRAC_Get_ServiceTag",
"ProfileType": "CMD",
"ProfileCommands": [
"racadm getsvctag"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_ACPwrRcvry_On",
"ProfileType": "RAC9",
"ProfileCommands": [
"set bios.Syssecurity.ACPwrRcvry On"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_Power_redundancy",
"ProfileType": "RAC9",
"ProfileCommands": [
" get system.power.RedundancyPolicy"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_storage_vdisks",
"ProfileType": "RAC9",
"ProfileCommands": [
"storage get vdisks -o -p layout,status,size"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_Commit_Changes_reboot_NOW",
"ProfileType": "RAC9",
"ProfileCommands": [
"jobqueue create BIOS.Setup.1-1 -r pwrcycle -s TIME_NOW"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_Jobview_checkresult",
"ProfileType": "RAC9",
"ProfileCommands": [
"jobqueue view"
],
"ProfileParameters": []
},
{
"ProfileName": "RAC9_Reboot",
"ProfileType": "RAC9",
"ProfileCommands": [
"serveraction hardreset"
],
"ProfileParameters": []
}
]

View File

@@ -0,0 +1,310 @@
[
{
"iTaskNum": 1,
"sTaskDescription": "Remote Desktop Enable",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Remote Desktop Enable",
"dParameters": {}
},
{
"iTaskNum": 2,
"sTaskDescription": "Bios enable Power on AC Recovery",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_ACPwrRcvry_On",
"dParameters": {}
},
{
"iTaskNum": 3,
"sTaskDescription": "Change HostName",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Change Hostname",
"dParameters": {
"{New Host Name}": "dfghdfhdfgh"
}
},
{
"iTaskNum": 4,
"sTaskDescription": "Create 2 Windows Admins",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Add_Local_2_Admin_Users",
"dParameters": {
"{Local Admin User 1}": "USI-Admin",
"{Password 1}": "",
"{Local Admin User 2}": "SIGA-Admin",
"{Password 2}": ""
}
},
{
"iTaskNum": 5,
"sTaskDescription": "Reboot by IDRAC",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_Commit_Changes_reboot_NOW",
"dParameters": {}
},
{
"iTaskNum": 6,
"sTaskDescription": "Get Service Tag",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_IDRAC_Get_ServiceTag",
"dParameters": {}
},
{
"iTaskNum": 7,
"sTaskDescription": "Server have 2nd power supply?",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_PS_status_dual",
"dParameters": {}
},
{
"iTaskNum": 8,
"sTaskDescription": "10GB ports",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_networkinterfaces",
"dParameters": {}
},
{
"iTaskNum": 9,
"sTaskDescription": "OS",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_OS_name",
"dParameters": {}
},
{
"iTaskNum": 10,
"sTaskDescription": "GPU",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_VideoController",
"dParameters": {}
},
{
"iTaskNum": 11,
"sTaskDescription": "Power redundancy",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_Power_redundancy",
"dParameters": {}
},
{
"iTaskNum": 12,
"sTaskDescription": "Raid volume check",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_storage_vdisks",
"dParameters": {}
},
{
"iTaskNum": 13,
"sTaskDescription": "Windows Activation Status",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Windows_Activation_status",
"dParameters": {}
},
{
"iTaskNum": 14,
"sTaskDescription": "Avigilon Version",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Avigilon_Version",
"dParameters": {}
},
{
"iTaskNum": 15,
"sTaskDescription": "Get Network Interface Name",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Get_NetworkInterface",
"dParameters": {}
},
{
"iTaskNum": 16,
"sTaskDescription": "Create NIC team for Cameras",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_NetworkInterface_Team_LACP_Dynamic",
"dParameters": {
"{Team Name}": "Camera Lan",
"{NIC1}": "Integrated NIC 1 Port 1-1",
"{NIC2}": "Integrated NIC 1 Port 2-1"
}
},
{
"iTaskNum": 17,
"sTaskDescription": "IDRAC Assigned IP address",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_IDRAC_Assign_IP_Network_Interface",
"dParameters": {
"{IP Address}": "192.168.39.2",
"{Network Mask}": "255.255.255.0",
"{Gateway}": "192.168.39.1"
}
},
{
"iTaskNum": 18,
"sTaskDescription": "IDRAC Set User Password root, 3,4",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "RAC9_IDRAC_Configure_Users_at_234",
"dParameters": {
"{Password 2 root}": "",
"{Username 3}": "USI-Admin",
"{Password 3}": "",
"{Username 4}": "SIGA-Admin",
"{Password 4}": ""
}
},
{
"iTaskNum": 19,
"sTaskDescription": "Firewall",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Firewall Rule",
"dParameters": {}
},
{
"iTaskNum": 20,
"sTaskDescription": "ACC Antivirus Exclusions",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_ACC8 Antivirus Exclusions",
"dParameters": {}
},
{
"iTaskNum": 21,
"sTaskDescription": "Folder Options",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Folder Options",
"dParameters": {}
},
{
"iTaskNum": 22,
"sTaskDescription": "Power Options",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Power Options",
"dParameters": {}
},
{
"iTaskNum": 23,
"sTaskDescription": "Show network Interface names, using CMD ",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Show_NetworkInterfaces",
"dParameters": {
"{P00}": "",
"{P01}": "",
"{P02}": "",
"{P03}": ""
}
},
{
"iTaskNum": 24,
"sTaskDescription": "Assign an IPv4 address to an interface Camera Lan",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Assign_IPv4Address",
"dParameters": {
"{Name of Interface}": "LAN 1 (Workstation)",
"{IP Address}": "192.168.38.41",
"{Net mask}": "255.255.255.0",
"{Gateway}": "192.168.38.1"
}
},
{
"iTaskNum": 25,
"sTaskDescription": "Assign an IPv4 address to an interface Workstation",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Assign_IPv4Address",
"dParameters": {
"{Name of Interface}": "",
"{IP Address}": "",
"{Net mask}": "",
"{Gateway}": ""
}
},
{
"iTaskNum": 26,
"sTaskDescription": "Enable ScreenSaver for current user",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_ScreenSaver",
"dParameters": {}
},
{
"iTaskNum": 27,
"sTaskDescription": "Install Foxit Reader",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Install_FoxitReader",
"dParameters": {}
},
{
"iTaskNum": 28,
"sTaskDescription": "Set timezone to SK Canada Central Standard -6",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Timezone_CanCentralStandardTime_6",
"dParameters": {}
},
{
"iTaskNum": 29,
"sTaskDescription": "IPv6 Disable All",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Ipv6_Disable_ALL",
"dParameters": {
"{P00}": "",
"{P01}": "",
"{P02}": "",
"{P03}": ""
}
},
{
"iTaskNum": 30,
"sTaskDescription": "Install Meinberg ntp-4.2.8p",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Meinberg ntp-4.2.8",
"dParameters": {
"{IP Address 1}": "",
"{IP Address 2}": ""
}
},
{
"iTaskNum": 31,
"sTaskDescription": "Windows Update Restart",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "Powershell_Windows Update Restart",
"dParameters": {}
},
{
"iTaskNum": 32,
"sTaskDescription": "Install Teamviewer 15",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_Install_TeamViewer.msi",
"dParameters": {}
},
{
"iTaskNum": 33,
"sTaskDescription": "Show all software version",
"sTaskDevice": "",
"bTaskSelect": false,
"sProfile": "CMD_ShowAllSoftwareVersion",
"dParameters": {}
}
]

982
Utilities.cs Normal file
View File

@@ -0,0 +1,982 @@
using log4net;
using log4net.Core;
using Renci.SshNet;
using Renci.SshNet.Security;
using SSH_Test;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Management.Automation; //for powershell
using System.Collections.ObjectModel;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using Microsoft.Win32.SafeHandles;
using System.Diagnostics.Eventing.Reader;
namespace SSH_Test
{
public class Utilities
{
public static ILog log;
public Utilities(ILog Log)
{
log = Log;
}
public static string RunaTask(cTask currentTask, Profile profile, cConInfo conInfo, Aes aes)
{
string result = "-------------------------------------------------------------------------\n";
result += string.Format("{0:s} Task {1}: {2}, profile: {3} \n", DateTime.Now, currentTask.iTaskNum, currentTask.sTaskDescription, currentTask.sProfile);
result += "-------------------------------------------------------------------------\n";
cHostInfo hostInfo = new cHostInfo();
log.Info(string.Format("Run task: {0}, profile: {1}", currentTask.sTaskDescription, currentTask.sProfile));
//foreach (var c in currentTask.dParameters)
// log.Info(string.Format("Parameter {0}: {1}", c.Key, c.Value));
switch (profile.ProfileType)
{
case "SSH":
hostInfo.host = currentTask.dParameters["{IP Address}"];
hostInfo.username = currentTask.dParameters["{User Name}"];
hostInfo.password = currentTask.dParameters["{Password}"];
hostInfo.device = currentTask.sTaskDevice.ToString();
hostInfo.dParameters = new Dictionary<string, string>();
hostInfo.Commands = profile.ProfileCommands;
try
{
Thread thread1 = new Thread(new ParameterizedThreadStart(fSSH));
hostInfo.TftpIP = conInfo.sTftpIP;
hostInfo.SftpIP = conInfo.sTftpIP;
hostInfo.SftpPassword = conInfo.sTftpPassword;
hostInfo.SftpUsername = conInfo.sTftpUsername;
thread1.Start(hostInfo);
}
catch (Exception ex1)
{
log.Error(ex1);
}
break;
case "SSH_Catalyst":
hostInfo.host = currentTask.dParameters["{IP Address}"];
hostInfo.username = currentTask.dParameters["{User Name}"];
hostInfo.password = currentTask.dParameters["{Password}"];
hostInfo.device = currentTask.sTaskDevice.ToString();
hostInfo.dParameters = new Dictionary<string, string>();
hostInfo.Commands = profile.ProfileCommands;
try
{
Thread thread2 = new Thread(new ParameterizedThreadStart(fSSH_Catalyst));
hostInfo.TftpIP = conInfo.sTftpIP;
hostInfo.SftpIP = conInfo.sTftpIP;
hostInfo.SftpPassword = conInfo.sTftpPassword;
hostInfo.SftpUsername = conInfo.sTftpUsername;
thread2.Start(hostInfo);
}
catch (Exception ex1)
{
log.Error(ex1);
}
break;
case "RAC9":
int i = 0;
string command = "";
//if (!conInfo.bisLocal)
//{
// command = " --nocertwarn -r " + conInfo.sIDracIP + " -u " + conInfo.sIDracUsername + " -p " + conInfo.sIDracPassword + " ";
//}
foreach (string c in profile.ProfileCommands)
{
Process process = new Process();
process.StartInfo.FileName = "racadm.exe";
process.StartInfo.UseShellExecute = false; // Required for 'runas' verb
process.StartInfo.Verb = "runas"; // Request administrator privileges
process.StartInfo.WorkingDirectory = Environment.CurrentDirectory; // current working dir
process.StartInfo.RedirectStandardOutput = true;
//log.Info(string.Format("From RAC9 try to run: {0}", c));
log.Info(string.Format("From RAC9 try to run: {0}", c));
try
{
string tempfile = DateTime.Now.ToString().Replace(":", "").Replace(" ", "") + ".txt";
process.StartInfo.Arguments = command + " " + c;
process.Start();
string temp = process.StandardOutput.ReadToEnd();
log.Info(string.Format("From RAC9 {0}: {1}", currentTask.sTaskDevice.ToString(), result));
result += temp;
process.WaitForExit();
}
catch (Win32Exception ex)
{
log.Error(string.Format($"Error: {ex.Message}. The user likely declined the UAC prompt."));
}
}
break;
case "CMD":
foreach (string c in profile.ProfileCommands)
{
command = " ";
i = 0;
//apply values to parameters accordingly
try
{
if (profile.ProfileParameters.Length > 0)
{
string ee = c;
foreach (string ss in profile.ProfileParameters)
{
ee = ee.Replace(ss, currentTask.dParameters[ss]);
}
//log.Info(string.Format("{0} => {1}", c, ee));
command += ee;
}
else
command = c;
}
catch (Exception ex)
{ }
//log.Info(command);
// create a process
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false; // Required for 'runas' verb
process.StartInfo.Verb = "runas"; // Request administrator privileges
process.StartInfo.WorkingDirectory = Environment.CurrentDirectory; // current working dir
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
try
{
process.StartInfo.Arguments = string.Format(" /c {0}", command);
//log.Info(string.Format("command to run: {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments));
process.Start();
StreamReader sr = process.StandardOutput;
StreamWriter si = process.StandardInput;
si.Write("\n");
string temp = sr.ReadToEnd();
log.Info(string.Format("From CMD {0}: {1}", currentTask.sTaskDevice.ToString(), temp));
result += temp;
process.WaitForExit();
}
catch (Win32Exception ex)
{
log.Error(ex);
}
i++;
}
break;
case "Powershell":
foreach (string c in profile.ProfileCommands)
{
command = "";
i = 0;
//apply values to parameters accordingly
try
{
if (profile.ProfileParameters.Length > 0)
{
string ee = c;
foreach (string ss in profile.ProfileParameters)
{
ee = ee.Replace(ss, currentTask.dParameters[ss]);
}
//log.Info(string.Format("{0} => {1}", c, ee));
command += ee;
}
else
command = c;
}
catch (Exception ex)
{ }
log.Info(command);
using (PowerShell ps = PowerShell.Create())
{
if (command.Contains("-File") || command.Contains("-file"))
{
// command contains "-File" for running a script, check if file was encrypted with USI prefix.
string PSPath = Environment.CurrentDirectory + "\\PS\\";
//contruct the path, remove -File|-file from command:
string pattern = "-file";
command = command.Replace("\"","");
PSPath += Regex.Replace(command, pattern, "", RegexOptions.IgnoreCase).Trim();
try
{
string data = File.ReadAllText(PSPath);
//check if PS file is encrypted
if (data.Contains("Unified Systems Inc."))
{
byte[] bData = File.ReadAllBytes(PSPath);
string ddata = DecryptStringFromBytes(bData,aes.Key);
ps.AddScript(ddata);
}
else
{
result += " Cannot open Powershell script file.";
}
}
catch {
log.Error(string.Format("Failed to open PS file at: {0}", PSPath));
}
}
else
{
// FOR more detailed output, uncommend the below
//ps.AddScript(string.Format("{0}|OUt-String",command));
//Comment the below if the above is used.
ps.AddScript(command);
}
Collection<PSObject> results = ps.Invoke();
foreach (PSObject Item in results)
{
if (Item != null)
{
// Access the underlying object for its actual value
result += string.Format("{0} \n", Item.ToString());
}
}
// Check for errors
if (ps.Streams.Error.Count > 0)
{
log.Error("\nErrors encountered:");
foreach (ErrorRecord error in ps.Streams.Error)
{
log.Error(error.ToString());
result += string.Format("Failed to execute \n {0}", error.ToString());
}
}
}
////////////////// OLD - NEED TO REWRITE TO WORK WITH ENCRYPTED PS SCRIPTS 20260223 ////////////////
//Process process = new Process();
//process.StartInfo.FileName = "powershell";
//process.StartInfo.UseShellExecute = false; // Required for 'runas' verb
//process.StartInfo.Verb = "runas"; // Request administrator privileges
//process.StartInfo.RedirectStandardOutput = true;
//string folderPathPS = Environment.CurrentDirectory + "\\PS\\";
//process.StartInfo.WorkingDirectory = folderPathPS; // current working dir
//log.Info(process.StartInfo.WorkingDirectory);
//// check if Powershell Script folder "PS" exists, if not , create one.
//if (!Directory.Exists(folderPathPS))
//{
// Directory.CreateDirectory(folderPathPS);
// log.Info(string.Format("Cound not find folder PS, create new {0}", folderPathPS));
//}
//try
//{
//// // will create temporary ps script file from command for better compatibility
//// string tempfile = Path.GetRandomFileName() + ".ps1";
//// if (command.Contains("-File") || command.Contains("-file"))
//// {
//// // command contains "-File" for running a script, do nothing
//// command = "-NoProfile -ExecutionPolicy Bypass " + command;
//// }
//// else
//// {
//// //create ps script file from command
//// try
//// {
//// File.WriteAllText(".\\PS\\" + tempfile, command);
//// }
//// catch
//// {
//// log.Error(string.Format("Cannot create or write temporary Powershell script file {0}", tempfile));
//// }
//// command = string.Format("-NoProfile -ExecutionPolicy Bypass -File {0}", tempfile);
//// }
//// //log.Info(string.Format(command));
//// process.StartInfo.Arguments = command;
//// process.Start();
//// string temp = process.StandardOutput.ReadToEnd();
// //log.Info(string.Format("From Powershell {0}: {1}", currentTask.sTaskDevice.ToString(), temp));
// //result += temp;
// //process.WaitForExit();
// //try
// //{
// // File.Delete(".\\PS\\" + tempfile);
// // log.Info(string.Format("Deleted temporary PS file: ", tempfile));
// //}
// //catch (Exception ex)
// //{
// // log.Error(string.Format("Cannot delete temporary PS file: ", tempfile));
// // log.Error(ex);
// //}
//}
//catch (Win32Exception ex)
//{
// log.Error(ex);
//}
i++;
}
break;
default:
break;
}
result += "\n#########################################################################################################\n\n";
return result;
}
// SSH
public static void fSSH(object data)
{
try
{
cHostInfo hostinfo = (cHostInfo)data;
string host = hostinfo.host;
string device = hostinfo.device;
string username = hostinfo.username;
string password = hostinfo.password;
string tftpIp = hostinfo.TftpIP;
string sftpIp = hostinfo.SftpIP;
string sftpUsername = hostinfo.SftpUsername;
string sftpPassword = hostinfo.SftpPassword;
string[] Commands = hostinfo.Commands;
var client = new SshClient(hostinfo.host, hostinfo.username, hostinfo.password);
log.Info(string.Format("From fSSH {0}: Establishing a connection", device));
client.Connect();
log.Info(client.ConnectionInfo.ServerVersion);
if (client.IsConnected)
{
var shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024);
var output = "";
var result = "";
//wait for "User Name:"
output = shellStream.Expect(new Regex(@"Name:|name:"));
log.Info(string.Format("From fSSH {0}: {1}", device, output));
//send username
shellStream.WriteLine(username);
//wait for "Password:"
output = shellStream.Expect(new Regex(@"word:"));
log.Info(string.Format("From fSSH {0}: {1}", device, output));
//send password
shellStream.WriteLine(password);
//wait for "Prompt:"
output = shellStream.Expect(new Regex(@"#"));
log.Info(string.Format("From fSSH {0}: {1}", device, output));
output = "";
//create filename
string datetime = DateTime.Now.ToString().Replace(":", "");
datetime = datetime.Replace(" ", "_");
// string filePath = string.Format("{0}_{1}.txt", currentTask.sTaskDevice, datetime.Replace("-", ""));
string filePath = string.Format("{0}_{1}.txt", device, datetime.Replace("-", ""));
foreach (string c in Commands)
{
switch (c)
{
//enable
case "enable":
output = "";
shellStream.WriteLine(c);
//wait for "Password:"
output = shellStream.Expect(new Regex(@"word:"));
log.Info(string.Format("From fSSH {0}: {1}", device, c));
//send password
shellStream.WriteLine(password);
break;
// tftp
case string s when Regex.IsMatch(c, @"tftp"):
output = "";
string command = string.Format("{0}{1}/{2}", c, tftpIp, filePath);
log.Info(string.Format("From fSSH {0}: {1}", device, command));
//send tftp command
shellStream.WriteLine(command);
//wait "<return>" to send "space" and loop until get prompt
while (!Regex.IsMatch(output, "#"))
{
output = shellStream.Expect(new Regex(@"More|<return>|#"));
shellStream.WriteLine(" ");
string[] lines = output.Split('\n');
var output1 = "";
for (int ii = 0; ii < (lines.Length - 1); ii++)
output1 += lines[ii];
log.Info(output1);
result += output1;
}
break;
default:
shellStream.WriteLine(c);
//wait for "Prompt:"
output = shellStream.Expect(new Regex(@"#"));
log.Info(string.Format("From fSSH_Test {0}: {1}", device, output));
break;
}
}
}
client.Disconnect();
log.Info(string.Format("From SSH_Test: Disconnected"));
}
catch (Exception e)
{
log.Error("SSH function: cannot run SSH");
log.Error(e);
}
}
public static void fSSH_Catalyst(object data)
{
try
{
cHostInfo hostinfo = (cHostInfo)data;
string host = hostinfo.host;
string device = hostinfo.device;
string username = hostinfo.username;
string password = hostinfo.password;
string tftpIp = hostinfo.TftpIP;
string sftpIp = hostinfo.SftpIP;
string sftpUsername = hostinfo.SftpUsername;
string sftpPassword = hostinfo.SftpPassword;
string[] Commands = hostinfo.Commands;
var client = new SshClient(hostinfo.host, hostinfo.username, hostinfo.password);
log.Info(string.Format("From fSSH_Catalyst {0}: Establishing a connection {1}", device, host));
client.Connect();
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, client.ConnectionInfo.ServerVersion));
if (client.IsConnected)
{
var shellStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024);
var output = "";
var result = "";
var prompt = "";
//output = "";
output = shellStream.Expect(new Regex(@"#"));
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, output));
prompt = output;
shellStream.WriteLine("");
shellStream.Flush();
output = shellStream.Expect(new Regex(prompt));
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, output));
//create filename
string datetime = DateTime.Now.ToString().Replace(":", "");
datetime = datetime.Replace(" ", "_");
// string filePath = string.Format("{0}_{1}.txt", currentTask.sTaskDevice, datetime.Replace("-", ""));
string filePath = string.Format("{0}_{1}.txt", device, datetime.Replace("-", ""));
foreach (string c in Commands)
{
switch (c)
{
//enable
case "enable":
output = "";
shellStream.WriteLine(c);
//wait for "Password:"
output = shellStream.Expect(new Regex(@"word:"));
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, c));
//send password
shellStream.WriteLine(password);
break;
// tftp
case string s when Regex.IsMatch(c, @"tftp"):
output = "";
string command = string.Format("{0}{1}/{2}", c, tftpIp, filePath);
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, command));
//send tftp command
output = "";
shellStream.WriteLine(command);
shellStream.Flush();
//handle shell interaction, wait for "?" then send "enter"
output = shellStream.Expect(new Regex(@"\?"));
log.Info(string.Format("From fSSH_Catalyst{0}: {1}", device, output));
while (output.Contains("?"))
{
output = "";
shellStream.WriteLine("");
shellStream.Flush();
output = shellStream.Expect(new Regex(@"\?|#"));
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, output));
}
break;
default:
shellStream.WriteLine(c);
//wait for "Prompt:"
output = shellStream.Expect(prompt);
log.Info(string.Format("From fSSH_Catalyst {0}: {1}", device, output));
break;
}
}
}
client.Disconnect();
log.Info(string.Format("From SSH_Catalyst: Disconnected"));
}
catch (Exception e)
{
log.Error("SSH_Catalyst function: cannot run SSH_Catalyst");
log.Error(e);
}
}
//Seriallize Tasklist to a Json file
public void SaveTasklist(List<cTask> data, string filePath, Aes aes)
{
JsonSerializerOptions options = new JsonSerializerOptions
{
//save with indentation
WriteIndented = true,
// enable case insensitive
PropertyNameCaseInsensitive = true,
// ignore null property
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
};
string jsonString = JsonSerializer.Serialize(data, options);
File.WriteAllBytes(filePath, EncryptStringAES(jsonString,aes.Key));
}
//Deseriallize Tasklist from a Json file
public List<cTask> LoadTaskList(string filePath, Aes aes)
{
JsonSerializerOptions options = new JsonSerializerOptions
{
//save with indentation
WriteIndented = true,
// enable case insensitive
PropertyNameCaseInsensitive = true,
// ignore null property
DefaultIgnoreCondition = JsonIgnoreCondition.WhenReading
};
if (File.Exists(filePath))
{
try
{
log.Info(string.Format("Try loading {0}", filePath));
string jsonString = "";
if (File.Exists(filePath))
{
try
{
//read json data from file
byte[] bData = File.ReadAllBytes(filePath);
//decrypt data and save to file
jsonString = DecryptStringFromBytes(bData, aes.Key);
}
catch (Exception ex)
{
//could not read tasklist.json properly
log.Error(string.Format("Could not load {0} for decrypting", filePath));
log.Error(ex);
}
}
return JsonSerializer.Deserialize<List<cTask>>(jsonString, options);
}
catch (Exception ex)
{
//could not read tasklist.json properly
log.Error(string.Format("Could not load {0}", filePath));
log.Error(ex);
//return an empty list if file could not be read
return new List<cTask>();
}
}
return new List<cTask>(); // Return an empty list if file doesn't exist
}
//Seriallize Profile to a Json file
public void SaveProfile(List<Profile> data, string filePath)
{
JsonSerializerOptions options = new JsonSerializerOptions
{
WriteIndented = true
};
string jsonString = JsonSerializer.Serialize(data, options);
File.WriteAllText(filePath, jsonString);
}
//Deseriallize Profile from a Json file
public List<Profile> LoadProfile(string filePath, Aes aes)
{
if (File.Exists(filePath))
{
try
{
string jsonString = "";
try
{
//read json data from file
byte[] bData = File.ReadAllBytes(filePath);
//decrypt data and save to file
jsonString = DecryptStringFromBytes(bData, aes.Key);
}
catch (Exception ex)
{
//could not read tasklist.json properly
log.Error(string.Format("Could not load {0} for decrypting", filePath));
log.Error(ex);
}
log.Info("Process profile.json");
return JsonSerializer.Deserialize<List<Profile>>(jsonString);
}
catch (Exception ex)
{
//could not read profile.json properly
log.Error("Could not load profile.json");
log.Error(ex);
//return an empty list if file could not be read
return new List<Profile>();
}
}
return new List<Profile>(); // Return an empty list if file doesn't exist
}
//Encrypt a file with AES, append "Unified Systems Inc." + IV at the beginning of the file
public static byte[] EncryptStringAES(string sData, byte[] key)
{
// Check arguments
if (sData == null || sData.Length <= 0)
throw new ArgumentNullException(nameof(sData));
if (key == null || key.Length <= 0)
throw new ArgumentNullException(nameof(Key));
byte[] encrypted ;
byte[] USI = Encoding.UTF8.GetBytes("Unified Systems Inc.");
Aes aes = Aes.Create();
aes.Key = key;
// Create an encryptor.
ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
// Use streams for encryption.
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
// Write all data to the stream.
swEncrypt.Write(sData);
}
encrypted = msEncrypt.ToArray();
}
}
//return encrypted data with USI + IV at the beginning
byte[] USIIV = USI.Concat(aes.IV).ToArray();
return USIIV.Concat(encrypted).ToArray();
}
//Decrypt a file with AES, with "Unified Systems Inc." + IV at the beginning of the file
public static string DecryptStringFromBytes(byte[] eDdata, byte[] Key)
{
// Check arguments.
if (eDdata == null || eDdata.Length <= 0)
throw new ArgumentNullException(nameof(eDdata));
if (Key == null || Key.Length <= 0)
throw new ArgumentNullException(nameof(Key));
//extract IV and remove USI + IV
byte[] IV = new byte[16];
byte[] USI = Encoding.UTF8.GetBytes("Unified Systems Inc.");
byte[] USIIV = USI.Concat(IV).ToArray();
Array.Copy(eDdata, 0, USIIV, 0, USIIV.Length);
Array.Copy(USIIV,USI.Length,IV, 0, IV.Length);
//remove USIIV from bData:
int dataLength = eDdata.Length - USIIV.Length;
byte[] bdatanoIV = new byte[dataLength];
Array.Copy(eDdata, USIIV.Length, bdatanoIV, 0, dataLength);
// Declare the string used to hold the decrypted text.
string sData = null;
using (Aes aes = Aes.Create())
{
aes.Key = Key;
aes.IV = IV;
// Create a decryptor to perform the stream transform.
ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV);
// Create the streams used for decryption.
using (MemoryStream msDecrypt = new MemoryStream(bdatanoIV))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
sData = srDecrypt.ReadToEnd();
}
}
}
}
return sData;
}
}
public class cHostInfo
{
public string device { get; set; }
public string host { get; set; }
public string username { get; set; }
public string password { get; set; }
public string TftpIP { get; set; }
public string SftpIP { get; set; }
public string SftpUsername { get; set; }
public string SftpPassword { get; set; }
public string[] Commands { get; set; }
public Dictionary<string, string> dParameters { get; set; }
public cHostInfo()
{
device = "";
host = "localhost";
username = "";
password = "";
TftpIP = "127.0.0.1";
SftpIP = "127.0.0.1";
SftpUsername = "";
SftpPassword = "";
}
}
[Serializable]
public class cTask
{
public int iTaskNum { get; set; }
public String sTaskDescription { get; set; }
public String sTaskDevice { get; set; }
public bool bTaskSelect { get; set; }
public String sProfile { get; set; }
public Dictionary<string, string> dParameters { get; set; }
public cTask()
{
this.iTaskNum = 0;
this.sTaskDescription = "";
this.sTaskDevice = "";
this.bTaskSelect = false;
this.sProfile = "";
this.dParameters = new Dictionary<string, string>();
}
public cTask(int iTaskNum, string uTaskDescription, string uTaskDevice, bool bTaskSelect, string sProfile)
{
this.iTaskNum = iTaskNum;
this.sTaskDescription = uTaskDescription;
this.sTaskDevice = uTaskDevice;
this.bTaskSelect = bTaskSelect;
this.sProfile = sProfile;
this.dParameters = new Dictionary<string, string>();
}
}
[Serializable]
public class cConInfo
{
public String sTftpIP { get; set; }
public String sTftpUsername { get; set; }
public String sTftpPassword { get; set; }
public String sSftpIP { get; set; }
public String sSftpUsername { get; set; }
public String sSftpPassword { get; set; }
public cConInfo(string TftpIP, string TftpUsername, string TftpPassword, string SftpIP, String SftpUsername, String SftPassword)
{
this.sTftpIP = TftpIP;
this.sTftpUsername = TftpUsername;
this.sTftpPassword = TftpPassword;
this.sSftpIP = SftpIP;
this.sSftpUsername = SftpUsername;
this.sSftpPassword = SftPassword;
}
}
}

View File

@@ -1,4 +0,0 @@

View File

@@ -1,4 +0,0 @@

View File

@@ -1,12 +0,0 @@
#CurrentDraw=2.80
#FwVer=N/A
#LineStatus=N/A
#MaxInputPower=0 W

View File

@@ -1,12 +0,0 @@
#CurrentDraw=2.80
#FwVer=N/A
#LineStatus=N/A
#MaxInputPower=0 W

View File

@@ -1,12 +0,0 @@
#CurrentDraw=0.20
#FwVer=N/A
#LineStatus=N/A
#MaxInputPower=0 W

View File

@@ -1,8 +0,0 @@
Disk.Virtual.239:RAID.Slot.1-1
Layout = Raid-6
Status = Ok
Size = 89404.000 GB

View File

@@ -1,4 +0,0 @@

View File

@@ -1,4 +0,0 @@

View File

@@ -1,2 +0,0 @@

View File

@@ -1,12 +0,0 @@
#CurrentDraw=2.80
#FwVer=N/A
#LineStatus=N/A
#MaxInputPower=0 W

View File

@@ -1,12 +0,0 @@
#CurrentDraw=0.20
#FwVer=N/A
#LineStatus=N/A
#MaxInputPower=0 W

175
bin/Debug/BE_20260128154448 Normal file
View File

@@ -0,0 +1,175 @@
-------------------------------------------------------------------------
2026-01-28T15:44:37 Task: OS, profile: CMD_OS_name
-------------------------------------------------------------------------
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.26100 N/A Build 26100
#########################################################################################################
-------------------------------------------------------------------------
2026-01-28T15:44:42 Task: GPU, profile: Powershell_VideoController
-------------------------------------------------------------------------
Caption : Intel(R) Iris(R) Xe Graphics
Description : Intel(R) Iris(R) Xe Graphics
InstallDate :
Name : Intel(R) Iris(R) Xe Graphics
Status : OK
Availability : 3
ConfigManagerErrorCode : 0
ConfigManagerUserConfig : False
CreationClassName : Win32_VideoController
DeviceID : VideoController1
ErrorCleared :
ErrorDescription :
LastErrorCode :
PNPDeviceID : PCI\VEN_8086&DEV_46A6&SUBSYS_0B1A1028&REV_0C\3&11583659&0&10
PowerManagementCapabilities :
PowerManagementSupported :
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
SystemName : BE
MaxNumberControlled :
ProtocolSupported :
TimeOfLastReset :
AcceleratorCapabilities :
CapabilityDescriptions :
CurrentBitsPerPixel : 32
CurrentHorizontalResolution : 3840
CurrentNumberOfColors : 4294967296
CurrentNumberOfColumns : 0
CurrentNumberOfRows : 0
CurrentRefreshRate : 59
CurrentScanMode : 4
CurrentVerticalResolution : 2400
MaxMemorySupported :
MaxRefreshRate : 59
MinRefreshRate : 47
NumberOfVideoPages :
VideoMemoryType : 2
VideoProcessor : Intel(R) Iris(R) Xe Graphics Family
NumberOfColorPlanes :
VideoArchitecture : 5
VideoMode :
AdapterCompatibility : Intel Corporation
AdapterDACType : Internal
AdapterRAM : 2147479552
ColorTableEntries :
DeviceSpecificPens :
DitherType : 0
DriverDate : 2025-09-15 6:00:00 PM
DriverVersion : 32.0.101.7077
ICMIntent :
ICMMethod :
InfFilename : oem329.inf
InfSection : iADLPD_w11_DS
InstalledDisplayDrivers : C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_1428487d11dec111\igdum
dim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_1428487d11de
c111\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_1
428487d11dec111\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.
inf_amd64_1428487d11dec111\igd12umd64.dll
Monochrome : False
ReservedSystemPaletteEntries :
SpecificationVersion :
SystemPaletteEntries :
VideoModeDescription : 3840 x 2400 x 4294967296 colors
PSComputerName :
Caption : NVIDIA RTX A2000 8GB Laptop GPU
Description : NVIDIA RTX A2000 8GB Laptop GPU
InstallDate :
Name : NVIDIA RTX A2000 8GB Laptop GPU
Status : OK
Availability : 3
ConfigManagerErrorCode : 0
ConfigManagerUserConfig : False
CreationClassName : Win32_VideoController
DeviceID : VideoController2
ErrorCleared :
ErrorDescription :
LastErrorCode :
PNPDeviceID : PCI\VEN_10DE&DEV_25BA&SUBSYS_0B1A1028&REV_A1\4&3AFD7104&0&0008
PowerManagementCapabilities :
PowerManagementSupported :
StatusInfo :
SystemCreationClassName : Win32_ComputerSystem
SystemName : BE
MaxNumberControlled :
ProtocolSupported :
TimeOfLastReset :
AcceleratorCapabilities :
CapabilityDescriptions :
CurrentBitsPerPixel : 32
CurrentHorizontalResolution : 2560
CurrentNumberOfColors : 4294967296
CurrentNumberOfColumns : 0
CurrentNumberOfRows : 0
CurrentRefreshRate : 74
CurrentScanMode : 4
CurrentVerticalResolution : 1080
MaxMemorySupported :
MaxRefreshRate : 0
MinRefreshRate :
NumberOfVideoPages :
VideoMemoryType : 2
VideoProcessor : NVIDIA RTX A2000 8GB Laptop GPU
NumberOfColorPlanes :
VideoArchitecture : 5
VideoMode :
AdapterCompatibility : NVIDIA
AdapterDACType : Integrated RAMDAC
AdapterRAM : 4293918720
ColorTableEntries :
DeviceSpecificPens :
DitherType : 0
DriverDate : 2025-09-08 6:00:00 PM
DriverVersion : 32.0.15.8132
ICMIntent :
ICMMethod :
InfFilename : oem334.inf
InfSection : Section396
InstalledDisplayDrivers : C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_90330de7981ac658\nvldumdx.
dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_90330de7981ac658\nvldu
mdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_90330de7981ac658\n
vldumdx.dll,C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_90330de7981ac6
58\nvldumdx.dll
Monochrome : False
ReservedSystemPaletteEntries :
SpecificationVersion :
SystemPaletteEntries :
VideoModeDescription : 2560 x 1080 x 4294967296 colors
PSComputerName :
#########################################################################################################
-------------------------------------------------------------------------
2026-01-28T15:44:43 Task: Windows Activation Status, profile: CMD_Windows_Activation_status
-------------------------------------------------------------------------
Microsoft (R) Windows Script Host Version 10.0
Copyright (C) Microsoft Corporation. All rights reserved.
Software licensing service version: 10.0.26100.7623
Name: Windows(R), Professional edition
Description: Windows(R) Operating System, OEM_DM channel
Activation ID: fe74f55b-0338-41d6-b267-4a201abe7285
Application ID: 55c92734-d682-4d71-983e-d6ec3f16059f
Extended PID: 03612-03556-327-074596-02-4105-26100.0000-0062026
Product Key Channel: OEM:DM
Installation ID: 111889452385229954395250916100480354128494265185422853403339921
Use License URL: https://activation-v2.sls.microsoft.com/SLActivateProduct/SLActivateProduct.asmx?configextension=DM
Validation URL: https://validation-v2.sls.microsoft.com/SLWGA/slwga.asmx
Partial Product Key: KTP2T
License Status: Licensed
Remaining Windows rearm count: 1001
Remaining SKU rearm count: 1001
Trusted time: 2026-01-28 3:44:48 PM
#########################################################################################################

BIN
bin/Debug/FHT.exe Normal file

Binary file not shown.

31
bin/Debug/FHT.exe.config Normal file
View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

BIN
bin/Debug/FHT.pdb Normal file

Binary file not shown.

View File

@@ -0,0 +1,38 @@
#Add exclusions
Add-MpPreference -ExclusionProcess "C:\Program Files\Avigilon\Avigilon Control Center Server\VmsAdminPanel.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsAdminPanel.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsAdminPanelLauncher.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsDaemonService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Daemon\VmsDaemon.exe",
"C:\Program Files\Avigilon\Avigilon Unity Core\VmsCore.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\VmsUpgraderApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Server\LPR6\LprDaemonApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Device Management\VmsDeviceManagement.exe",
"C:\Program Files\Avigilon\Avigilon Unity Analytics Add-on\AnalyticsDaemonService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Client\VmsClientApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Client Framework\AvigilonUnityClientFramework.exe",
"C:\Program Files\Avigilon\Avigilon Unity Web Endpoint\WebEndpointService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Web Endpoint\node.exe",
"C:\Program Files\Avigilon\Avigilon Unity API Gateway\VmsApiGateway.exe",
"C:\Program Files\Avigilon\Avigilon Unity Cloud Bridge\VmsCloudBridge.exe",
"C:\Program Files\Avigilon\Avigilon Unity Orchestrator Service\VmsOrchestratorService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Virtual Matrix\VmsVirtualMatrixApp.exe",
"C:\Program Files\Avigilon\Avigilon Unity Software Manager\Service\VmsLocalUpdaterService.exe",
"C:\Program Files\Avigilon\Avigilon Unity Player\VmsPlayerApp.exe",
"C:\Program Files (x86)\Avigilon\Avigilon Unity Player\VmsPlayerApp.exe"
Add-MpPreference -ExclusionExtension ".avd"
Add-MpPreference -ExclusionPath "$Env:programdata\Avigilon",
"$Env:appdata\Avigilon",
"$Env:localappdata\Avigilon",
"C:\Program Files\Avigilon",
"D:\AvigilonData",
"E:\AvigilonData",
"D:\AvigilonConfig",
"C:\AvigilonConfig"
#Check what is already excluded
Get-MpPreference | Select-Object -Property ExclusionExtension -ExpandProperty ExclusionExtension
Get-MpPreference| Select-Object -Property ExclusionPath | Format-table -wrap
Get-MpPreference | Select-Object -Property ExclusionProcess | Format-list

View File

@@ -0,0 +1 @@
Select-String -Path "C:\ProgramData\Avigilon\Avigilon Unity Core\Logs\VmsCore.clef" -Pattern "Acc.ServerName" -List

View File

@@ -0,0 +1,33 @@
# Create incoming rule for Ping
New-NetFirewallRule -DisplayName "Ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow
# Create incoming rule for CIW on Total Care PC
New-NetFirewallRule -DisplayName "CIW Syslog" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 514 `
-Action Allow `
-Profile Private
New-NetFirewallRule -DisplayName "CIW Email" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 25 `
-Action Allow `
-Profile Private
# Create outgoing rule for CIW on NVRs
New-NetFirewallRule -DisplayName "CIW Email" `
-Direction Outbound `
-Protocol TCP `
-LocalPort 25 `
-RemotePort 25 `
-Action Allow `
-Profile Private,Public
New-NetFirewallRule -DisplayName "CIW Syslog" `
-Direction Outbound `
-Protocol UDP `
-LocalPort 514 `
-RemotePort 514 `
-Action Allow `
-Profile Private,Public

View File

@@ -0,0 +1,62 @@
# Show favorites in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowFavorites' -Value 1
# Show all folders in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowAllFolders' -Value 1
# Automatically expand to current folder
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneExpandToCurrentFolder' -Value 1
# Show libraries in navigation pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'NavPaneShowLibraries' -Value 1
# Always show menus
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'AlwaysShowMenus' -Value 1
# Display file icon on thumbnails
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'IconsOnly' -Value 0
# Display file size information in folder tips
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'FolderContentsInfoTip' -Value 1
# Show hidden files and folders
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'Hidden' -Value 1
# Unhide empty drives
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideDrivesWithNoMedia' -Value 0
# Uncheck "Hide extensions for known file types"
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideFileExt' -Value 0
# Uncheck "Hide folder merge conflicts"
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'HideFolderMergeConflicts' -Value 0
# Hide protected operating system files
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowSuperHidden' -Value 0
# Restore previous folder windows at logon
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'PersistBrowsers' -Value 1
# Show drive letters
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowDriveLetters' -Value 1
# Show encrypted or compressed NTFS files in color
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowEncryptedCompressedColor' -Value 1
# Show pop-up description for folders and desktop items
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowInfoTip' -Value 1
# Show previous handlers in preview pane
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'ShowPreviewHandlers' -Value 1
# Show status bar
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'StatusBar' -Value 1
# Apply the changes by restarting File Explorer
Stop-Process -Name explorer -Force
Start-Process explorer
# Apply settings to all folders (This usually requires user action; automate if necessary)
$wshell = New-Object -ComObject wscript.shell
$wshell.SendKeys('%(ve)') # Opens Folder Options -> View
$wshell.SendKeys('{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}') # Select "Apply to Folders" and Confirm

View File

@@ -0,0 +1,8 @@
$adapters = Get-NetAdapter -Physical | Get-NetAdapterPowerManagement
foreach ($adapter in $adapters)
{
$adapter.WakeOnMagicPacket = 'Enabled'
$adapter.WakeOnPattern = 'Enabled'
$adapter.AllowComputerToTurnOffDevice = 'Disabled'
$adapter | Set-NetAdapterPowerManagement
}

View File

@@ -0,0 +1,8 @@
# Set computer to never sleep
powercfg /change standby-timeout-ac 0
# Set monitor to never turn off
powercfg /change monitor-timeout-ac 0
# Set hard drives to never turn off
powercfg /change disk-timeout-ac 0

View File

@@ -0,0 +1,9 @@
# Enable Remote Desktop
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0
# Enable Remote Desktop through Windows Firewall
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
# Allow "Everyone" group to connect
$rdpAccessGroup = "Remote Desktop Users"
Add-LocalGroupMember -Group $rdpAccessGroup -Member "Everyone"

View File

@@ -0,0 +1,49 @@
# Import the Update Session COM object
$updateSession = New-Object -ComObject Microsoft.Update.Session
# Create an update searcher object
$updateSearcher = $updateSession.CreateUpdateSearcher()
# Search for available updates
$searchResult = $updateSearcher.Search("IsInstalled=0")
# Check if updates are available
if ($searchResult.Updates.Count -gt 0) {
Write-Output "$($searchResult.Updates.Count) updates found. Installing..."
# Create an update downloader object
$updateDownloader = $updateSession.CreateUpdateDownloader()
$updateDownloader.Updates = $searchResult.Updates
# Download updates
$downloadResult = $updateDownloader.Download()
if ($downloadResult.ResultCode -eq 2) {
Write-Output "Updates downloaded successfully."
# Create an update installer object
$updateInstaller = $updateSession.CreateUpdateInstaller()
$updateInstaller.Updates = $searchResult.Updates
# Install updates
$installResult = $updateInstaller.Install()
if ($installResult.ResultCode -eq 2) {
Write-Output "Updates installed successfully."
# Check if a restart is required
if ($installResult.RebootRequired) {
Write-Output "Restart is required. Restarting the computer..."
Restart-Computer -Force
} else {
Write-Output "No restart is required."
}
} else {
Write-Error "Failed to install updates. Result code: $($installResult.ResultCode)"
}
} else {
Write-Error "Failed to download updates. Result code: $($downloadResult.ResultCode)"
}
} else {
Write-Output "No updates are available."
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

View File

@@ -1 +0,0 @@
sh run

Binary file not shown.

View File

@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -25,6 +22,10 @@
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.2" newVersion="10.0.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Some files were not shown because too many files have changed in this diff Show More