MS PowerShell: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
V (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
F (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[windows]] | [[windows cleaning]] | [[windows server]] | [[MS PowerShell]] | |||
==Anzeigen der Dienste:== | |||
Get-Service | Get-Service | ||
== Systemkonfiguration== | |||
msconfig | msconfig | ||
=== keine Microsoft Dienste anzeigen=== | |||
Reiter Dienste: Checkbox Alle Microsoft Dienste ausblenden | Reiter Dienste: Checkbox Alle Microsoft Dienste ausblenden | ||
== neustarten == | |||
shutdown /r /t 0 | |||
= Powershell Programmierung = | |||
* Hello World Beispiel | |||
** https://www.pdq.com/blog/writing-your-first-powershell-script/?utm_medium=cpc&utm_source=google_ads&utm_term=&utm_source=adwords&utm_medium=ppc&utm_campaign=S-Global-Generic&hsa_cam=15146127828&hsa_grp=133962886920&hsa_mt=&hsa_src=g&hsa_ad=570924038857&hsa_acc=2336542827&hsa_net=adwords&hsa_kw=&hsa_tgt=dsa-415351799881&hsa_ver=3&gclid=EAIaIQobChMI5KTf3Kii9QIVGs93Ch2UAgIeEAAYASAAEgJVxfD_BwE | |||
* https://devblogs.microsoft.com/scripting/use-powershell-to-interact-with-the-windows-api-part-1/ | |||
* https://administrator.de/forum/fenster-mini-maximieren-batch-befehl-335979.html | |||
* about_Execution_Policies | |||
** https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2 | |||
* Skripte für lokalgeschriebende die Berechtigung erteilen | |||
<source lang=powershell> | |||
Set-ExecutionPolicy RemoteSigned | |||
</source> | |||
== Varianblen == | |||
https://www.windows-faq.de/2017/07/10/windows-umgebungsvariablen-benutzerdefiniert-systemvariablen-bearbeiten/ | |||
<source lang=powershell> | |||
echo $env:computername | |||
</source> | |||
== Simples Beispiel Skript == | |||
<source lang=powershell> | |||
# Hello World - BOF | |||
Write-Host "Hello, World!" | |||
# Hello World - EOF | |||
# Kopiere calc.exe nach test - BOF | |||
$MethodDefinition = @' | |||
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)] | |||
public static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists); | |||
'@ | |||
$Kernel32 = Add-Type -MemberDefinition $MethodDefinition -Name 'Kernel32' -Namespace 'Win32' -PassThru | |||
$Kernel32::CopyFile("$($Env:SystemRoot)\System32\calc.exe", "$($Env:USERPROFILE)\test\calc.exe", $False) | |||
# Kopiere calc.exe nach test - EOF | |||
# Vergrößere und Minimiere das 3CXWin8Phone Fenster - BOF | |||
$ancShowWindowAsync = @' | |||
[DllImport("user32.dll", CharSet = CharSet.Unicode)] | |||
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); | |||
'@ | |||
$minWindow = Add-Type -MemberDefinition $ancShowWindowAsync -Name 'minWindow' -Namespace 'Win32' -PassThru | |||
$procname = '3CXWin8Phone' | |||
echo $procname | |||
Get-Process -Name $procname | |||
(Get-Process -Name $procname).MainWindowHandle | |||
# maximize | |||
[void]$minWindow::ShowWindowAsync((Get-Process -Name $procname).MainWindowHandle, 3) | |||
Start-Sleep -s 1 | |||
# minimize | |||
[void]$minWindow::ShowWindowAsync((Get-Process -Name $procname).MainWindowHandle, 11) | |||
# Vergrößere und Minimiere das 3CXWin8Phone Fenster - EOF | |||
</source> | |||
* Wichtig warum auch immer, die Zeilenumbrüche in den Methoden Definitionen $MethodDefinition und $ancShowWindowAsync sind wichtig | |||
Aktuelle Version vom 11. Januar 2022, 13:58 Uhr
windows | windows cleaning | windows server | MS PowerShell
Anzeigen der Dienste:
Get-Service
Systemkonfiguration
msconfig
keine Microsoft Dienste anzeigen
Reiter Dienste: Checkbox Alle Microsoft Dienste ausblenden
neustarten
shutdown /r /t 0
Powershell Programmierung
- Hello World Beispiel
- https://devblogs.microsoft.com/scripting/use-powershell-to-interact-with-the-windows-api-part-1/
- https://administrator.de/forum/fenster-mini-maximieren-batch-befehl-335979.html
- about_Execution_Policies
- Skripte für lokalgeschriebende die Berechtigung erteilen
Set-ExecutionPolicy RemoteSigned
Varianblen
echo $env:computername
Simples Beispiel Skript
# Hello World - BOF
Write-Host "Hello, World!"
# Hello World - EOF
# Kopiere calc.exe nach test - BOF
$MethodDefinition = @'
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
public static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);
'@
$Kernel32 = Add-Type -MemberDefinition $MethodDefinition -Name 'Kernel32' -Namespace 'Win32' -PassThru
$Kernel32::CopyFile("$($Env:SystemRoot)\System32\calc.exe", "$($Env:USERPROFILE)\test\calc.exe", $False)
# Kopiere calc.exe nach test - EOF
# Vergrößere und Minimiere das 3CXWin8Phone Fenster - BOF
$ancShowWindowAsync = @'
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
'@
$minWindow = Add-Type -MemberDefinition $ancShowWindowAsync -Name 'minWindow' -Namespace 'Win32' -PassThru
$procname = '3CXWin8Phone'
echo $procname
Get-Process -Name $procname
(Get-Process -Name $procname).MainWindowHandle
# maximize
[void]$minWindow::ShowWindowAsync((Get-Process -Name $procname).MainWindowHandle, 3)
Start-Sleep -s 1
# minimize
[void]$minWindow::ShowWindowAsync((Get-Process -Name $procname).MainWindowHandle, 11)
# Vergrößere und Minimiere das 3CXWin8Phone Fenster - EOF
- Wichtig warum auch immer, die Zeilenumbrüche in den Methoden Definitionen $MethodDefinition und $ancShowWindowAsync sind wichtig