Старожил
Сообщения: 211
Благодарности: 2
|
Профиль
|
Отправить PM
| Цитировать
Цитата Busla:
$ofs = ''
gwmi wmimonitorid -Namespace root\wmi | Select @{n='UserFriendlyName';e={([string][Char[]]$_.UserFriendlyName).SubString(0,$_.UserFriendlyNameLength)}}, @{n='SerialNumberID';e={[string][Char[]]$_.SerialNumberID}} »
|
Вставил код в скрипт, но не могу вывод настроить, точнее вообще не понимаю, что влияет на расположение ответов.
Код: 
Param( #powershell
[string]$Region
)
$myscripname=$myInvocation.ScriptName
if ($Region -eq "MSK_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=MSK,DC=tsretail,DC=ru"
} elseif ($Region -eq "MSK_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=MSK,DC=tsretail,DC=ru"
} elseif ($Region -eq "VLK_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=VLK,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "VLK_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=VLK,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SMR_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=SMR,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SMR_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=SMR,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "UFA_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=UFA,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "UFA_S") {
$OU = "OU=1C-servers,OU=TT,OU=Computers,OU=UFA,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SPB_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=SPB,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SPB_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=SPB,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "EKT_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=EKT,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "EKT_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=EKT,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "VRN_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=VRN,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "VRN_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=VRN,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "RND_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=RND,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "RND_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=RND,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "NSK_TT") {
$OU = "OU=Workstations,OU=TT,OU=Computers,OU=NSK,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "NSK_S") {
$OU = "OU=Servers,OU=TT,OU=Computers,OU=NSK,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "MSK_B") {
$OU = "OU=MainOffice,OU=Computers,OU=MSK,DC=tsretail,DC=ru"
} elseif ($Region -eq "VLK_B") {
$OU = "OU=Office,OU=Computers,OU=VLK,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SMR_B") {
$OU = "OU=Office,OU=Computers,OU=SMR,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "UFA_B") {
$OU = "OU=Office,OU=Computers,OU=UFA,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "SPB_B") {
$OU = "OU=Office,OU=Computers,OU=SPB,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "EKT_B") {
$OU = "OU=Office,OU=Computers,OU=EKT,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "VRN_B") {
$OU = "OU=Office,OU=Computers,OU=VRN,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "RND_B") {
$OU = "OU=Office,OU=Computers,OU=RND,OU=Regions,DC=tsretail,DC=ru"
} elseif ($Region -eq "NSK_B") {
$OU = "OU=Office,OU=Computers,OU=NSK,OU=Regions,DC=tsretail,DC=ru"
} Else {
Write-Host "Usage: powershell $myscripname <filename with SQL query> [VLK_TT|MSK_TT|SMR_TT|UFA_TT|SPB_TT|EKT_TT|VRN_TT|RND_TT|NSK_TT|VLK_B|MSK_B|SMR_B|UFA_B|SPB_B|EKT_B|VRN_B|RND_B|NSK_B]"
exit
}
#Указываем путь для выгрузки лога
$logdate = $((get-date).tostring("ddMMyy HH_mm"))
$log = "D:\bat\монитор\no_ping1.csv" #Задайте свой путь для логов
$pcs2 = get-adcomputer -Filter {Enabled -eq 'True'} -Properties Name, whenCreated, CanonicalName, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion, LastLogonDate -SearchBase $OU | Select-Object Name, whenCreated, CanonicalName, LastLogonDate, OperatingSystem, OperatingSystemServicePack, OperatingSystemVersion
$counter = $pcs2.count
write-host "Прошлись по $OU. Получили $counter записей" -ForegroundColor Yellow
"Имя ПК;OperatingSystem;доступность;результат проверки;LastLogonDate;CanonicalName;" | Out-File $log -Append -Encoding utf8
ForEach ($pc in $pcs2) {
$Res = @()
$forLog = @()
$name = $pc.name
$logon = $pc.LastLogonDate.tostring("dd.MM.yyyy")
write-host $name -ForegroundColor Green
if ((Test-Connection -Cn $name -Count 1 -quiet -ErrorAction SilentlyContinue) -eq $False) {
Write-host "$name;не пингуется"
$forLog = $name+";"+$pc.OperatingSystem+";"+"не пингуется;"+";$logon"+";"+$pc.CanonicalName
$forLog | Out-File $log -Append -Encoding utf8
} else {
Write-host "$name пингуется, выполняем проверку"
$ofs = ''
gwmi wmimonitorid -Namespace root\wmi -ComputerName $name | Select @{n=$name;e={([string][Char[]]$_.UserFriendlyName).SubString(0,$_.UserFriendlyNameLength)}}, @{n=' ';e={[string][Char[]]$_.SerialNumberID}} | Out-File C:\mon\3.csv -enc utf8 -Append
}
}
Вывод получается в столбик:
Код: 
D877-2
------ -
HP W2072a CNC434P359
а нужно в с строку:
Код: 
D877-2;HP W2072a;CNC434P359;
Возможно export-csv умеет так делать?
|