From 09ec0e63c70fd221b2d6d2f8c187313ae9fe1db8 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Tue, 6 Feb 2024 10:29:35 -0600 Subject: [PATCH 1/2] Update description of `using assembly` --- .../About/about_Using.md | 95 +++++++++---------- .../About/about_Using.md | 90 +++++++++--------- .../About/about_Using.md | 90 +++++++++--------- .../About/about_Using.md | 90 +++++++++--------- .../About/about_Using.md | 90 +++++++++--------- 5 files changed, 225 insertions(+), 230 deletions(-) diff --git a/reference/5.1/Microsoft.PowerShell.Core/About/about_Using.md b/reference/5.1/Microsoft.PowerShell.Core/About/about_Using.md index 9ae8ac72582a..f45db68069b1 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/About/about_Using.md +++ b/reference/5.1/Microsoft.PowerShell.Core/About/about_Using.md @@ -1,7 +1,7 @@ --- description: Allows you to specify namespaces to use in the session. Locale: en-US -ms.date: 08/17/2023 +ms.date: 02/06/2024 online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Using @@ -37,6 +37,33 @@ using namespace <.NET-namespace> Specifying a namespace makes it easier to reference types by their short names. +### Example - Add namespaces for typename resolution + +The following script gets the cryptographic hash for the "Hello World" string. + +Note how the `using namespace System.Text` and `using namespace System.IO` +simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` +and `[MemoryStream]` in `System.IO`. + +```powershell +using namespace System.Text +using namespace System.IO + +[string]$string = "Hello World" +## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" +[string]$algorithm = "SHA256" + +[byte[]]$stringBytes = [UnicodeEncoding]::Unicode.GetBytes($string) + +[Stream]$memoryStream = [MemoryStream]::new($stringBytes) +$getFileHashSplat = @{ + InputStream = $memoryStream + Algorithm = $algorithm +} +$hashFromStream = Get-FileHash @getFileHashSplat +$hashFromStream.Hash.ToString() +``` + ## Module syntax To load classes and enumerations from a PowerShell module: @@ -85,54 +112,7 @@ To ensure that you're running the latest version, you must start a new session. Classes and enumerations defined in PowerShell and imported with a `using` statement can't be unloaded. -## Assembly syntax - -To preload types from a .NET assembly: - -``` -using assembly <.NET-assembly-path> -using assembly <.NET-namespace> -``` - -Loading an assembly preloads .NET types from that assembly into a script at -parse time. This allows you to create new PowerShell classes that use types -from the preloaded assembly. - -In Windows PowerShell 5.1 you can load the assembly by path name or by -name. When you use the name, PowerShell searches the .NET Global Assembly -Cache (GAC) for the associated assembly. - -If you aren't creating new PowerShell classes, use the `Add-Type` cmdlet -instead. For more information, see -[Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). - -## Examples - -### Example 1 - Add namespaces for typename resolution - -The following script gets the cryptographic hash for the "Hello World" string. - -Note how the `using namespace System.Text` and `using namespace System.IO` -simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` -and `[MemoryStream]` in `System.IO`. - -```powershell -using namespace System.Text -using namespace System.IO - -[string]$string = "Hello World" -## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" -[string]$algorithm = "SHA256" - -[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string) - -[Stream]$memorystream = [MemoryStream]::new($stringbytes) -$hashfromstream = Get-FileHash -InputStream $memorystream ` - -Algorithm $algorithm -$hashfromstream.Hash.ToString() -``` - -### Example 2 - Load classes from a script module +### Example - Load classes from a script module In this example, a PowerShell script module named **CardGames** defines the following classes: @@ -154,7 +134,22 @@ $deck.Shuffle() [Card[]]$hand3 = $deck.Deal(5) ``` -### Example 3 - Load classes from an assembly +## Assembly syntax + +The following syntax preloads .NET types from that assembly into a script at +the beginning of execution. You must use a fully-qualified path to the assembly +file. + +```Syntax +using assembly <.NET-assembly-path> +``` + +The `using assembly` statement is similar to using the `Add-Type` cmdlet. +However, the `Add-Type` cmdlet adds the type at the time that `Add-Type` is +executed, rather than at the start of execution of the script. For more +information, see [Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). + +### Example - Load types from an assembly This example loads an assembly so that its classes can be used when processing data. The following script converts data into a YAML format. diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_Using.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_Using.md index 86db8405e989..0f283fbdd26b 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_Using.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_Using.md @@ -1,7 +1,7 @@ --- description: Allows you to specify namespaces to use in the session. Locale: en-US -ms.date: 08/17/2023 +ms.date: 02/06/2024 online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Using @@ -37,6 +37,33 @@ using namespace <.NET-namespace> Specifying a namespace makes it easier to reference types by their short names. +### Example - Add namespaces for typename resolution + +The following script gets the cryptographic hash for the "Hello World" string. + +Note how the `using namespace System.Text` and `using namespace System.IO` +simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` +and `[MemoryStream]` in `System.IO`. + +```powershell +using namespace System.Text +using namespace System.IO + +[string]$string = "Hello World" +## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" +[string]$algorithm = "SHA256" + +[byte[]]$stringBytes = [UnicodeEncoding]::Unicode.GetBytes($string) + +[Stream]$memoryStream = [MemoryStream]::new($stringBytes) +$getFileHashSplat = @{ + InputStream = $memoryStream + Algorithm = $algorithm +} +$hashFromStream = Get-FileHash @getFileHashSplat +$hashFromStream.Hash.ToString() +``` + ## Module syntax To load classes and enumerations from a PowerShell module: @@ -85,49 +112,7 @@ To ensure that you're running the latest version, you must start a new session. Classes and enumerations defined in PowerShell and imported with a `using` statement can't be unloaded. -## Assembly syntax - -To preload types from a .NET assembly: - -``` -using assembly <.NET-assembly-path> -``` - -Loading an assembly preloads .NET types from that assembly into a script at -parse time. This allows you to create new PowerShell classes that use types -from the preloaded assembly. - -If you aren't creating new PowerShell classes, use the `Add-Type` cmdlet -instead. For more information, see -[Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). - -## Examples - -### Example 1 - Add namespaces for typename resolution - -The following script gets the cryptographic hash for the "Hello World" string. - -Note how the `using namespace System.Text` and `using namespace System.IO` -simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` -and `[MemoryStream]` in `System.IO`. - -```powershell -using namespace System.Text -using namespace System.IO - -[string]$string = "Hello World" -## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" -[string]$algorithm = "SHA256" - -[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string) - -[Stream]$memorystream = [MemoryStream]::new($stringbytes) -$hashfromstream = Get-FileHash -InputStream $memorystream ` - -Algorithm $algorithm -$hashfromstream.Hash.ToString() -``` - -### Example 2 - Load classes from a script module +### Example - Load classes from a script module In this example, a PowerShell script module named **CardGames** defines the following classes: @@ -149,7 +134,22 @@ $deck.Shuffle() [Card[]]$hand3 = $deck.Deal(5) ``` -### Example 3 - Load classes from an assembly +## Assembly syntax + +The following syntax preloads .NET types from that assembly into a script at +the beginning of execution. You must use a fully-qualified path to the assembly +file. + +```Syntax +using assembly <.NET-assembly-path> +``` + +The `using assembly` statement is similar to using the `Add-Type` cmdlet. +However, the `Add-Type` cmdlet adds the type at the time that `Add-Type` is +executed, rather than at the start of execution of the script. For more +information, see [Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). + +### Example - Load types from an assembly This example loads an assembly so that its classes can be used when processing data. The following script converts data into a YAML format. diff --git a/reference/7.3/Microsoft.PowerShell.Core/About/about_Using.md b/reference/7.3/Microsoft.PowerShell.Core/About/about_Using.md index 0ad4585e9c25..6f283cf8cf21 100644 --- a/reference/7.3/Microsoft.PowerShell.Core/About/about_Using.md +++ b/reference/7.3/Microsoft.PowerShell.Core/About/about_Using.md @@ -1,7 +1,7 @@ --- description: Allows you to specify namespaces to use in the session. Locale: en-US -ms.date: 08/17/2023 +ms.date: 02/06/2024 online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-7.3&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Using @@ -37,6 +37,33 @@ using namespace <.NET-namespace> Specifying a namespace makes it easier to reference types by their short names. +### Example - Add namespaces for typename resolution + +The following script gets the cryptographic hash for the "Hello World" string. + +Note how the `using namespace System.Text` and `using namespace System.IO` +simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` +and `[MemoryStream]` in `System.IO`. + +```powershell +using namespace System.Text +using namespace System.IO + +[string]$string = "Hello World" +## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" +[string]$algorithm = "SHA256" + +[byte[]]$stringBytes = [UnicodeEncoding]::Unicode.GetBytes($string) + +[Stream]$memoryStream = [MemoryStream]::new($stringBytes) +$getFileHashSplat = @{ + InputStream = $memoryStream + Algorithm = $algorithm +} +$hashFromStream = Get-FileHash @getFileHashSplat +$hashFromStream.Hash.ToString() +``` + ## Module syntax To load classes and enumerations from a PowerShell module: @@ -85,49 +112,7 @@ To ensure that you're running the latest version, you must start a new session. Classes and enumerations defined in PowerShell and imported with a `using` statement can't be unloaded. -## Assembly syntax - -To preload types from a .NET assembly: - -``` -using assembly <.NET-assembly-path> -``` - -Loading an assembly preloads .NET types from that assembly into a script at -parse time. This allows you to create new PowerShell classes that use types -from the preloaded assembly. - -If you aren't creating new PowerShell classes, use the `Add-Type` cmdlet -instead. For more information, see -[Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). - -## Examples - -### Example 1 - Add namespaces for typename resolution - -The following script gets the cryptographic hash for the "Hello World" string. - -Note how the `using namespace System.Text` and `using namespace System.IO` -simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` -and `[MemoryStream]` in `System.IO`. - -```powershell -using namespace System.Text -using namespace System.IO - -[string]$string = "Hello World" -## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" -[string]$algorithm = "SHA256" - -[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string) - -[Stream]$memorystream = [MemoryStream]::new($stringbytes) -$hashfromstream = Get-FileHash -InputStream $memorystream ` - -Algorithm $algorithm -$hashfromstream.Hash.ToString() -``` - -### Example 2 - Load classes from a script module +### Example - Load classes from a script module In this example, a PowerShell script module named **CardGames** defines the following classes: @@ -149,7 +134,22 @@ $deck.Shuffle() [Card[]]$hand3 = $deck.Deal(5) ``` -### Example 3 - Load classes from an assembly +## Assembly syntax + +The following syntax preloads .NET types from that assembly into a script at +the beginning of execution. You must use a fully-qualified path to the assembly +file. + +```Syntax +using assembly <.NET-assembly-path> +``` + +The `using assembly` statement is similar to using the `Add-Type` cmdlet. +However, the `Add-Type` cmdlet adds the type at the time that `Add-Type` is +executed, rather than at the start of execution of the script. For more +information, see [Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). + +### Example - Load types from an assembly This example loads an assembly so that its classes can be used when processing data. The following script converts data into a YAML format. diff --git a/reference/7.4/Microsoft.PowerShell.Core/About/about_Using.md b/reference/7.4/Microsoft.PowerShell.Core/About/about_Using.md index 0eab5d408116..26b45c2a02be 100644 --- a/reference/7.4/Microsoft.PowerShell.Core/About/about_Using.md +++ b/reference/7.4/Microsoft.PowerShell.Core/About/about_Using.md @@ -1,7 +1,7 @@ --- description: Allows you to specify namespaces to use in the session. Locale: en-US -ms.date: 08/17/2023 +ms.date: 02/06/2024 online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-7.4&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Using @@ -37,6 +37,33 @@ using namespace <.NET-namespace> Specifying a namespace makes it easier to reference types by their short names. +### Example - Add namespaces for typename resolution + +The following script gets the cryptographic hash for the "Hello World" string. + +Note how the `using namespace System.Text` and `using namespace System.IO` +simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` +and `[MemoryStream]` in `System.IO`. + +```powershell +using namespace System.Text +using namespace System.IO + +[string]$string = "Hello World" +## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" +[string]$algorithm = "SHA256" + +[byte[]]$stringBytes = [UnicodeEncoding]::Unicode.GetBytes($string) + +[Stream]$memoryStream = [MemoryStream]::new($stringBytes) +$getFileHashSplat = @{ + InputStream = $memoryStream + Algorithm = $algorithm +} +$hashFromStream = Get-FileHash @getFileHashSplat +$hashFromStream.Hash.ToString() +``` + ## Module syntax To load classes and enumerations from a PowerShell module: @@ -85,49 +112,7 @@ To ensure that you're running the latest version, you must start a new session. Classes and enumerations defined in PowerShell and imported with a `using` statement can't be unloaded. -## Assembly syntax - -To preload types from a .NET assembly: - -``` -using assembly <.NET-assembly-path> -``` - -Loading an assembly preloads .NET types from that assembly into a script at -parse time. This allows you to create new PowerShell classes that use types -from the preloaded assembly. - -If you aren't creating new PowerShell classes, use the `Add-Type` cmdlet -instead. For more information, see -[Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). - -## Examples - -### Example 1 - Add namespaces for typename resolution - -The following script gets the cryptographic hash for the "Hello World" string. - -Note how the `using namespace System.Text` and `using namespace System.IO` -simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` -and `[MemoryStream]` in `System.IO`. - -```powershell -using namespace System.Text -using namespace System.IO - -[string]$string = "Hello World" -## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" -[string]$algorithm = "SHA256" - -[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string) - -[Stream]$memorystream = [MemoryStream]::new($stringbytes) -$hashfromstream = Get-FileHash -InputStream $memorystream ` - -Algorithm $algorithm -$hashfromstream.Hash.ToString() -``` - -### Example 2 - Load classes from a script module +### Example - Load classes from a script module In this example, a PowerShell script module named **CardGames** defines the following classes: @@ -149,7 +134,22 @@ $deck.Shuffle() [Card[]]$hand3 = $deck.Deal(5) ``` -### Example 3 - Load classes from an assembly +## Assembly syntax + +The following syntax preloads .NET types from that assembly into a script at +the beginning of execution. You must use a fully-qualified path to the assembly +file. + +```Syntax +using assembly <.NET-assembly-path> +``` + +The `using assembly` statement is similar to using the `Add-Type` cmdlet. +However, the `Add-Type` cmdlet adds the type at the time that `Add-Type` is +executed, rather than at the start of execution of the script. For more +information, see [Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). + +### Example - Load types from an assembly This example loads an assembly so that its classes can be used when processing data. The following script converts data into a YAML format. diff --git a/reference/7.5/Microsoft.PowerShell.Core/About/about_Using.md b/reference/7.5/Microsoft.PowerShell.Core/About/about_Using.md index 99599a054547..fdbcc0a4fce2 100644 --- a/reference/7.5/Microsoft.PowerShell.Core/About/about_Using.md +++ b/reference/7.5/Microsoft.PowerShell.Core/About/about_Using.md @@ -1,7 +1,7 @@ --- description: Allows you to specify namespaces to use in the session. Locale: en-US -ms.date: 08/17/2023 +ms.date: 02/06/2024 online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_using?view=powershell-7.5&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Using @@ -37,6 +37,33 @@ using namespace <.NET-namespace> Specifying a namespace makes it easier to reference types by their short names. +### Example - Add namespaces for typename resolution + +The following script gets the cryptographic hash for the "Hello World" string. + +Note how the `using namespace System.Text` and `using namespace System.IO` +simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` +and `[MemoryStream]` in `System.IO`. + +```powershell +using namespace System.Text +using namespace System.IO + +[string]$string = "Hello World" +## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" +[string]$algorithm = "SHA256" + +[byte[]]$stringBytes = [UnicodeEncoding]::Unicode.GetBytes($string) + +[Stream]$memoryStream = [MemoryStream]::new($stringBytes) +$getFileHashSplat = @{ + InputStream = $memoryStream + Algorithm = $algorithm +} +$hashFromStream = Get-FileHash @getFileHashSplat +$hashFromStream.Hash.ToString() +``` + ## Module syntax To load classes and enumerations from a PowerShell module: @@ -85,49 +112,7 @@ To ensure that you're running the latest version, you must start a new session. Classes and enumerations defined in PowerShell and imported with a `using` statement can't be unloaded. -## Assembly syntax - -To preload types from a .NET assembly: - -``` -using assembly <.NET-assembly-path> -``` - -Loading an assembly preloads .NET types from that assembly into a script at -parse time. This allows you to create new PowerShell classes that use types -from the preloaded assembly. - -If you aren't creating new PowerShell classes, use the `Add-Type` cmdlet -instead. For more information, see -[Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). - -## Examples - -### Example 1 - Add namespaces for typename resolution - -The following script gets the cryptographic hash for the "Hello World" string. - -Note how the `using namespace System.Text` and `using namespace System.IO` -simplify the references to `[UnicodeEncoding]` in `System.Text` and `[Stream]` -and `[MemoryStream]` in `System.IO`. - -```powershell -using namespace System.Text -using namespace System.IO - -[string]$string = "Hello World" -## Valid values are "SHA1", "SHA256", "SHA384", "SHA512", "MD5" -[string]$algorithm = "SHA256" - -[byte[]]$stringbytes = [UnicodeEncoding]::Unicode.GetBytes($string) - -[Stream]$memorystream = [MemoryStream]::new($stringbytes) -$hashfromstream = Get-FileHash -InputStream $memorystream ` - -Algorithm $algorithm -$hashfromstream.Hash.ToString() -``` - -### Example 2 - Load classes from a script module +### Example - Load classes from a script module In this example, a PowerShell script module named **CardGames** defines the following classes: @@ -149,7 +134,22 @@ $deck.Shuffle() [Card[]]$hand3 = $deck.Deal(5) ``` -### Example 3 - Load classes from an assembly +## Assembly syntax + +The following syntax preloads .NET types from that assembly into a script at +the beginning of execution. You must use a fully-qualified path to the assembly +file. + +```Syntax +using assembly <.NET-assembly-path> +``` + +The `using assembly` statement is similar to using the `Add-Type` cmdlet. +However, the `Add-Type` cmdlet adds the type at the time that `Add-Type` is +executed, rather than at the start of execution of the script. For more +information, see [Add-Type](xref:Microsoft.PowerShell.Utility.Add-Type). + +### Example - Load types from an assembly This example loads an assembly so that its classes can be used when processing data. The following script converts data into a YAML format. From ea48dab90877de5eb33e912210efb3b9a4e04b34 Mon Sep 17 00:00:00 2001 From: Sean Wheeler Date: Tue, 6 Feb 2024 10:42:17 -0600 Subject: [PATCH 2/2] Fix broken links --- .../5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md | 4 ++-- .../7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md | 4 ++-- .../7.3/Microsoft.PowerShell.Utility/Send-MailMessage.md | 4 ++-- .../7.4/Microsoft.PowerShell.Utility/Send-MailMessage.md | 5 +++-- .../7.5/Microsoft.PowerShell.Utility/Send-MailMessage.md | 5 +++-- .../module/how-to-write-a-powershell-module-manifest.md | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/reference/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md b/reference/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md index 2b06d0d387dc..06417f0401d0 100644 --- a/reference/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md +++ b/reference/5.1/Microsoft.PowerShell.Utility/Send-MailMessage.md @@ -439,8 +439,8 @@ The `Send-MailMessage` cmdlet is obsolete. For more information, see [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage). This cmdlet doesn't guarantee secure connections to SMTP servers. -_DE0005_ suggests using the third-party library, [MailKit](http://www.mimekit.net/). If you are -using Exchange Online, you can use the +_DE0005_ suggests using the third-party library, [MailKit](https://github.com/jstedfast/MimeKit). If +you are using Exchange Online, you can use the [Send-MgUserMail](/powershell/module/microsoft.graph.users.actions/send-mgusermail) from the Microsoft Graph PowerShell SDK. diff --git a/reference/7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md b/reference/7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md index ee407e5476a8..2171d5c58494 100644 --- a/reference/7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md +++ b/reference/7.2/Microsoft.PowerShell.Utility/Send-MailMessage.md @@ -465,8 +465,8 @@ The `Send-MailMessage` cmdlet is obsolete. For more information, see [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage). This cmdlet doesn't guarantee secure connections to SMTP servers. -_DE0005_ suggests using the third-party library, [MailKit](http://www.mimekit.net/). If you are -using Exchange Online, you can use the +_DE0005_ suggests using the third-party library, [MailKit](https://github.com/jstedfast/MimeKit). If +you are using Exchange Online, you can use the [Send-MgUserMail](/powershell/module/microsoft.graph.users.actions/send-mgusermail) from the Microsoft Graph PowerShell SDK. diff --git a/reference/7.3/Microsoft.PowerShell.Utility/Send-MailMessage.md b/reference/7.3/Microsoft.PowerShell.Utility/Send-MailMessage.md index 5d207938125e..e75889e7a674 100644 --- a/reference/7.3/Microsoft.PowerShell.Utility/Send-MailMessage.md +++ b/reference/7.3/Microsoft.PowerShell.Utility/Send-MailMessage.md @@ -465,8 +465,8 @@ The `Send-MailMessage` cmdlet is obsolete. For more information, see [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage). This cmdlet doesn't guarantee secure connections to SMTP servers. -_DE0005_ suggests using the third-party library, [MailKit](http://www.mimekit.net/). If you are -using Exchange Online, you can use the +_DE0005_ suggests using the third-party library, [MailKit](https://github.com/jstedfast/MimeKit). If +you are using Exchange Online, you can use the [Send-MgUserMail](/powershell/module/microsoft.graph.users.actions/send-mgusermail) from the Microsoft Graph PowerShell SDK. diff --git a/reference/7.4/Microsoft.PowerShell.Utility/Send-MailMessage.md b/reference/7.4/Microsoft.PowerShell.Utility/Send-MailMessage.md index 44cd81b7dbc1..1bb4d155165e 100644 --- a/reference/7.4/Microsoft.PowerShell.Utility/Send-MailMessage.md +++ b/reference/7.4/Microsoft.PowerShell.Utility/Send-MailMessage.md @@ -474,10 +474,11 @@ The `Send-MailMessage` cmdlet is obsolete. For more information, see [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage). This cmdlet doesn't guarantee secure connections to SMTP servers. -_DE0005_ suggests using the third-party library, [MailKit](http://www.mimekit.net/). If you are -using Exchange Online, you can use the +_DE0005_ suggests using the third-party library, [MailKit](https://github.com/jstedfast/MimeKit). If +you are using Exchange Online, you can use the [Send-MgUserMail](/powershell/module/microsoft.graph.users.actions/send-mgusermail) from the Microsoft Graph PowerShell SDK. + ## RELATED LINKS [about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md) diff --git a/reference/7.5/Microsoft.PowerShell.Utility/Send-MailMessage.md b/reference/7.5/Microsoft.PowerShell.Utility/Send-MailMessage.md index 9fe7142f19d5..c26b4fb6d67e 100644 --- a/reference/7.5/Microsoft.PowerShell.Utility/Send-MailMessage.md +++ b/reference/7.5/Microsoft.PowerShell.Utility/Send-MailMessage.md @@ -474,10 +474,11 @@ The `Send-MailMessage` cmdlet is obsolete. For more information, see [Platform Compatibility note DE0005](https://aka.ms/SendMailMessage). This cmdlet doesn't guarantee secure connections to SMTP servers. -_DE0005_ suggests using the third-party library, [MailKit](http://www.mimekit.net/). If you are -using Exchange Online, you can use the +_DE0005_ suggests using the third-party library, [MailKit](https://github.com/jstedfast/MimeKit). If +you are using Exchange Online, you can use the [Send-MgUserMail](/powershell/module/microsoft.graph.users.actions/send-mgusermail) from the Microsoft Graph PowerShell SDK. + ## RELATED LINKS [about_Preference_Variables](../Microsoft.PowerShell.Core/About/about_Preference_Variables.md) diff --git a/reference/docs-conceptual/developer/module/how-to-write-a-powershell-module-manifest.md b/reference/docs-conceptual/developer/module/how-to-write-a-powershell-module-manifest.md index d747f0724d74..997b983d8f24 100644 --- a/reference/docs-conceptual/developer/module/how-to-write-a-powershell-module-manifest.md +++ b/reference/docs-conceptual/developer/module/how-to-write-a-powershell-module-manifest.md @@ -284,4 +284,4 @@ PrivateData = @{ [08]: xref:Microsoft.PowerShell.Core.Import-Module [09]: xref:Microsoft.PowerShell.Core.New-ModuleManifest [10]: xref:Microsoft.PowerShell.Core.Test-ModuleManifest -[11]: xref:PowerShellGet/Update-ModuleManifest +[11]: xref:PowerShellGet.Update-ModuleManifest