I am trying to use empty credentials for anonymous access. How to I set a variable to empty credentials. I am trying to use PSCredential.Empty Property
-
3Just like this `$cred = [pscredential]::Empty` – Santiago Squarzon Aug 24 '22 at 16:28
1 Answers
Santiago Squarzon has provided the solution:
[pscredential]::Empty
is the PowerShell equivalent of C#'s PSCredential.Empty, i.e. access to the static Empty property of the System.Management.Automation.PSCredential type.
PowerShell's syntax for accessing .NET types and their - instance or static - member:
In order to refer to a .NET type by its literal name in PowerShell, you must specify it as a type literal, which is the type name enclosed in
[...][pscredential]works as-is, even in the absence of ausing namespaceSystem.Management.Automationstatement, because it happens to be a type accelerator, i.e. a frequently used type that you can access by a short, unqualified name (which can, but needn't be the same name as that of the type it references; e.g.,[xml]is short forSystem.Xml.XmlDocument).Generally, you either need a
using namespacestatement if you want to use the unqualified name only, or you need to use the namespace-qualified type name; e.g.,[System.Management.Automation.PSCredential]or - given that theSystem.component is optional -[Management.Automation.PSCredential]For a complete discussion of PowerShell's type literals, see this answer.
While instance members of .NET types are accessed with
.(member-access operator), just like in C#, accessing static members requires a different operator:::, the static member-access operator.- A distinct operator is necessary, because type literals are objects themselves, namely instances of
System.Reflection.TypeInfo, so that using.accesses the latter's instance properties; e.g.[pscredential].FullNamereturns the type's namespace-qualified name.
- A distinct operator is necessary, because type literals are objects themselves, namely instances of
Also note that, in keeping with PowerShell's general case-insensitive nature, neither type literals nor member names need be specified case-exactly.
- 382,024
- 64
- 607
- 775