我有一个名为Test.psm1的PowerShell模块.我想在变量上设置一个值,并在我调用该模块中的另一个方法时可以访问它.
#Test.psm1
$property = 'Default Value'
function Set-Property([string]$Value)
{
$property = $Value
}
function Get-Property
{
Write-Host $property
}
Export-ModuleMember -Function Set-Property
Export-ModuleMember -Function Get-Property
Run Code Online (Sandbox Code Playgroud)
从PS命令行:
Import-Module Test
Set-Property "New Value"
Get-Property
Run Code Online (Sandbox Code Playgroud)
此时我希望它返回"新值",但它返回"默认值".我试图找到一种方法来设置该变量的范围,但没有任何运气.
我有一些 powershell 可以发送电子邮件:
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)
Run Code Online (Sandbox Code Playgroud)
这在我迄今为止尝试过的每台机器上都完美运行。我有一台机器,我收到此错误消息:
使用“4”个参数调用“发送”时发生异常:“发送邮件失败。” 在 R:\sqlrestore\scripts\Utilities\Check-Lag.ps1:15 char:12 + $smtp.Send <<<< ($emailFrom, $emailTo, $subject, $body) + CategoryInfo : 未指定: (:) [],ParentContainsErrorRecordException + ExcellentQualifiedErrorId:DotNetMethodException
我有一个表格,其中包含dateTime类型的列.我想做一个查询,选择在该日期发生的所有行.基本上,
SELECT * FROM Table
WHERE [timeStamp] = '02-15-2003'
Run Code Online (Sandbox Code Playgroud)
但是那只返回[timeStamp]为'02 -15-2003 00:00:00.000'的行,但实际上我想要那天任何时候的行.