MegaBites-AI/Windows-powershell
0372
1// Copyright (c) Microsoft Corporation.2// Licensed under the MIT License.3 4using System.Collections;5using System.Collections.Generic;6using System.Collections.ObjectModel;7using System.Diagnostics.CodeAnalysis;8using System.Management.Automation.Language;9using System.Reflection;10using Microsoft.PowerShell.Commands;11using Dbg = System.Management.Automation.Diagnostics;12 13namespace System.Management.Automation14{15 #region VERBS16 17 /// <summary>18 /// Verbs that are commonly used in cmdlet names.19 /// </summary>20 /// <remarks>21 /// These verbs are recommended over their synonyms when used as the verb name22 /// for cmdlets.23 /// </remarks>24 public static class VerbsCommon25 {26 /// <summary>27 /// Synonyms: Add to, append or attach.28 /// </summary>29 public const string Add = "Add";30 31 /// <summary>32 /// Remove all the elements or content of a container.33 /// </summary>34 public const string Clear = "Clear";35 36 /// <summary>37 /// Change the state of a resource to make it inaccessible, unavailable, or unusable.38 /// </summary>39 public const string Close = "Close";40 41 /// <summary>42 /// Copy a resource to another name or another container.43 /// </summary>44 public const string Copy = "Copy";45 46 /// <summary>47 /// Enters a context.48 /// </summary>49 public const string Enter = "Enter";50 51 /// <summary>52 /// Exits a context.53 /// </summary>54 public const string Exit = "Exit";55 56 /// <summary>57 /// Search for an object.58 /// </summary>59 public const string Find = "Find";60 61 /// <summary>62 /// Formats an object for output.63 /// </summary>64 public const string Format = "Format";65 66 /// <summary>67 /// Get the contents/object/children/properties/relations/... of a resource.68 /// </summary>69 public const string Get = "Get";70 71 /// <summary>72 /// Remove from visibility.73 /// </summary>74 public const string Hide = "Hide";75 76 /// <summary>77 /// Combines resources into one resource.78 /// </summary>79 public const string Join = "Join";80 81 /// <summary>82 /// Lock a resource.83 /// </summary>84 public const string Lock = "Lock";85 86 /// <summary>87 /// Move a resource.88 /// </summary>89 public const string Move = "Move";90 91 /// <summary>92 /// Create a new resource.93 /// </summary>94 public const string New = "New";95 96 /// <summary>97 /// Change the state of a resource to make it accessible, available, or usable.98 /// </summary>99 public const string Open = "Open";100 101 /// <summary>102 /// Increases the effectiveness of a resource.103 /// </summary>104 public const string Optimize = "Optimize";105 106 /// <summary>107 /// To set as the current context, including the ability108 /// to reverse this action.109 /// </summary>110 public const string Push = "Push";111 112 /// <summary>113 /// To restore a context saved by a Push operation.114 /// </summary>115 public const string Pop = "Pop";116 117 /// <summary>118 /// Act on a resource again.119 /// </summary>120 public const string Redo = "Redo";121 122 /// <summary>123 /// Remove a resource from a container.124 /// </summary>125 public const string Remove = "Remove";126 127 /// <summary>128 /// Give a resource a new name.129 /// </summary>130 public const string Rename = "Rename";131 132 /// <summary>133 /// Set/reset the contents/object/properties/relations... of a resource.134 /// </summary>135 public const string Reset = "Reset";136 137 /// <summary>138 /// Changes the size of a resource.139 /// </summary>140 public const string Resize = "Resize";141 142 /// <summary>143 /// Get a reference to a resource or summary information about a resource by looking in a specified collection.144 /// Does not actually retrieve that resource.145 /// </summary>146 public const string Search = "Search";147 148 /// <summary>149 /// To take as a choice from among several; pick out.150 /// </summary>151 public const string Select = "Select";152 153 /// <summary>154 /// Set the contents/object/properties/relations... of a resource.155 /// </summary>156 public const string Set = "Set";157 158 /// <summary>159 /// Makes visible, or displays information. Combines get, format, and out verbs.160 /// </summary>161 public const string Show = "Show";162 163 /// <summary>164 /// Pass from one resource or point to another while disregarding or omitting intervening resources or points.165 /// </summary>166 public const string Skip = "Skip";167 168 /// <summary>169 /// Split an object into portions. parts or fragments.170 /// </summary>171 public const string Split = "Split";172 173 /// <summary>174 /// Move to the next point or resource.175 /// </summary>176 public const string Step = "Step";177 178 /// <summary>179 /// </summary>180 public const string Switch = "Switch";181 182 /// <summary>183 /// Reverse an action or process.184 /// </summary>185 public const string Undo = "Undo";186 187 /// <summary>188 /// Unlock a resource.189 /// </summary>190 public const string Unlock = "Unlock";191 192 /// <summary>193 /// Continually inspect a resource for changes.194 /// </summary>195 public const string Watch = "Watch";196 }197 198 /// <summary>199 /// Verbs that are commonly used in cmdlet names when the cmdlet manipulates data.200 /// </summary>201 /// <remarks>202 /// These verbs are recommended over their synonyms when used as the verb name203 /// for cmdlets.204 /// </remarks>205 public static class VerbsData206 {207 /// <summary>208 /// Backup.209 /// </summary>210 public const string Backup = "Backup";211 212 /// <summary>213 /// Establish a well defined state to be able to roll back to.214 /// </summary>215 public const string Checkpoint = "Checkpoint";216 217 /// <summary>218 /// Compare this resource with another one and produce a set of differences.219 /// </summary>220 public const string Compare = "Compare";221 222 /// <summary>223 /// Reduce in size.224 /// </summary>225 public const string Compress = "Compress";226 227 /// <summary>228 /// Change from one encoding to another or from one unit base to another (e.g. feet to meters)229 /// </summary>230 public const string Convert = "Convert";231 232 /// <summary>233 /// Convert from the format named in the noun to a general-purpose format (e.g. string or int).234 /// </summary>235 public const string ConvertFrom = "ConvertFrom";236 237 /// <summary>238 /// Convert from a general-purpose format (e.g. string or int) to the format named in the noun.239 /// </summary>240 public const string ConvertTo = "ConvertTo";241 242 /// <summary>243 /// To dismount - to get off. To detach.244 /// </summary>245 public const string Dismount = "Dismount";246 247 /// <summary>248 /// Performs an in-place modification of a resource.249 /// </summary>250 public const string Edit = "Edit";251 252 /// <summary>253 /// Uncompress or increase in size.254 /// </summary>255 public const string Expand = "Expand";256 257 /// <summary>258 /// Make a copy of a set of resources using an interchange format.259 /// </summary>260 public const string Export = "Export";261 262 /// <summary>263 /// Arrange or associate one or more resources.264 /// </summary>265 public const string Group = "Group";266 267 /// <summary>268 /// Create a set of resources using an interchange format.269 /// </summary>270 public const string Import = "Import";271 272 /// <summary>273 /// Prepare a resource for use. Assign a beginning value to something.274 /// </summary>275 public const string Initialize = "Initialize";276 277 /// <summary>278 /// Limit the consumption of a resource or apply a constraint on a resource.279 /// </summary>280 public const string Limit = "Limit";281 282 /// <summary>283 /// Take multiple instances and create a single instance.284 /// </summary>285 public const string Merge = "Merge";286 287 /// <summary>288 /// To mount - to attache a named entity to a hierarchy at the pathname location. To set in position.289 /// </summary>290 public const string Mount = "Mount";291 292 /// <summary>293 /// Out - direct to a port. Output something to a port.294 /// </summary>295 public const string Out = "Out";296 297 /// <summary>298 /// Make known and accessible to another.299 /// </summary>300 public const string Publish = "Publish";301 302 /// <summary>303 /// Rollback state to a predefined snapshot/checkpoint.304 /// </summary>305 public const string Restore = "Restore";306 307 /// <summary>308 /// Store state in a permanent location.309 /// </summary>310 public const string Save = "Save";311 312 /// <summary>313 /// Coerce one or more resources to the same state.314 /// </summary>315 public const string Sync = "Sync";316 317 /// <summary>318 /// Remove from public access and visibility.319 /// </summary>320 [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Unpublish")]321 public const string Unpublish = "Unpublish";322 323 /// <summary>324 /// Update a resource with new elements or refresh from a source of truth.325 /// </summary>326 public const string Update = "Update";327 }328 329 /// <summary>330 /// Verbs that are commonly used in cmdlet names when the cmdlet manipulates the lifecycle of something.331 /// </summary>332 /// <remarks>333 /// These verbs are recommended over their synonyms when used as the verb name334 /// for cmdlets.335 /// </remarks>336 public static class VerbsLifecycle337 {338 /// <summary>339 /// Agree to the status of a resource or process.340 /// </summary>341 public const string Approve = "Approve";342 343 /// <summary>344 /// State or affirm the state of an object.345 /// </summary>346 public const string Assert = "Assert";347 348 /// <summary>349 /// Creates an artifact (usually a binary or document) out of some set of input files (usually source code or declarative documents)350 /// </summary>351 public const string Build = "Build";352 353 /// <summary>354 /// Finalize an interruptible activity. Makes pending changes permanent.355 /// </summary>356 public const string Complete = "Complete";357 358 /// <summary>359 /// Acknowledge, verify, or validate the state of a resource.360 /// </summary>361 public const string Confirm = "Confirm";362 363 /// <summary>364 /// Refuse, object, block, or oppose the state of a resource or process.365 /// </summary>366 public const string Deny = "Deny";367 368 /// <summary>369 /// Sends an application, website, or solution to a remote target[s] in such a way that a consumer of that solution can access it after deployment is complete.370 /// </summary>371 public const string Deploy = "Deploy";372 373 /// <summary>374 /// Stop and/or configure something to be unavailable (e.g unable to not start again)375 /// </summary>376 public const string Disable = "Disable";377 378 /// <summary>379 /// Configure to be available (e.g. able to start)380 /// </summary>381 public const string Enable = "Enable";382 383 /// <summary>384 /// Settle in an indicated place or condition (optionally initializing for use)385 /// </summary>386 public const string Install = "Install";387 388 /// <summary>389 /// Calls or launches an activity that cannot be stopped.390 /// </summary>391 public const string Invoke = "Invoke";392 393 /// <summary>394 /// Record details about an item in a public store or publishing location395 /// </summary>396 public const string Register = "Register";397 398 /// <summary>399 /// Ask for a resource or permissions.400 /// </summary>401 public const string Request = "Request";402 403 /// <summary>404 /// Terminate existing activity and begin it again (with the same configuration)405 /// </summary>406 public const string Restart = "Restart";407 408 /// <summary>409 /// Begin an activity again after it was suspended.410 /// </summary>411 public const string Resume = "Resume";412 413 /// <summary>414 /// Begin an activity.415 /// </summary>416 public const string Start = "Start";417 418 /// <summary>419 ///Discontinue or cease an activity420 /// </summary>421 public const string Stop = "Stop";422 423 /// <summary>424 /// Present a resource for approval.425 /// </summary>426 public const string Submit = "Submit";427 428 /// <summary>429 /// Suspend an activity temporarily.430 /// </summary>431 public const string Suspend = "Suspend";432 433 /// <summary>434 /// Remove or disassociate.435 /// </summary>436 public const string Uninstall = "Uninstall";437 438 /// <summary>439 /// Remove details of an item from a public store or publishing location440 /// </summary>441 public const string Unregister = "Unregister";442 443 /// <summary>444 /// Suspend execution until an expected event445 /// </summary>446 public const string Wait = "Wait";447 }448 449 /// <summary>450 /// Verbs that are commonly used in cmdlet names when the cmdlet is used to diagnose the health of something.451 /// </summary>452 /// <remarks>453 /// These verbs are recommended over their synonyms when used as the verb name454 /// for cmdlets.455 /// </remarks>456 public static class VerbsDiagnostic457 {458 /// <summary>459 /// Iteratively interact with a resource or activity for the purpose finding a flaw or better understanding of what is occurring.460 /// </summary>461 public const string Debug = "Debug";462 463 /// <summary>464 /// Calculate/identify resources consumed by a specified operation or retrieve statistics about a resource.465 /// </summary>466 public const string Measure = "Measure";467 468 /// <summary>469 /// Determine whether a resource is alive and responding to requests.470 /// </summary>471 public const string Ping = "Ping";472 473 /// <summary>474 /// Detect and correct problems.475 /// </summary>476 public const string Repair = "Repair";477 478 /// <summary>479 /// Map a shorthand name will be bound to a longname.480 /// </summary>481 public const string Resolve = "Resolve";482 483 /// <summary>484 /// Verify the operational validity or consistency of a resource.485 /// </summary>486 public const string Test = "Test";487 488 /// <summary>489 /// Trace activities performed by a specified operation.490 /// </summary>491 public const string Trace = "Trace";492 }493 494 /// <summary>495 /// Verbs that are commonly used in cmdlet names when the cmdlet is used to communicate with something.496 /// </summary>497 /// <remarks>498 /// These verbs are recommended over their synonyms when used as the verb name499 /// for cmdlets.500 /// </remarks>501 public static class VerbsCommunications502 {503 /// <summary>504 /// Associate subsequent activities with a resource.505 /// </summary>506 public const string Connect = "Connect";507 508 /// <summary>509 /// Disassociate from a resource.510 /// </summary>511 public const string Disconnect = "Disconnect";512 513 /// <summary>514 /// To read - to obtain (data) from a storage medium or port.515 /// </summary>516 public const string Read = "Read";517 518 /// <summary>519 /// Take or acquire from a source.520 /// </summary>521 public const string Receive = "Receive";522 523 /// <summary>524 /// Convey by an intermediary to a destination.525 /// </summary>526 public const string Send = "Send";527 528 /// <summary>529 /// TO write - communicate or express. Display data.530 /// </summary>531 public const string Write = "Write";532 }533 534 /// <summary>535 /// Verbs that are commonly used in cmdlet names when the cmdlet is used to secure a resource.536 /// </summary>537 /// <remarks>538 /// These verbs are recommended over their synonyms when used as the verb name539 /// for cmdlets.540 /// </remarks>541 public static class VerbsSecurity542 {543 /// <summary>544 /// Prevent access to or usage of a resource.545 /// </summary>546 public const string Block = "Block";547 548 /// <summary>549 /// Gives access to a resource.550 /// </summary>551 public const string Grant = "Grant";552 553 /// <summary>554 /// Guard a resource from attack or loss.555 /// </summary>556 public const string Protect = "Protect";557 558 /// <summary>559 /// Removes access to a resource.560 /// </summary>561 public const string Revoke = "Revoke";562 563 /// <summary>564 /// Allow access to or usage of a resource.565 /// </summary>566 public const string Unblock = "Unblock";567 568 /// <summary>569 /// Remove guards from a resource that prevent it from attack or loss.570 /// </summary>571 public const string Unprotect = "Unprotect";572 }573 574 /// <summary>575 /// Canonical verbs that don't fit into any of the other categories.576 /// </summary>577 public static class VerbsOther578 {579 /// <summary>580 /// To use or include a resource. To set as the context of an action.581 /// </summary>582 public const string Use = "Use";583 }584 585 /// <summary>586 /// Verb descriptions.587 /// </summary>588 internal static class VerbDescriptions589 {590 /// <summary>591 /// Gets verb description from the resource file.592 /// </summary>593 public static string GetVerbDescription(string verb)594 {595 return VerbDescriptionStrings.ResourceManager.GetString(verb);596 }597 }598 599 /// <summary>600 /// Verb Alias prefixes.601 /// </summary>602 internal static class VerbAliasPrefixes603 {604 /// <summary>605 /// "Add" verb alias prefix.606 /// </summary>607 public const string Add = "a";608 609 /// <summary>610 /// "Approve" verb alias prefix.611 /// </summary>612 public const string Approve = "ap";613 614 /// <summary>615 /// "Assert" verb alias prefix.616 /// </summary>617 public const string Assert = "as";618 619 /// <summary>620 /// "Backup" verb alias prefix.621 /// </summary>622 public const string Backup = "ba";623 624 /// <summary>625 /// "Block" verb alias prefix.626 /// </summary>627 public const string Block = "bl";628 629 /// <summary>630 /// "Build" verb alias prefix.631 /// </summary>632 public const string Build = "bd";633 634 /// <summary>635 /// "Checkpoint" verb alias prefix.636 /// </summary>637 public const string Checkpoint = "ch";638 639 /// <summary>640 /// "Clear" verb alias prefix.641 /// </summary>642 public const string Clear = "cl";643 644 /// <summary>645 /// "Close" verb alias prefix.646 /// </summary>647 public const string Close = "cs";648 649 /// <summary>650 /// "Compare" verb alias prefix.651 /// </summary>652 public const string Compare = "cr";653 654 /// <summary>655 /// "Complete" verb alias prefix.656 /// </summary>657 public const string Complete = "cmp";658 659 /// <summary>660 /// "Compress" verb alias prefix.661 /// </summary>662 public const string Compress = "cm";663 664 /// <summary>665 /// "Confirm" verb alias prefix.666 /// </summary>667 public const string Confirm = "cn";668 669 /// <summary>670 /// "Connect" verb alias prefix.671 /// </summary>672 public const string Connect = "cc";673 674 /// <summary>675 /// "Convert" verb alias prefix.676 /// </summary>677 public const string Convert = "cv";678 679 /// <summary>680 /// "ConvertFrom" verb alias prefix.681 /// </summary>682 public const string ConvertFrom = "cf";683 684 /// <summary>685 /// "ConvertTo" verb alias prefix.686 /// </summary>687 public const string ConvertTo = "ct";688 689 /// <summary>690 /// "Copy" verb alias prefix.691 /// </summary>692 public const string Copy = "cp";693 694 /// <summary>695 /// "Debug" verb alias prefix.696 /// </summary>697 public const string Debug = "db";698 699 /// <summary>700 /// "Deny" verb alias prefix.701 /// </summary>702 public const string Deny = "dn";703 704 /// <summary>705 /// "Deploy" verb alias prefix.706 /// </summary>707 public const string Deploy = "dp";708 709 /// <summary>710 /// "Disable" verb alias prefix.711 /// </summary>712 public const string Disable = "d";713 714 /// <summary>715 /// "Disconnect" verb alias prefix.716 /// </summary>717 public const string Disconnect = "dc";718 719 /// <summary>720 /// "Dismount" verb alias prefix.721 /// </summary>722 public const string Dismount = "dm";723 724 /// <summary>725 /// "Edit" verb alias prefix.726 /// </summary>727 public const string Edit = "ed";728 729 /// <summary>730 /// "Enable" verb alias prefix.731 /// </summary>732 public const string Enable = "e";733 734 /// <summary>735 /// "Enter" verb alias prefix.736 /// </summary>737 public const string Enter = "et";738 739 /// <summary>740 /// "Exit" verb alias prefix.741 /// </summary>742 public const string Exit = "ex";743 744 /// <summary>745 /// "Expand" verb alias prefix.746 /// </summary>747 public const string Expand = "en";748 749 /// <summary>750 /// "Export" verb alias prefix.751 /// </summary>752 public const string Export = "ep";753 754 /// <summary>755 /// "Find" verb alias prefix.756 /// </summary>757 public const string Find = "fd";758 759 /// <summary>760 /// "Format" verb alias prefix.761 /// </summary>762 public const string Format = "f";763 764 /// <summary>765 /// "Get" verb alias prefix.766 /// </summary>767 public const string Get = "g";768 769 /// <summary>770 /// "Grant" verb alias prefix.771 /// </summary>772 public const string Grant = "gr";773 774 /// <summary>775 /// "Group" verb alias prefix.776 /// </summary>777 public const string Group = "gp";778 779 /// <summary>780 /// "Hide" verb alias prefix.781 /// </summary>782 public const string Hide = "h";783 784 /// <summary>785 /// "Import" verb alias prefix.786 /// </summary>787 public const string Import = "ip";788 789 /// <summary>790 /// "Initialize" verb alias prefix.791 /// </summary>792 public const string Initialize = "in";793 794 /// <summary>795 /// "Install" verb alias prefix.796 /// </summary>797 public const string Install = "is";798 799 /// <summary>800 /// "Invoke" verb alias prefix.801 /// </summary>802 public const string Invoke = "i";803 804 /// <summary>805 /// "Join" verb alias prefix.806 /// </summary>807 public const string Join = "j";808 809 /// <summary>810 /// "Limit" verb alias prefix.811 /// </summary>812 public const string Limit = "l";813 814 /// <summary>815 /// "Lock" verb alias prefix.816 /// </summary>817 public const string Lock = "lk";818 819 /// <summary>820 /// "Measure" verb alias prefix.821 /// </summary>822 public const string Measure = "ms";823 824 /// <summary>825 /// "Merge" verb alias prefix.826 /// </summary>827 public const string Merge = "mg";828 829 /// <summary>830 /// "Mount" verb alias prefix.831 /// </summary>832 public const string Mount = "mt";833 834 /// <summary>835 /// "Move" verb alias prefix.836 /// </summary>837 public const string Move = "m";838 839 /// <summary>840 /// "New" verb alias prefix.841 /// </summary>842 public const string New = "n";843 844 /// <summary>845 /// "Open" verb alias prefix.846 /// </summary>847 public const string Open = "op";848 849 /// <summary>850 /// "Optimize" verb alias prefix.851 /// </summary>852 public const string Optimize = "om";853 854 /// <summary>855 /// "Out" verb alias prefix.856 /// </summary>857 public const string Out = "o";858 859 /// <summary>860 /// "Ping" verb alias prefix.861 /// </summary>862 public const string Ping = "pi";863 864 /// <summary>865 /// "Pop" verb alias prefix.866 /// </summary>867 public const string Pop = "pop";868 869 /// <summary>870 /// "Protect" verb alias prefix.871 /// </summary>872 public const string Protect = "pt";873 874 /// <summary>875 /// "Publish" verb alias prefix.876 /// </summary>877 public const string Publish = "pb";878 879 /// <summary>880 /// "Push" verb alias prefix.881 /// </summary>882 public const string Push = "pu";883 884 /// <summary>885 /// "Read" verb alias prefix.886 /// </summary>887 public const string Read = "rd";888 889 /// <summary>890 /// "Receive" verb alias prefix.891 /// </summary>892 public const string Receive = "rc";893 894 /// <summary>895 /// "Redo" verb alias prefix.896 /// </summary>897 public const string Redo = "re";898 899 /// <summary>900 /// "Register" verb alias prefix.901 /// </summary>902 public const string Register = "rg";903 904 /// <summary>905 /// "Remove" verb alias prefix.906 /// </summary>907 public const string Remove = "r";908 909 /// <summary>910 /// "Rename" verb alias prefix.911 /// </summary>912 public const string Rename = "rn";913 914 /// <summary>915 /// "Repair" verb alias prefix.916 /// </summary>917 public const string Repair = "rp";918 919 /// <summary>920 /// "Request" verb alias prefix.921 /// </summary>922 public const string Request = "rq";923 924 /// <summary>925 /// "Reset" verb alias prefix.926 /// </summary>927 public const string Reset = "rs";928 929 /// <summary>930 /// "Resize" verb alias prefix.931 /// </summary>932 public const string Resize = "rz";933 934 /// <summary>935 /// "Resolve" verb alias prefix.936 /// </summary>937 public const string Resolve = "rv";938 939 /// <summary>940 /// "Restart" verb alias prefix.941 /// </summary>942 public const string Restart = "rt";943 944 /// <summary>945 /// "Restore" verb alias prefix.946 /// </summary>947 public const string Restore = "rr";948 949 /// <summary>950 /// "Resume" verb alias prefix.951 /// </summary>952 public const string Resume = "ru";953 954 /// <summary>955 /// "Revoke" verb alias prefix.956 /// </summary>957 public const string Revoke = "rk";958 959 /// <summary>960 /// "Save" verb alias prefix.961 /// </summary>962 public const string Save = "sv";963 964 /// <summary>965 /// "Search" verb alias prefix.966 /// </summary>967 public const string Search = "sr";968 969 /// <summary>970 /// "Select" verb alias prefix.971 /// </summary>972 public const string Select = "sc";973 974 /// <summary>975 /// "Send" verb alias prefix.976 /// </summary>977 public const string Send = "sd";978 979 /// <summary>980 /// "Set" verb alias prefix.981 /// </summary>982 public const string Set = "s";983 984 /// <summary>985 /// "Show" verb alias prefix.986 /// </summary>987 public const string Show = "sh";988 989 /// <summary>990 /// "Sync" verb alias prefix.991 /// </summary>992 public const string Sync = "sy";993 994 /// <summary>995 /// "Skip" verb alias prefix.996 /// </summary>997 public const string Skip = "sk";998 999 /// <summary>1000 /// "Split" verb alias prefix.1001 /// </summary>1002 public const string Split = "sl";1003 1004 /// <summary>1005 /// "Start" verb alias prefix.1006 /// </summary>1007 public const string Start = "sa";1008 1009 /// <summary>1010 /// "Step" verb alias prefix.1011 /// </summary>1012 public const string Step = "st";1013 1014 /// <summary>1015 /// "Stop" verb alias prefix.1016 /// </summary>1017 public const string Stop = "sp";1018 1019 /// <summary>1020 /// "Submit" verb alias prefix.1021 /// </summary>1022 public const string Submit = "sb";1023 1024 /// <summary>1025 /// "Suspend" verb alias prefix.1026 /// </summary>1027 public const string Suspend = "ss";1028 1029 /// <summary>1030 /// "Switch" verb alias prefix.1031 /// </summary>1032 public const string Switch = "sw";1033 1034 /// <summary>1035 /// "Test" verb alias prefix.1036 /// </summary>1037 public const string Test = "t";1038 1039 /// <summary>1040 /// "Trace" verb alias prefix.1041 /// </summary>1042 public const string Trace = "tr";1043 1044 /// <summary>1045 /// "Unblock" verb alias prefix.1046 /// </summary>1047 public const string Unblock = "ul";1048 1049 /// <summary>1050 /// "Undo" verb alias prefix.1051 /// </summary>1052 public const string Undo = "un";1053 1054 /// <summary>1055 /// "Uninstall" verb alias prefix.1056 /// </summary>1057 public const string Uninstall = "us";1058 1059 /// <summary>1060 /// "Unlock" verb alias prefix.1061 /// </summary>1062 public const string Unlock = "uk";1063 1064 /// <summary>1065 /// "Unprotect" verb alias prefix.1066 /// </summary>1067 public const string Unprotect = "up";1068 1069 /// <summary>1070 /// "Unpublish" verb alias prefix.1071 /// </summary>1072 public const string Unpublish = "ub";1073 1074 /// <summary>1075 /// "Unregister" verb alias prefix.1076 /// </summary>1077 public const string Unregister = "ur";1078 1079 /// <summary>1080 /// "Update" verb alias prefix.1081 /// </summary>1082 public const string Update = "ud";1083 1084 /// <summary>1085 /// "Use" verb alias prefix.1086 /// </summary>1087 public const string Use = "u";1088 1089 /// <summary>1090 /// "Wait" verb alias prefix.1091 /// </summary>1092 public const string Wait = "w";1093 1094 /// <summary>1095 /// "Watch" verb alias prefix.1096 /// </summary>1097 public const string Watch = "wc";1098 1099 /// <summary>1100 /// "Write" verb alias prefix.1101 /// </summary>1102 public const string Write = "wr";1103 1104 /// <summary>1105 /// Gets verb prefix.1106 /// </summary>1107 public static string GetVerbAliasPrefix(string verb)1108 {1109 FieldInfo aliasField = typeof(VerbAliasPrefixes).GetField(verb);1110 if (aliasField != null)1111 {1112 return (string)aliasField.GetValue(null);1113 }1114 else1115 {1116 return string.Empty;1117 }1118 }1119 }1120 1121 /// <summary>1122 /// Provides information about a verb used to name commands defined in PowerShell.1123 /// </summary>1124 public class VerbInfo1125 {1126 /// <summary>1127 /// The verb name, used to begin command names.1128 /// </summary>1129 public string Verb1130 {1131 get; set;1132 }1133 1134 /// <summary>1135 /// The alias prefix, recommended for aliases to commands that begin with this verb.1136 /// </summary>1137 public string AliasPrefix1138 {1139 get; set;1140 }1141 1142 /// <summary>1143 /// The name of the functional category of commands that begin with this verb.1144 /// </summary>1145 public string Group1146 {1147 get; set;1148 }1149 1150 /// <summary>1151 /// Explains what the verb is meant to do with its object.1152 /// </summary>1153 public string Description1154 {1155 get; set;1156 }1157 }1158 1159 internal static class Verbs1160 {1161 static Verbs()1162 {1163 foreach (Type type in VerbTypes)1164 {1165 foreach (FieldInfo field in type.GetFields())1166 {1167 if (field.IsLiteral)1168 {1169 s_validVerbs.Add((string)field.GetValue(null), true);1170 }1171 }1172 }1173 1174 s_recommendedAlternateVerbs.Add("accept", new string[] { "Receive" });1175 s_recommendedAlternateVerbs.Add("acquire", new string[] { "Get", "Read" });1176 s_recommendedAlternateVerbs.Add("allocate", new string[] { "New" });1177 s_recommendedAlternateVerbs.Add("allow", new string[] { "Enable", "Grant", "Unblock" });1178 s_recommendedAlternateVerbs.Add("amend", new string[] { "Edit" });1179 s_recommendedAlternateVerbs.Add("analyze", new string[] { "Measure", "Test" });1180 s_recommendedAlternateVerbs.Add("append", new string[] { "Add" });1181 s_recommendedAlternateVerbs.Add("assign", new string[] { "Set" });1182 s_recommendedAlternateVerbs.Add("associate", new string[] { "Join", "Merge" });1183 s_recommendedAlternateVerbs.Add("attach", new string[] { "Add", "Debug" });1184 s_recommendedAlternateVerbs.Add("bc", new string[] { "Compare" });1185 s_recommendedAlternateVerbs.Add("boot", new string[] { "Start" });1186 s_recommendedAlternateVerbs.Add("break", new string[] { "Disconnect" });1187 s_recommendedAlternateVerbs.Add("broadcast", new string[] { "Send" });1188 s_recommendedAlternateVerbs.Add("burn", new string[] { "Backup" });1189 s_recommendedAlternateVerbs.Add("calculate", new string[] { "Measure" });1190 s_recommendedAlternateVerbs.Add("cancel", new string[] { "Stop" });1191 s_recommendedAlternateVerbs.Add("cat", new string[] { "Get" });1192 s_recommendedAlternateVerbs.Add("change", new string[] { "Convert", "Edit", "Rename" });1193 s_recommendedAlternateVerbs.Add("clean", new string[] { "Uninstall" });1194 s_recommendedAlternateVerbs.Add("clone", new string[] { "Copy" });1195 s_recommendedAlternateVerbs.Add("combine", new string[] { "Join", "Merge" });1196 s_recommendedAlternateVerbs.Add("compact", new string[] { "Compress" });1197 s_recommendedAlternateVerbs.Add("compile", new string[] { "Build" });1198 s_recommendedAlternateVerbs.Add("concatenate", new string[] { "Add" });1199 s_recommendedAlternateVerbs.Add("configure", new string[] { "Set" });1200 s_recommendedAlternateVerbs.Add("create", new string[] { "New" });