小编Ste*_*ven的帖子

如何在 Powershell 中安装 Mailkit

我好像在绕圈子。。

我尝试过Install-Package -Name 'MailKit' -Source 'nuget.org',但无法找到包源 nuget.org

我尝试从下载中进行本地安装,它只是不断要求依赖包,例如 System.Buffers,然后安装了 Portable.BouncyCastle,但随后遵循 System.Security.Cryptography.Pkcs,最后提示“检测到包的依赖循环”

有谁能够提供安装 MailKit 以便与 Powershell 一起使用的途径,或者提供从 Powershell 发送电子邮件的替代方法?

我只需要从脚本偶尔发送一封通知邮件(每天一封??),但 SendMail 不断发出警告,不应使用它并且已过时。

powershell mailkit

5
推荐指数
1
解决办法
6720
查看次数

Get-WMIObject 卸载与 Get-CIMInstance 卸载

可能是一个愚蠢的问题,但我只是好奇。

为该类下的应用程序调用卸载时Get-CIMInstance和调用卸载时有区别吗?我问的唯一原因是:Get-WMIObjectWin32_Product

  • 使用Get-CIMInstance卸载应用程序时,将使用某些程序重新启动我的计算机。
  • 用于Get-WMIObject卸载应用程序无需重新启动即可运行。

另外,将 a 管道连接Get-Member到任何Get-CIMInstance产品,并没有给我卸载的方法,但它确实使用Get-WMIObject. 开发者就是这么写的吗?虽然,Invoke-CIMMethod -Name Uninstall仍然有效。

获取 CIMInstance/卸载

Get-CIMInstance这是我使用/卸载多个应用程序时所做的操作Invoke-CIMMethod -Name Uninstall

Get-CimInstance -ClassName win32_product | Where-Object Name -Match "Visual" | 
    ForEach-Object -Process { 
        Invoke-CimMethod -InputObject $_ -Name Uninstall 
                            }
#Methods Returned
<#
Get-CimInstance -ClassName win32_product | Where-Object Name -Match "Visual" | Get-Member -MemberType Method


   TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_Product

Name                      MemberType Definition
----                      ---------- ----------
Clone                     Method     System.Object ICloneable.Clone()
Dispose …
Run Code Online (Sandbox Code Playgroud)

powershell wmi cim powershell-5.1

2
推荐指数
1
解决办法
6055
查看次数

发送仅包含一行 robocopy 摘要的电子邮件

有人可以帮我做到这一点,以便只显示电子邮件日志的一行吗?像这样:

Bytes Copied: 27.0 k on Thursday, April 29, 2021 6:15:20 PM
Run Code Online (Sandbox Code Playgroud)

这段代码给了我这个日志:

$Logfile = "C:\Powershell\robocopy.txt"
Clear-Content "C:\Powershell\robocopy.txt" -Force
$EmailFrom = "testing@test.com"
$EmailTo = "test@test.com"
$EmailBody = "completed successfully. See attached log file"
$EmailSubject = "Summary"

$files = @("SCRIPT")

for($i = 0; $i -lt $files.Count; $i++){
    robocopy "C:\$($files[$i])" "C:\NEW TEST\folder\folder\$($files[$i])" /Z /e /xx /W:5 /MAXAGE:2 /NFL /NDL /NJH /nc /np /unilog+:$Logfile
}

Send-MailMessage -To $EmailTo -from $EmailFrom -Subject $EmailSubject -Body $EmailBody -attachment $Logfile -smtpserver 192.168.24 -Port 25


#log give me …
Run Code Online (Sandbox Code Playgroud)

csv powershell split file robocopy

1
推荐指数
1
解决办法
129
查看次数

PowerShell - ActiveDirectory 模块

我需要能够让用户运行需要 ActiveDirectory 模块的脚本。我复制了以下内容:

“C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ ActiveDirectory”,“Microsoft.ActiveDirectory.Management.resources.dll”,“Microsoft.ActiveDirectory.Management.dll”。

该脚本运行两个Get-ADUser命令,一个不带-Server参数,另一个带参数。问题是前者有效,但后者无效。

是否还有其他模块需要复制?

powershell active-directory import-module

0
推荐指数
1
解决办法
1565
查看次数