Compare commits
11 Commits
bd3d1fb72e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f761ff2ed6 | |||
| 97d42da9a2 | |||
| 7d35ac2b37 | |||
| fdfca14fb3 | |||
| f07fe51193 | |||
| b087d95122 | |||
| dc577a228d | |||
| 2e8bd6b90f | |||
| f76246d6a8 | |||
| 7701ac62f5 | |||
| cdf2dce90e |
@@ -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
|
After Width: | Height: | Size: 1.1 KiB |
107
Arrange16.svg
Normal 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
|
After Width: | Height: | Size: 2.4 KiB |
107
Arrange24.svg
Normal 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
|
After Width: | Height: | Size: 1.1 KiB |
70
Check16.svg
Normal 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
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Check24.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
69
Check24.svg
Normal 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
|
After Width: | Height: | Size: 1.8 KiB |
111
Delete24.svg
Normal 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
|
After Width: | Height: | Size: 224 KiB |
132
Delete256.svg
Normal 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
|
After Width: | Height: | Size: 1.1 KiB |
105
Deleteb16.svg
Normal 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 |
158
FormConfiguration.Designer.cs
generated
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
private void buttonTasklistEnc_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (checkBox_Local.Checked)
|
||||
Utilities utilities = new Utilities(log);
|
||||
//Enable selecting multiple files
|
||||
openFileDialog.Multiselect = true;
|
||||
|
||||
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
checkBox_Local.Checked = true;
|
||||
IDRAC_Local = checkBox_Local.Checked;
|
||||
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);
|
||||
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
checkBox_Local.Checked = false;
|
||||
IDRAC_Local = checkBox_Local.Checked;
|
||||
//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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
FormCredential.Designer.cs
generated
@@ -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);
|
||||
|
||||
1032
FormCredential.resx
125
FormParameters.Designer.cs
generated
Normal 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
@@ -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
BIN
Load24.png
Normal file
|
After Width: | Height: | Size: 215 B |
74
Load24.svg
Normal 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
|
After Width: | Height: | Size: 2.4 KiB |
13
Profile.cs
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
67
Run16.svg
Normal 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
|
After Width: | Height: | Size: 1.1 KiB |
67
Run24.svg
Normal 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
|
After Width: | Height: | Size: 702 B |
@@ -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>
|
||||
@@ -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
|
After Width: | Height: | Size: 653 B |
74
Save24.svg
Normal 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
|
After Width: | Height: | Size: 2.4 KiB |
382
TastList.Designer.cs
generated
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
1254
TastList.cs
1060
TastList.resx
74
UnCheck16.svg
Normal 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
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Unencrypted PS and Json files/20260321 PS and Json.zip
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
33
Unencrypted PS and Json files/20260515/PS/Firewall Rule.ps1
Normal 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
|
||||
|
||||
62
Unencrypted PS and Json files/20260515/PS/Folder Options.ps1
Normal 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
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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."
|
||||
}
|
||||
520
Unencrypted PS and Json files/20260515/profile.json
Normal 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": []
|
||||
}
|
||||
]
|
||||
310
Unencrypted PS and Json files/20260515/tasklist.json
Normal 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
@@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#CurrentDraw=2.80
|
||||
|
||||
#FwVer=N/A
|
||||
|
||||
#LineStatus=N/A
|
||||
|
||||
#MaxInputPower=0 W
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#CurrentDraw=2.80
|
||||
|
||||
#FwVer=N/A
|
||||
|
||||
#LineStatus=N/A
|
||||
|
||||
#MaxInputPower=0 W
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#CurrentDraw=0.20
|
||||
|
||||
#FwVer=N/A
|
||||
|
||||
#LineStatus=N/A
|
||||
|
||||
#MaxInputPower=0 W
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
Disk.Virtual.239:RAID.Slot.1-1
|
||||
Layout = Raid-6
|
||||
Status = Ok
|
||||
Size = 89404.000 GB
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#CurrentDraw=2.80
|
||||
|
||||
#FwVer=N/A
|
||||
|
||||
#LineStatus=N/A
|
||||
|
||||
#MaxInputPower=0 W
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#CurrentDraw=0.20
|
||||
|
||||
#FwVer=N/A
|
||||
|
||||
#LineStatus=N/A
|
||||
|
||||
#MaxInputPower=0 W
|
||||
|
||||
175
bin/Debug/BE_20260128154448
Normal 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
31
bin/Debug/FHT.exe.config
Normal 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
38
bin/Debug/PS/ACC8 Antivirus Exclusions.ps1
Normal 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
|
||||
|
||||
|
||||
1
bin/Debug/PS/Avigilon Servername.ps1
Normal file
@@ -0,0 +1 @@
|
||||
Select-String -Path "C:\ProgramData\Avigilon\Avigilon Unity Core\Logs\VmsCore.clef" -Pattern "Acc.ServerName" -List
|
||||
33
bin/Debug/PS/Firewall Rule.ps1
Normal 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
|
||||
|
||||
62
bin/Debug/PS/Folder Options.ps1
Normal 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
|
||||
@@ -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
|
||||
}
|
||||
8
bin/Debug/PS/Power Options.ps1
Normal 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
|
||||
9
bin/Debug/PS/Remote Desktop Enable.ps1
Normal 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"
|
||||
49
bin/Debug/PS/Windows Update Restart.ps1
Normal 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."
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -1 +0,0 @@
|
||||
sh run
|
||||
@@ -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>
|
||||