【发布时间】:2018-03-07 03:02:00
【问题描述】:
我是 powershell 的新手,所以脚本是根据我的需要编辑的其他工作的混合体。
当它通过 ISE 运行时完美运行,但是当它通过控制台运行或从脚本调用时它会失败并且它创建的文本文件是空的。
尝试了no-exit、-sta等各种参数都没有成功,文件还是空白。
$RemoteComputers = "xxxxxx"
Clear-Host
foreach ($Computer in $RemoteComputers) {
$computerSystem = get-wmiobject Win32_ComputerSystem -Computer $Computer
$computerBIOS = get-wmiobject Win32_BIOS -Computer $Computer
$computerOS = get-wmiobject Win32_OperatingSystem -Computer $Computer
$computerCPU = get-wmiobject Win32_Processor -Computer $Computer
$computerHDDs = Get-WmiObject Win32_LogicalDisk -ComputerName $Computer -Filter drivetype=3
$Hddtest = Get-WmiObject -Class Win32_LogicalDisk -computername $Computer -filter drivetype=3
write-output "System Information for: " $computerSystem.Name
"Manufacturer: " + $computerSystem.Manufacturer
"Model: " + $computerSystem.Model
"Serial Number: " + $computerBIOS.SerialNumber
"CPU: " + $computerCPU.Name
"RAM: " + "{0:N2}" -f ($computerSystem.TotalPhysicalMemory / 1GB) + "GB"
"IP Address: " + $NetworkConfig.IpAddress
"MAC Address:" + $NetworkConfig.MACAddress
"Operating System: " + $computerOS.caption + ", Service Pack: " + $computerOS.ServicePackMajorVersion
"Last Reboot: " + $computerOS.ConvertToDateTime($computerOS.LastBootUpTime)
""
"Installed HDD'S: " + $computerHDDs.Count
foreach ($computerhdd in $computerhdds) {
"HDD Drive Letter: " + $computerhdd.DeviceID
"HDD Capacity: " + "{0:N2}" -f ($computerHDD.Size / 1GB) + "GB"
"Free Space: " + "{0:P2}" -f ($computerHDD.FreeSpace / $computerHDD.Size) +
"Free (" + "{0:N2}" -f ($computerHDD.FreeSpace / 1GB) + "GB)"
"Used Space:" + "{0:N2}" -f ($computerhdd.Size / 1GB - $computerhdd.FreeSpace / 1GB) + "GB"
}
""
"-------------------------------------------------------"
}
Start-Sleep -Milliseconds 1000
$Text = $psise.CurrentPowerShellTab.ConsolePane.text
set-content -path c:\Serverinfo.txt $text
$file = "C:\serverinfo.txt"
$mailsettings = @{
'SmtpServer' = "xxxxx"
'To' = "xxxxx" #, "xxxx"
'From' = " Sxxxxxx>"
'Subject' = "Server System Info"
'Body' = "xxxxxx"
'Attachments' = $file
}
Send-MailMessage @mailsettings
【问题讨论】:
-
$psise.CurrentPowerShellTab.ConsolePane.text
标签: powershell