前スレ
【最強CUI】PowerShell -Part 2
http://mevius.5ch.net/test/read.cgi/tech/1480109402/
探検
PowerShell -Part 3
■ このスレッドは過去ログ倉庫に格納されています
2018/10/09(火) 17:46:48.32ID:G4IJkzod
2018/10/09(火) 18:49:55.04ID:iKGY38Kd
2
2018/10/09(火) 18:50:04.08ID:iKGY38Kd
3
2018/10/09(火) 19:38:35.78ID:cxSCuSqU
>>1乙
相変わらず潔いテンプレやね
相変わらず潔いテンプレやね
2018/10/09(火) 22:51:28.21ID:o672s7jN
全スレの>>1000って何?
恐くて実行できない
恐くて実行できない
2018/10/09(火) 22:55:38.49ID:06HomXwK
>>5
それくらい読めるだろ?
それくらい読めるだろ?
2018/10/09(火) 23:04:36.73ID:VXCTyrZC
@(1..1000; "complete!") -join " "
2018/10/10(水) 00:49:14.45ID:WXc1B6yp
2018/10/10(水) 13:22:57.24ID:mDHS4zfs
$popuko='';do{Write-Host ($pipimi = ($pptp = 'ポ', 'プ', 'テ', 'ピピック')[(Get-Random -Maximum 4)]) -No; $popuko += $pipimi; sleep -m 10}while($popuko -notmatch "ポプテピピック");"`r`n竹書房ゥァア゛ーッ"
2018/10/10(水) 18:48:47.75ID:EqFs8WH9
全部縦書きで出したほうがらしいきもする
2018/10/10(水) 20:26:48.74ID:l/74Fmoa
本日ハマったこと
下記スクリプトがWin10上でのv2環境ではエラーになる。5.1環境ならもちろん問題なし
$URL = "適当なURL"
$Client = New-Object System.Net.WebClient
$URL.split('/')|%{$Fname=$_}
$Of = Join-Path (Split-Path $MyInvocation.MyCommand.Path) -ChildPath $Fname
$Client.DownloadFile($URL, $Of)
さんざん悩んだが旧OSの実機で検証したら問題なし
Win10のv2環境は実機と動作が違うんだね…
下記スクリプトがWin10上でのv2環境ではエラーになる。5.1環境ならもちろん問題なし
$URL = "適当なURL"
$Client = New-Object System.Net.WebClient
$URL.split('/')|%{$Fname=$_}
$Of = Join-Path (Split-Path $MyInvocation.MyCommand.Path) -ChildPath $Fname
$Client.DownloadFile($URL, $Of)
さんざん悩んだが旧OSの実機で検証したら問題なし
Win10のv2環境は実機と動作が違うんだね…
2018/10/10(水) 20:31:23.38ID:DTc0bT+8
WebClientってたしかブラウザ依存じゃなかったか
13デフォルトの名無しさん
2018/10/10(水) 20:49:55.87ID:e4JT9uU/ パワーシェルからプログラムを呼び出してsendkeyでキーを送りたいのですが
呼び出したプログラムをターゲットウィンドウ固定にできないでしょうか
たとえばnotepadを呼び出してキーを送ろうとしても別ウィンドウクリックしてしまうと別ウィンドウにキーが送られてしまいます
呼び出したプログラムをターゲットウィンドウ固定にできないでしょうか
たとえばnotepadを呼び出してキーを送ろうとしても別ウィンドウクリックしてしまうと別ウィンドウにキーが送られてしまいます
2018/10/10(水) 21:00:38.57ID:Vh016oEU
そもそもSendkeyでやることじゃない気がするぞ
15デフォルトの名無しさん
2018/10/10(水) 21:19:54.19ID:e4JT9uU/ んなこときーてねえんだが
2018/10/10(水) 21:26:48.73ID:PNSFIUfW
豹変した!
2018/10/10(水) 21:29:15.76ID:Vh016oEU
豹変してて草
Sendkeyなんていう不安定なものを使う意図が本当に分からん
Sendkeyなんていう不安定なものを使う意図が本当に分からん
2018/10/10(水) 21:33:58.33ID:KxybdFNG
RPAをPowerShellでやろうってことだろ
2018/10/10(水) 21:55:05.74ID:WXc1B6yp
add-type -AssemblyName microsoft.VisualBasic
$process = Get-Process |? {$_.MainWindowTitle -match "(探したいウィンドウタイトル)"}
[Microsoft.VisualBasic.Interaction]::AppActivate($process.ID)
とかやっとけば良くね?
PowerShell Coreじゃ動かんけどね
$process = Get-Process |? {$_.MainWindowTitle -match "(探したいウィンドウタイトル)"}
[Microsoft.VisualBasic.Interaction]::AppActivate($process.ID)
とかやっとけば良くね?
PowerShell Coreじゃ動かんけどね
2018/10/10(水) 21:58:14.41ID:u0QSMs+t
RPAとか言い出すとほぼCoreで動かない物が出来上がりそう
2018/10/10(水) 21:59:28.00ID:EqFs8WH9
vista以降だとタスクバーペカるだけで最前面に来ないんよね
スクリプト手動実行なら動くんやけどさ
スクリプト手動実行なら動くんやけどさ
2018/10/10(水) 22:38:55.64ID:l/74Fmoa
Appactivateって結局そのウィンドウフォアグラウンドになるんでは?
背面のアプリに文字入力したいならいずれにせよSendkeysではムリ、
UWSCとかだとsenfstr(ID
,"文字列")とかで出来る
背面のアプリに文字入力したいならいずれにせよSendkeysではムリ、
UWSCとかだとsenfstr(ID
,"文字列")とかで出来る
2018/10/10(水) 22:40:28.02ID:l/74Fmoa
Powershell用だと UI Autmation Extentionを使えば出来るのかも。試してはいないが
24デフォルトの名無しさん
2018/10/10(水) 22:46:11.90ID:e4JT9uU/ 外部ソフトではなく、ウィンドウズ標準が良いです
なのでvbsでも良いですが
もしくはフォーカスでなくても常に最前面表示とかでもキー送れるのかな
なのでvbsでも良いですが
もしくはフォーカスでなくても常に最前面表示とかでもキー送れるのかな
2018/10/10(水) 23:14:15.15ID:DK5DBWJW
alt+tab
2018/10/11(木) 00:16:15.07ID:fgwsjZre
$code = @'
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
'@
Add-Type $code -Name Utils -Namespace Win32
Add-Type -AssemblyName System.Windows.Forms
if($ps = Get-Process|? {$_.MainWindowTitle -like "*メモ帳"}|Select-Object -First 1){
do{
[System.Windows.Forms.SendKeys]::SendWait("%+{TAB}")
Start-Sleep -m 100
$hwnd = [Win32.Utils]::GetForegroundWindow()
}while($hwnd -ne $ps.MainWindowHandle)
}
こんな感じ?
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
'@
Add-Type $code -Name Utils -Namespace Win32
Add-Type -AssemblyName System.Windows.Forms
if($ps = Get-Process|? {$_.MainWindowTitle -like "*メモ帳"}|Select-Object -First 1){
do{
[System.Windows.Forms.SendKeys]::SendWait("%+{TAB}")
Start-Sleep -m 100
$hwnd = [Win32.Utils]::GetForegroundWindow()
}while($hwnd -ne $ps.MainWindowHandle)
}
こんな感じ?
2018/10/11(木) 16:11:44.71ID:Jfs/paLB
Powershell使いこなすにはC#の知識にも手を出さないとダメかな
.NET使う時点でライブラリの知識いるけど
プロググラム経験無い自分には結構大変だわ
.NET使う時点でライブラリの知識いるけど
プロググラム経験無い自分には結構大変だわ
2018/10/11(木) 17:29:30.69ID:DkVh6b/o
本日ハマり事案
下記スクリプトでは、なぜかRead-Host実行後にGet-Processの結果が表示されてしまう。なーぜだ?
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle
read-host "Enterで終了します"
下記スクリプトでは、なぜかRead-Host実行後にGet-Processの結果が表示されてしまう。なーぜだ?
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle
read-host "Enterで終了します"
2018/10/11(木) 18:43:52.29ID:BCqcg04E
2018/10/11(木) 18:49:10.11ID:DkVh6b/o
>>29
?自分のマシンでは出ないんだよね
Windows10 1803で $PSVersionTable
PSVersion 5.1.17134.228
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.228
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
なぜか
Get-Process の行のラストに |Format-Table
付ければ治るんだけど。それが見つかるまでああでもないこうでもないと2時間くらい……
?自分のマシンでは出ないんだよね
Windows10 1803で $PSVersionTable
PSVersion 5.1.17134.228
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.228
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
なぜか
Get-Process の行のラストに |Format-Table
付ければ治るんだけど。それが見つかるまでああでもないこうでもないと2時間くらい……
2018/10/11(木) 19:21:50.18ID:fgwsjZre
ふつうにOut-Hostでいいんじゃね
2018/10/11(木) 19:22:00.95ID:oXF4megk
セミコロンで繋げると再現する
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle; read-host "Enterで終了します"
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle; read-host "Enterで終了します"
2018/10/11(木) 19:25:28.95ID:oXF4megk
1行目の最後にOut-Hostをはさむと意図通りになる
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle | Out-Host; read-host "Enterで終了します"
なんでかね
Get-process|?{$_.MainWindowHandle -ne 0}|Select-Object ID,MainWindowHandle,Name,MainWindowTitle | Out-Host; read-host "Enterで終了します"
なんでかね
2018/10/11(木) 19:36:48.45ID:BCqcg04E
こっちは1809だが-Version 2 指定してもセミコロンで繋いでも問題が再現しないよ
PowerShell core 6.1でも問題でない
$PSVersionTable
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PowerShell core 6.1でも問題でない
$PSVersionTable
PSVersion 5.1.17763.1
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
2018/10/11(木) 19:38:43.55ID:DkVh6b/o
どうも Select-Object のバグっぽい
Get-ChildItem |Select BaseName でも起きる
Selectが後にパイプの別処理か、標準入力から改行受け取らないとコマンド終了判定できないっぽい
Get-ChildItem |Select BaseName でも起きる
Selectが後にパイプの別処理か、標準入力から改行受け取らないとコマンド終了判定できないっぽい
2018/10/11(木) 19:39:17.99ID:oXF4megk
>>32-33の$PSVersionTable
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
2018/10/11(木) 19:42:49.06ID:DkVh6b/o
2018/10/11(木) 19:45:57.86ID:oXF4megk
-Version 2指定で大丈夫だった。ps5のバグだね
39デフォルトの名無しさん
2018/10/11(木) 19:46:58.10ID:DkVh6b/o2018/10/11(木) 19:48:49.97ID:oXF4megk
2018/10/11(木) 19:50:56.75ID:DkVh6b/o
42デフォルトの名無しさん
2018/10/11(木) 19:53:12.89ID:BCqcg04E 地味に嫌なバグだな
2018/10/11(木) 20:12:08.43ID:e56c6hX7
2018/10/11(木) 20:17:09.29ID:GeJE+9Ij
PSって時々変な挙動する
逐次処理型のコンソールプログラムを直接実行した時はなんの問題もないのに
PSコンソールから同じ物を呼ぶとたまに固まる現象は未だに原因不明
しかも何故かエンターキー押したら進み出すから意味わからん
一見するとそのコンソールプログラムの問題かと思うけど違うプログラムでも発生するからPSが原因なのは確か
逐次処理型のコンソールプログラムを直接実行した時はなんの問題もないのに
PSコンソールから同じ物を呼ぶとたまに固まる現象は未だに原因不明
しかも何故かエンターキー押したら進み出すから意味わからん
一見するとそのコンソールプログラムの問題かと思うけど違うプログラムでも発生するからPSが原因なのは確か
2018/10/12(金) 13:57:06.10ID:Vm21lImY
PowerShell 6.1って既存のPowershell 5.1 Desktop版と共存できる?
できるなら入れてみようかな
できるなら入れてみようかな
2018/10/12(金) 14:49:07.51ID:LyO2C2Nx
別物やから気にせず入れればええ
2018/10/12(金) 17:23:13.60ID:Vm21lImY
>>46
ありがとう、やってみます
ありがとう、やってみます
48デフォルトの名無しさん
2018/10/12(金) 18:16:36.74ID:tfCNN8gU パワーシェルやバッチから汎用資格情報を利用してリモートデスクトップを起動・接続したいのですが、パワーシェルのcuiでパスワード入力が必ず要求されてしまいます
資格情報は正常に登録されています
これはどう回避すれば良いでしょうか?コマンドではなく、セキュリティポリシーの問題ですか?
資格情報は正常に登録されています
これはどう回避すれば良いでしょうか?コマンドではなく、セキュリティポリシーの問題ですか?
2018/10/12(金) 18:50:34.83ID:VxeOAG4j
>>48
RDP接続部分どんなコードなのさ
RDP接続部分どんなコードなのさ
50デフォルトの名無しさん
2018/10/12(金) 18:58:42.49ID:tfCNN8gU cmdkey /generic:ipアドレス /user:ユーザ名 /password : パスワード
のコマンドで資格情報登録後、
mstsc /v ipアドレス
のコマンドでリモデ呼び出しています
リモデ呼び出してcuiでパスワード入力要求されてしまうので、入力すれば起動するような感じになってしまってます
のコマンドで資格情報登録後、
mstsc /v ipアドレス
のコマンドでリモデ呼び出しています
リモデ呼び出してcuiでパスワード入力要求されてしまうので、入力すれば起動するような感じになってしまってます
2018/10/12(金) 19:06:14.75ID:VxeOAG4j
>>50
>CMDKEY [{/add:ターゲット名 | /generic:ターゲット名}] [/smartcard] [/user:ユーザー名 [/pass[:パスワード]] [/delete{:ターゲット名 | /ras}] [/list[:ターゲット名]]
って構文だけど
>password : パスワード
のところでパス登録できてないんじゃね?
詳しくねーけど
>CMDKEY [{/add:ターゲット名 | /generic:ターゲット名}] [/smartcard] [/user:ユーザー名 [/pass[:パスワード]] [/delete{:ターゲット名 | /ras}] [/list[:ターゲット名]]
って構文だけど
>password : パスワード
のところでパス登録できてないんじゃね?
詳しくねーけど
52デフォルトの名無しさん
2018/10/12(金) 19:28:53.77ID:tfCNN8gU あーパスワードじゃなくて、パスか
そこの違いかな
そこの違いかな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【芸能】『バンダイナムコフェス』上海公演 日本人歌手・大槻マキが歌唱中に強制退場… 急に音を止められスタッフらしき人達に [冬月記者★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」★2 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★5 [ぐれ★]
- Amazonブラックフライデー 活況の裏に過酷労働 事故やケガを「自己責任にしないで」配達員ら4年連続抗議 [蚤の市★]
- (*´ω`*)おはようドリーム
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★4 [579392623]
- 佳子様に似てる
- プロレスラーってロープに振ると走って戻ってくるけど
- 【悲報】ルビィちゃん、しばかれる
- 葉山舞鈴とかってvチューバー人生イージーモードすぎじゃね?
