PS> Get-Command -Module PrintManagement
Add-Printer
Add-PrinterDriver
Add-PrinterPort
Get-PrintConfiguration
Get-Printer
Get-PrinterDriver
Get-PrinterPort
Get-PrinterProperty
Get-PrintJob
Read-PrinterNfcTag
Remove-Printer
Remove-PrinterDriver
Remove-PrinterPort
Remove-PrintJob
Rename-Printer
Restart-PrintJob
Resume-PrintJob
Set-PrintConfiguration
Set-Printer
Set-PrinterProperty
Suspend-PrintJob
Write-PrinterNfcTag
[enum]::GetValues([Microsoft.Office.Interop.Word.WdViewType])
Name Value
---- -----
wdNormalView 1
wdOutlineView 2
wdPrintView 3
wdPrintPreview 4
wdMasterView 5
wdWebView 6
wdReadingView 7
wdConflictView 8
# и если обойтись без кавычек, PSReadline ещё и подсказки даст по ctrl+space после ::
[Microsoft.Office.Interop.Word.WdViewType]::wdWebView
Get-Process | Where-Object {$_.ProcessName -eq '1cv8'}
(Get-Process -PID $PID).SessionId
Get-Process | Where-Object {$_.ProcessName -eq '1cv8'} | select si,sessionid
$si = (Get-Process -PID $PID).SessionId; Get-Process | Where-Object {($_.SI -eq $si) -and ($_.ProcessName -eq '1cv8')}
-split '(<desc>.*?</desc>)'
и потом в цикле чистить.Get-Service openvpn | Set-Service -StartupType Automatic
$RegKey =”HKLM:\Software\Microsoft\Windows\CurrentVersion”
Set-ItemProperty -Path $RegKey -Name “ProgramFilesDir” -Value “С:\Program Files”
Set-ItemProperty -Path $RegKey -Name “ProgramFilesDir (x86)” -Value ‘С:\Program Files (x86)’
$SMTPClient.EnableSsl = $true
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Если там к примеру $Title пустой а $Department нет, то так и записать пустой Title и проверить $Departme не превышает ли он 50 символов если нет также записать на свое место, если превышает обрезать до 50 символов и записать в файл
Import-csv ...... |
Foreach-Object {
# Тут обработки, которых я не очень понял
# Я просто обрезаю title до 50
if ($_.Title.Length -gt 50) {
# Вам явно не хватает присвоения результата remove(),
# я сделал по-другому, но суть та же
$_.Title = $_.Title.Substring(0, 50)
}
# вывод объекта дальше по конвейеру
$_
} |
# Тут специально предназначенная для вывода csv команда, а не out-file
Export-csv .....
$c = [string[]](Get-Content .\0.txt)
$sk1 = [System.Collections.Generic.HashSet[string]]::new($c)
$c = [string[]](Get-Content .\1.txt)
$sk2 = [System.Collections.Generic.HashSet[string]]::new($c)
$sk1.IntersectWith($sk2)
$sk1
#классический цикл
foreach ($obj in $list) {
# сделать что-нибудь с переменной $obj
Set-something -name $obj.name -value $obj.value
}
#цикл с использованием pipeline
$list | foreach-object {
# сделать что-нибудь с переменной $_
Set-something -name $_.name -value $_.value
}