Я пытаюсь создать сценарий powershell (становясь более продвинутым ... JK. Powershell предлагает больше возможностей, чем командный файл, и я хочу использовать некоторые из них.)
Итак, вот мойПакетный скрипт:
:Start
@echo off
set /p password="Password:"
:Nextcomp
set /p computer="Computer name:"
wmic /user:username /password:%password% /node:"%computer%" memorychip get capacity
set /P c=Do you want to get info about another computer (y/n)?
if /I "%c%" EQU "y" goto :Nextcomp
if /I "%c%" EQU "n" goto :End goto :choice
pause
:End
И вот что я нашел: Скрипт Я изменил его для своих нужд, но всякий раз, когда я пытаюсь запустить этот скрипт, я получаю его неправильно - он отображаетмне весь сценарий, и только в конце он спрашивает меня об имени компьютера:
$resultstxt = "C:\Users\user\Documents\results.csv"
Param(
[Parameter(Mandatory=$true, Position=0, HelpMessage="Password?")]
[SecureString]$password
)
$pw = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($password))
$Computer = Read-Host -Prompt 'Computer name'
$out = @()
If (!(Test-Connection -ComputerName $Computer -Count 1 -Quiet)) {
Write-Host "$Computer not on network."
Continue
}
foreach($object in $HostList) {
$RAM = get-wmiobject -user user -password $pw -computername $object.("Computer")-class win32_physicalmemory
$DeviceInfo= @{}
$DeviceInfo.add("RAM", "$([math]::floor($RAM.Capacity/ (1024 * 1024 * 1024 )) )" + " GB" )
$DeviceInfo.add("Computer Name", $vol.SystemName)
$out += New-Object PSObject -Property $DeviceInfo | Select-Object "RAM"
Write-Verbose ($out | Out-String) -Verbose
$out | Export-CSV -FilePath $resultstxt -NoTypeInformation
}
Как вы уже догадались, у меня есть намного больше полей, но онивсе похожи, и я заимствовал из многих источников, но в основном из ссылки «Сценарий».
То, что я хочу:
- Скрыть пароль
- Экспорт информации в CSV, с каждым новым компьютером (см. 3.), добавленным после текущего компьютера (на следующей строке)
- Спросите, хочу ли я получить информацию о другом компьютере, с помощью клавиши «y»для да, "n" для нет.
- заставить скрипт работать
я нашело проблеме 1, но я еще не проверял ее, так что ... сработает?Затем я обнаружил проблему 2, но она отображала бы всю информацию в непростом для чтения формате, а не все, что мне нужно, и все в одной ячейке.Наконец, около 3, я нашел, но это не сработало.Не могу сказать, что выкопал весь Интернет, но я надеюсь, что вы, ребята (и девочки?), Сможете помочь мне разобраться.Не должно быть так сложно решить эти 3 проблемы, ведь это не супер сложный сценарий, верно?Мой текущий скрипт содержит всего 31 строку, включая пробелы.